示例#1
0
    def __init__(self, parent, plugin_manager, **kwargs):
        wx.Panel.__init__(self, parent, **kwargs)

        self.stage_choosers = []
        for stage_name in stages.stages:
            stage_display_name = stages.get_stage_display_name(stage_name)
            method_names = plugin_manager.get_plugins_by_stage(
                    stage_name).keys()
            self.stage_choosers.append(StageCtrl(self, stage_name,
                                                        stage_display_name,
                                                        sorted(method_names)))
        self.stage_choosers.append(AuxiliaryCtrl(self, 'auxiliary',
                stages.get_stage_display_name('auxiliary')))
        
        # issued when user chooses a stage to adjust its parameters, not when
        # user clicks on results tab.
        pub.subscribe(self.select_stage, "STAGE_CHOSEN")

        sizer = wx.BoxSizer(orient=wx.VERTICAL)
        for stage_chooser in self.stage_choosers:
            sizer.Add(stage_chooser, flag=wx.EXPAND)

        self.SetSizer(sizer)

        pub.subscribe(self._results_notebook_page_changed, 
                      topic='RESULTS_NOTEBOOK_PAGE_CHANGED')

        self._current_stage = stages.stages[0]
示例#2
0
 def _stage_chosen(self, message):
     stage_name = message.data
     if stage_name == "auxiliary":
         for stage in self.control_panels.values():
             for panel in stage.values():
                 panel.Show(False)
         for panel in self.auxiliary_control_panels.values():
             panel.Show(panel.plugin.runs_with_stage == stage_name)
         self.run_stage_button.SetLabel(pt.RUN_AUXILIARY_PLUGINS)
         self.do_layout()
     else:
         for panel in self.auxiliary_control_panels.values():
             panel.Show(panel.plugin.runs_with_stage == stage_name)
         method_name = self.get_current_methods_used()[stage_name]
         self._set_method(stage_name=stage_name, method_name=method_name)
         self.run_stage_button.SetLabel(pt.RUN_STAGE % stages.get_stage_display_name(stage_name))
         self.do_layout()