Exemple #1
0
    def setup(self):
        # menus must be done first so they can be filled by the
        # plugins in register_plugin
        self.create_menus()

        # widgets
        # Log message display must be imported first
        self.set_splash("Loading message display")
        from workbench.plugins.logmessagedisplay import LogMessageDisplay
        self.messagedisplay = LogMessageDisplay(self)
        # this takes over stdout/stderr
        self.messagedisplay.register_plugin()
        self.widgets.append(self.messagedisplay)

        self.set_splash("Loading Algorithm Selector")
        from workbench.plugins.algorithmselectorwidget import AlgorithmSelector
        self.algorithm_selector = AlgorithmSelector(self)
        self.algorithm_selector.register_plugin()
        self.widgets.append(self.algorithm_selector)

        self.set_splash("Loading Plot Selector")
        from workbench.plugins.plotselectorwidget import PlotSelector
        self.plot_selector = PlotSelector(self)
        self.plot_selector.register_plugin()
        self.widgets.append(self.plot_selector)

        self.set_splash("Loading code editing widget")
        from workbench.plugins.editor import MultiFileEditor
        self.editor = MultiFileEditor(self)
        self.editor.register_plugin()
        self.widgets.append(self.editor)

        self.set_splash("Loading IPython console")
        from workbench.plugins.jupyterconsole import JupyterConsole
        self.ipythonconsole = JupyterConsole(self)
        self.ipythonconsole.register_plugin()
        self.widgets.append(self.ipythonconsole)

        from workbench.plugins.workspacewidget import WorkspaceWidget
        self.workspacewidget = WorkspaceWidget(self)
        self.workspacewidget.register_plugin()
        self.widgets.append(self.workspacewidget)

        # Set up the project, recovery and interface manager objects
        self.project = Project(GlobalFigureManager, find_all_windows_that_are_savable)
        self.project_recovery = ProjectRecovery(globalfiguremanager=GlobalFigureManager,
                                                multifileinterpreter=self.editor.editors,
                                                main_window=self)

        self.interface_executor = PythonCodeExecution()
        self.interface_executor.sig_exec_error.connect(lambda errobj: logger.warning(str(errobj)))
        self.interface_manager = InterfaceManager()

        # uses default configuration as necessary
        self.readSettings(CONF)
        self.config_updated()

        self.setup_layout()
        self.create_actions()
Exemple #2
0
 def setUpClass(cls):
     cls.ws_widget = WorkspaceWidget(QMainWindow())
     mat_ws = CreateSampleWorkspace()
     table_ws = CreateEmptyTableWorkspace()
     group_ws = GroupWorkspaces([mat_ws, table_ws])
     cls.w_spaces = [mat_ws, table_ws, group_ws]
     cls.ws_names = ['MatWS', 'TableWS', 'GroupWS']
     for ws_name, ws in zip(cls.ws_names, cls.w_spaces):
         cls.ws_widget._ads.add(ws_name, ws)
Exemple #3
0
 def setUp(self):
     self.ws_widget = WorkspaceWidget(QMainWindow())
     mat_ws = CreateSampleWorkspace()
     table_ws = CreateEmptyTableWorkspace()
     group_ws = GroupWorkspaces([mat_ws, table_ws])
     single_val_ws = CreateSingleValuedWorkspace(5, 6)
     self.w_spaces = [mat_ws, table_ws, group_ws, single_val_ws]
     self.ws_names = ['MatWS', 'TableWS', 'GroupWS', 'SingleValWS']
     for ws_name, ws in zip(self.ws_names, self.w_spaces):
         self.ws_widget._ads.add(ws_name, ws)
 def setUpClass(cls):
     cls.ws_widget = WorkspaceWidget(QMainWindow())
     cls.ahw_type_name = 'AlgorithmHistoryWindow'
     mat_ws = CreateWorkspace([1], [2])
     table_ws = CreateEmptyTableWorkspace()
     group_ws = GroupWorkspaces([mat_ws, table_ws])
     cls.w_spaces = [mat_ws, table_ws, group_ws]
     cls.ws_names = ['MatWS', 'TableWS', 'GroupWS']
     for ws_name, ws in zip(cls.ws_names, cls.w_spaces):
         cls.ws_widget._ads.add(ws_name, ws)
