def __activate(self): if self.__lang is not None: return self.__lang = ScLang(self.__plugin) if not self.__lang.start(): self.__lang = None self.__actions.get_action("ScedSuperColliderMode").set_active( False) return self.__log_panel = LogPanel() panel = self.__window.get_bottom_panel() panel.show() panel.add_item(self.__log_panel, _("SuperCollider output"), gtk.STOCK_EXECUTE) self.__log_panel.show() self.__insert_sc_menu() self.__logger = Logger(self.__lang.stdout, self.__log_panel)
def on_sc_mode_activate(self, action): if action.get_active(): self.__log_panel = LogPanel() panel = self.__window.get_bottom_panel() panel.show() panel.add_item(self.__log_panel, _("SuperCollider output"), gtk.STOCK_EXECUTE) self.__log_panel.show() self.__lang = ScLang(self.__plugin) self.__lang.start() self.__logger = Logger(self.__lang.stdout, self.__log_panel) self.__insert_sc_menu() else: panel = self.__window.get_bottom_panel() panel.remove_item(self.__log_panel) # FIXME: un-record self.__lang.stop() self.__logger.stop() self.__remove_sc_menu()