Ejemplo n.º 1
0
 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))
Ejemplo n.º 2
0
 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)))
Ejemplo n.º 3
0
 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",)))
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
 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))
Ejemplo n.º 6
0
 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",)))
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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)
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
 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"))
Ejemplo n.º 11
0
 def run_statespace_analysis(self):
     self.window.add_tab(Tab("Statespace",
                             statespace.StatespaceConfig(self),
                             mainmenu_groups=("project",)))
Ejemplo n.º 12
0
 def run_tool_window(self):
     tab = Tab("Tools",
               extensions.OperationManager(self),
               call_close=True)
     self.window.add_tab(tab)