def edit_control_sequences(self): if self.window.switch_to_tab_by_key("sequences"): return widget = controlseq.SequenceListWidget(self.project) self.window.add_tab(Tab( "Sequences", widget, "sequences", mainmenu_groups=("project",), call_close=True))
def load_report(self, filename=None): if filename is None: filename = self.run_file_dialog("Open report", "open", "Report", "*.kreport") if filename is None: return r = self._catch_io_error(lambda: report.Report(filename)) self.window.add_tab(Tab("Report", report.ReportWidget(self, r)))
def project_config(self): if self.window.switch_to_tab_by_key("project-config"): return widget = ProjectConfig(self) self.window.add_tab(Tab("Project", widget, "project-config", mainmenu_groups=("project",)))
def edit_simrun(self, lineno=None): position = ("", lineno) if lineno is not None else None if self.window.switch_to_tab_by_key("simrun"): return widget = simrun.SimRunConfig(self, self.project) self.window.add_tab( Tab("SimRun", widget, "simrun", mainmenu_groups=("project", ))) widget.editor.jump_to_position(position)
def init_tabs(self): self.window.close_all_tabs(("project", "welcome")) self.neteditor = neteditor.NetEditor(self, self.project) self.neteditor.transition_edit_callback = self.transition_edit self.neteditor.place_edit_callback = self.place_edit self.window.add_tab(Tab("Nets", self.neteditor, "nets", mainmenu_groups=("project", "undo", "screenshot"), has_close_button=False))
def _open_welcome_tab(self): label = gtk.Label() line = "<span size='xx-large'>Kaira</span>\nv{0}\n\n" \ "<a href='http://verif.cs.vsb.cz/kaira'>http://verif.cs.vsb.cz/kaira</a>" \ .format(ptp.get_config("Main", "VERSION")) label.set_markup(line) label.set_justify(gtk.JUSTIFY_CENTER) self.window.add_tab(Tab("Welcome", label, has_close_button=False, mainmenu_groups=("welcome",)))
def place_edit(self, place, lineno=None): position = ("", lineno) if lineno is not None else None if self.window.switch_to_tab_by_key( place, lambda tab: tab.widget.jump_to_position(position)): return generator = self.get_safe_generator() if generator is None: return header = generator.get_place_user_fn_header(place.id) name = "P: {0}".format(place.get_name_or_id()) editor = codeedit.PlaceCodeEditor(self.project, place, header) self.window.add_tab(Tab(name, editor, place, mainmenu_groups=("project",))) editor.jump_to_position(position)
def _cb_show(self): if self.tabview is None: type = self.source.type view = type.get_view(self.source.data, self.app) if view is None: return tabname = "{0} ({1})".format(self.source.type.short_name, os.path.basename(self.source.name)) self.tabview = Tab(tabname, view) # modify close method origin_close = self.tabview.close def new_close(): origin_close() self.tabview = None self.tabview.close = new_close self.app.window.add_tab(self.tabview) else: self.app.window.switch_to_tab(self.tabview)
def transition_edit(self, transition, lineno=None): if transition.collective: self.console_write("A collective transition cannot contain an inner code.\n", "warn") return position = ("", lineno) if lineno is not None else None if self.window.switch_to_tab_by_key( transition, lambda tab: tab.widget.jump_to_position(position)): return name = "T: {0}".format(transition.get_name_or_id()) generator = self.get_safe_generator() if generator is None: return header = generator.get_transition_user_fn_header(transition.id) editor = codeedit.TransitionCodeEditor(self.project, transition, header) self.window.add_tab(Tab(name, editor, transition, mainmenu_groups=("project",))) editor.jump_to_position(position)
def edit_settings(self): if self.window.switch_to_tab_by_key("settings"): return widget = settings.SettingsWidget(self) self.window.add_tab(Tab("Settings", widget, "settings"))
def run_statespace_analysis(self): self.window.add_tab(Tab("Statespace", statespace.StatespaceConfig(self), mainmenu_groups=("project",)))
def run_tool_window(self): tab = Tab("Tools", extensions.OperationManager(self), call_close=True) self.window.add_tab(tab)