Exemple #5
0
    def setup(self):
        # menus must be done first so they can be filled by the
        # plugins in register_plugin
        self.create_menus()

        # widgets
        # Log message display must be imported first
        self.set_splash("Loading message display")
        from workbench.plugins.logmessagedisplay import LogMessageDisplay
        self.messagedisplay = LogMessageDisplay(self)
        # this takes over stdout/stderr
        self.messagedisplay.register_plugin()
        self.widgets.append(self.messagedisplay)

        self.set_splash("Loading Algorithm Selector")
        from workbench.plugins.algorithmselectorwidget import AlgorithmSelector
        self.algorithm_selector = AlgorithmSelector(self)
        self.algorithm_selector.register_plugin()
        self.widgets.append(self.algorithm_selector)

        self.set_splash("Loading Plot Selector")
        from workbench.plugins.plotselectorwidget import PlotSelector
        self.plot_selector = PlotSelector(self)
        self.plot_selector.register_plugin()
        self.widgets.append(self.plot_selector)

        self.set_splash("Loading code editing widget")
        from workbench.plugins.editor import MultiFileEditor
        self.editor = MultiFileEditor(self)
        self.editor.register_plugin()
        self.widgets.append(self.editor)

        self.set_splash("Loading IPython console")
        from workbench.plugins.jupyterconsole import JupyterConsole
        self.ipythonconsole = JupyterConsole(self)
        self.ipythonconsole.register_plugin()
        self.widgets.append(self.ipythonconsole)

        from workbench.plugins.workspacewidget import WorkspaceWidget
        self.workspacewidget = WorkspaceWidget(self)
        self.workspacewidget.register_plugin()
        self.widgets.append(self.workspacewidget)

        # Set up the project object
        self.project = Project(GlobalFigureManager,
                               find_all_windows_that_are_savable)

        # uses default configuration as necessary
        self.readSettings(CONF)

        self.setup_layout()
        self.create_actions()
        self.populate_menus()
Exemple #6
0
    def setup(self):
        # menus must be done first so they can be filled by the
        # plugins in register_plugin
        self.create_menus()

        # widgets
        # Log message display must be imported first
        self.set_splash("Loading message display")
        from workbench.plugins.logmessagedisplay import LogMessageDisplay
        self.messagedisplay = LogMessageDisplay(self)
        # this takes over stdout/stderr
        self.messagedisplay.register_plugin()
        self.widgets.append(self.messagedisplay)

        self.set_splash("Loading Algorithm Selector")
        from workbench.plugins.algorithmselectorwidget import AlgorithmSelector
        self.algorithm_selector = AlgorithmSelector(self)
        self.algorithm_selector.register_plugin()
        self.widgets.append(self.algorithm_selector)

        self.set_splash("Loading Plot Selector")
        from workbench.plugins.plotselectorwidget import PlotSelector
        self.plot_selector = PlotSelector(self)
        self.plot_selector.register_plugin()
        self.widgets.append(self.plot_selector)

        self.set_splash("Loading code editing widget")
        from workbench.plugins.editor import MultiFileEditor
        self.editor = MultiFileEditor(self)
        self.editor.register_plugin()
        self.widgets.append(self.editor)

        self.set_splash("Loading IPython console")
        from workbench.plugins.jupyterconsole import JupyterConsole
        self.ipythonconsole = JupyterConsole(self)
        self.ipythonconsole.register_plugin()
        self.widgets.append(self.ipythonconsole)

        from workbench.plugins.workspacewidget import WorkspaceWidget
        self.workspacewidget = WorkspaceWidget(self)
        self.workspacewidget.register_plugin()
        self.widgets.append(self.workspacewidget)

        self.setup_layout()
        self.create_actions()
        self.populate_menus()
Exemple #7
0
 def setUp(self):
     self.ws_widget = WorkspaceWidget(QMainWindow())
     mat_ws = CreateSampleWorkspace()
     table_ws = CreateEmptyTableWorkspace()
     group_ws = GroupWorkspaces([mat_ws, table_ws])
     single_val_ws = CreateSingleValuedWorkspace(5, 6)
     self.w_spaces = [mat_ws, table_ws, group_ws, single_val_ws]
     self.ws_names = ['MatWS', 'TableWS', 'GroupWS', 'SingleValWS']
     # create md workspace
     md_ws = CreateMDHistoWorkspace(SignalInput='1,2,3,4,2,1',
                                    ErrorInput='1,1,1,1,1,1',
                                    Dimensionality=3,
                                    Extents='-1,1,-1,1,0.5,6.5',
                                    NumberOfBins='1,1,6',
                                    Names='x,y,|Q|',
                                    Units='mm,km,AA^-1',
                                    OutputWorkspace='MDHistoWS1D')
     # self.w_spaces = [mat_ws, table_ws, group_ws, single_val_ws, md_ws]
     # self.ws_names = ['MatWS', 'TableWS', 'GroupWS', 'SingleValWS', 'MDHistoWS1D']
     for ws_name, ws in zip(self.ws_names, self.w_spaces):
         self.ws_widget._ads.add(ws_name, ws)
     self.ws_names.append(md_ws.name())
     self.w_spaces.append(md_ws)
    def setUpClass(cls):
        cls.ws_widget = WorkspaceWidget(QMainWindow())
        mat_ws = CreateSampleWorkspace()
        table_ws = CreateEmptyTableWorkspace()
        group_ws = GroupWorkspaces([mat_ws, table_ws])
        single_val_ws = CreateSingleValuedWorkspace(5, 6)

        # Create ragged workspace
        ws2d_ragged = CreateWorkspace(DataX=[10, 20, 30],
                                      DataY=[1, 2, 3],
                                      NSpec=1,
                                      OutputWorkspace='Ragged')
        temp = CreateWorkspace(DataX=[15, 25, 35, 45],
                               DataY=[1, 2, 3, 4],
                               NSpec=1)
        ConjoinWorkspaces(ws2d_ragged, temp, CheckOverlapping=False)
        ws2d_ragged = AnalysisDataService.retrieve('Ragged')

        cls.w_spaces = [mat_ws, table_ws, group_ws, single_val_ws]
        cls.ws_names = ['MatWS', 'TableWS', 'GroupWS', 'SingleValWS']
        # create md workspace
        md_ws = CreateMDHistoWorkspace(SignalInput='1,2,3,4,2,1',
                                       ErrorInput='1,1,1,1,1,1',
                                       Dimensionality=3,
                                       Extents='-1,1,-1,1,0.5,6.5',
                                       NumberOfBins='1,1,6',
                                       Names='x,y,|Q|',
                                       Units='mm,km,AA^-1',
                                       OutputWorkspace='MDHistoWS1D')
        # self.w_spaces = [mat_ws, table_ws, group_ws, single_val_ws, md_ws]
        # self.ws_names = ['MatWS', 'TableWS', 'GroupWS', 'SingleValWS', 'MDHistoWS1D']
        for ws_name, ws in zip(cls.ws_names, cls.w_spaces):
            cls.ws_widget._ads.add(ws_name, ws)
        cls.ws_names.append(md_ws.name())
        cls.w_spaces.append(md_ws)
        cls.ws_names.append(ws2d_ragged.name())
        cls.w_spaces.append(ws2d_ragged)
