class RunTerminalPlugin(gedit.Plugin): WINDOW_DATA_KEY = "RunTerminalPluginWindowData" def __init__(self): gedit.Plugin.__init__(self) self._manager = None self._manager_default_size = None ToolLibrary().set_locations(os.path.join(self.get_data_dir(), "tools")) def activate(self, window): helper = TerminalWindowHelper(self, window) window.set_data(self.WINDOW_DATA_KEY, helper) window.set_data("RunExternalToolsPluginWindowData", helper.dialog) def deactivate(self, window): window.get_data(self.WINDOW_DATA_KEY).deactivate() window.set_data(self.WINDOW_DATA_KEY, None) # def update_ui(self, window): # window.get_data(self.WINDOW_DATA_KEY).update_ui() def create_configure_dialog(self): return self.open_dialog() def open_dialog(self): if not self._manager: self._manager = Manager(self.get_data_dir()) if self._manager_default_size: self._manager.dialog.set_default_size(*self._manager_default_size) self._manager.dialog.connect("destroy", self.on_manager_destroy) window = gedit.app_get_default().get_active_window() self._manager.run(window) return self._manager.dialog def update_manager(self, tool): if not self._manager: return self._manager.tool_changed(tool, True) def on_manager_destroy(self, dialog): self._manager_default_size = [dialog.allocation.width, dialog.allocation.height] self._manager = None
def open_dialog(self): if not self._manager: self._manager = Manager(self.get_data_dir()) if self._manager_default_size: self._manager.dialog.set_default_size(*self._manager_default_size) self._manager.dialog.connect("destroy", self.on_manager_destroy) window = gedit.app_get_default().get_active_window() self._manager.run(window) return self._manager.dialog