Exemple #9
0
    def setup(self):
        # menus must be done first so they can be filled by the
        # plugins in register_plugin
        self.create_menus()

        # widgets
        # Log message display must be imported first
        self.set_splash("Loading message display")
        from workbench.plugins.logmessagedisplay import LogMessageDisplay
        self.messagedisplay = LogMessageDisplay(self)
        # this takes over stdout/stderr
        self.messagedisplay.register_plugin()
        self.widgets.append(self.messagedisplay)

        self.set_splash("Loading Algorithm Selector")
        from workbench.plugins.algorithmselectorwidget import AlgorithmSelector
        self.algorithm_selector = AlgorithmSelector(self)
        self.algorithm_selector.register_plugin()
        self.widgets.append(self.algorithm_selector)

        self.set_splash("Loading Plot Selector")
        from workbench.plugins.plotselectorwidget import PlotSelector
        self.plot_selector = PlotSelector(self)
        self.plot_selector.register_plugin()
        self.widgets.append(self.plot_selector)

        self.set_splash("Loading code editing widget")
        from workbench.plugins.editor import MultiFileEditor
        self.editor = MultiFileEditor(self)
        self.messagedisplay.display.setActiveScript(
            self.editor.editors.current_tab_filename)
        self.editor.register_plugin()
        self.widgets.append(self.editor)
        self.editor.editors.sig_code_exec_start.connect(
            self.messagedisplay.script_executing)
        self.editor.editors.sig_file_name_changed.connect(
            self.messagedisplay.file_name_modified)
        self.editor.editors.sig_current_tab_changed.connect(
            self.messagedisplay.current_tab_changed)

        self.set_splash("Loading IPython console")
        from workbench.plugins.jupyterconsole import JupyterConsole
        self.ipythonconsole = JupyterConsole(self)
        self.ipythonconsole.register_plugin()
        self.widgets.append(self.ipythonconsole)

        from workbench.plugins.workspacewidget import WorkspaceWidget
        self.workspacewidget = WorkspaceWidget(self)
        self.workspacewidget.register_plugin()
        prompt = CONF.get('project/prompt_on_deleting_workspace')
        self.workspacewidget.workspacewidget.enableDeletePrompt(bool(prompt))
        self.widgets.append(self.workspacewidget)

        # set the link between the algorithm and workspace widget
        self.algorithm_selector.algorithm_selector.set_get_selected_workspace_fn(
            self.workspacewidget.workspacewidget.getSelectedWorkspaceNames)

        # Set up the project, recovery and interface manager objects
        self.project = Project(GlobalFigureManager,
                               find_all_windows_that_are_savable)
        self.project_recovery = ProjectRecovery(
            globalfiguremanager=GlobalFigureManager,
            multifileinterpreter=self.editor.editors,
            main_window=self)

        self.interface_executor = PythonCodeExecution()
        self.interface_executor.sig_exec_error.connect(
            lambda errobj: logger.warning(str(errobj)))
        self.interface_manager = InterfaceManager()

        # uses default configuration as necessary
        self.setup_default_layouts()
        self.create_actions()
        self.readSettings(CONF)
        self.config_updated()