コード例 #1
0
    def _task_extensions_default(self):
        def efactory():
            return SMenu(id='laser.menu', name='Laser')

        actions = [
            SchemaAddition(id='Laser',
                           factory=efactory,
                           path='MenuBar',
                           before='tools.menu',
                           after='view.menu')
        ]

        exts = [TaskExtension(actions=actions)]

        actions = [
            SchemaAddition(factory=ShowMotionConfigureAction,
                           path='MenuBar/laser.menu')
        ]
        lactions = []
        for f in list_directory2(paths.pattern_dir,
                                 extension='.lp',
                                 remove_extension=True):
            actions.append(
                SchemaAddition(id='pattern.{}'.format(f),
                               factory=pattern_action(f, self.application,
                                                      self.name),
                               path='MenuBar/laser.menu/patterns.menu'))
            lactions.append(
                SchemaAddition(id='pattern.lase.{}'.format(f),
                               factory=pattern_action(f,
                                                      self.application,
                                                      self.name,
                                                      lase=True),
                               path='MenuBar/laser.menu/patterns.lase.menu'))

        if actions:

            actions.insert(
                0,
                SchemaAddition(id='patterns.menu',
                               factory=lambda: SMenu(name='Execute Patterns',
                                                     id='patterns.menu'),
                               path='MenuBar/laser.menu'))

            lactions.insert(
                0,
                SchemaAddition(
                    id='patterns.lase.menu',
                    factory=lambda: SMenu(name='Execute and Lase Patterns',
                                          id='patterns.lase.menu'),
                    path='MenuBar/laser.menu'))

            exts.append(TaskExtension(actions=lactions))
            exts.append(TaskExtension(actions=actions))
        else:
            self.warning('no patterns scripts located in "{}"'.format(
                paths.pattern_dir))

        return exts
コード例 #2
0
    def _menu_bar_factory(self, menus=None):
        if not menus:
            menus = []

        edit_menu = SMenu(GenericFindAction(), id='Edit', name='&Edit')

        # entry_menu = SMenu(
        #     id='entry.menu',
        #     name='&Entry')

        file_menu = SMenu(SGroup(id='Open'),
                          SGroup(id='New'),
                          SGroup(GenericSaveAsAction(),
                                 GenericSaveAction(),
                                 id='Save'),
                          SGroup(),
                          id='file.menu',
                          name='File')

        tools_menu = SMenu(CopyPreferencesAction(),
                           id='tools.menu',
                           name='Tools')

        window_menu = SMenu(
            WindowGroup(),
            Group(CloseAction(), CloseOthersAction(), id='Close'),
            OpenAdditionalWindow(),
            Group(MinimizeAction(), ResetLayoutAction(), PositionAction()),

            # SplitEditorAction(),
            id='window.menu',
            name='Window')
        help_menu = SMenu(
            IssueAction(),
            NoteAction(),
            AboutAction(),
            DocumentationAction(),
            ChangeLogAction(),
            RestartAction(),
            KeyBindingsAction(),
            SwitchUserAction(),
            StartupTestsAction(),
            # DemoAction(),
            id='help.menu',
            name='Help')
        mb = SMenuBar(file_menu, edit_menu, self._view_menu(), tools_menu,
                      window_menu, help_menu)
        if menus:
            for mi in reversed(menus):
                mb.items.insert(4, mi)

        return mb
コード例 #3
0
    def _hops_ext(self):
        def hop_action(name):
            def func():
                return HopsAction(name=name, hop_name=name)

            return func

        actions = []

        for f in glob_list_directory(paths.hops_dir, extension='.yaml', remove_extension=True):
            actions.append(SchemaAddition(id='procedure.{}'.format(f),
                                          factory=hop_action(f),
                                          path='MenuBar/procedures.menu/hops.group'))

        if actions:
            m = SchemaAddition(id='procedures.menu',
                               before='window.menu',
                               after='tools.menu',
                               factory=lambda: SMenu(name='Procedures', id='procedures.menu'),
                               path='MenuBar')
            g = SchemaAddition(id='hops.group',
                               factory=lambda: SGroup(name='Hops', id='hops.group'),
                               path='MenuBar/procedures.menu')
            actions.insert(0, g)
            actions.insert(0, m)

            ext = TaskExtension(actions=actions)
            return ext
コード例 #4
0
    def _scripts_ext(self):
        def script_action(name):
            def func():
                p = os.path.join(paths.spectrometer_scripts_dir, '{}.py'.format(name))
                return SpectrometerScriptAction(name=name, script_path=p)

            return func

        actions = []

        for f in glob_list_directory(paths.spectrometer_scripts_dir, extension='.py', remove_extension=True):
            actions.append(SchemaAddition(id='spectrometer_script.{}'.format(f),
                                          factory=script_action(f),
                                          path='MenuBar/procedures.menu/spectrometer_script.group'))
        if actions:
            m = SchemaAddition(id='procedures.menu',
                               before='window.menu',
                               after='tools.menu',
                               factory=lambda: SMenu(name='Procedures', id='procedures.menu'),
                               path='MenuBar')
            g = SchemaAddition(id='spectrometer_script.group',
                               factory=lambda: SGroup(name='Spectrometer',
                                                      id='spectrometer_script.group'),
                               path='MenuBar/procedures.menu')

            actions.insert(0, g)
            actions.insert(0, m)

            ext = TaskExtension(actions=actions)
            return ext
コード例 #5
0
ファイル: base.py プロジェクト: stephen-e-cox/pychron
 def _task_extensions_default(self):
     return [
         TaskExtension(actions=[
             SchemaAddition(id='spectrometer.menu',
                            factory=lambda: SMenu(id='spectrometer.menu',
                                                  name='Spectrometer'),
                            path='MenuBar',
                            before='window.menu',
                            after='tools.menu'),
             SchemaAddition(id='send_config',
                            factory=SendConfigAction,
                            path='MenuBar/spectrometer.menu'),
             SchemaAddition(id='view_readout',
                            factory=ViewReadoutAction,
                            path='MenuBar/spectrometer.menu'),
             SchemaAddition(id='edit_gains',
                            factory=EditGainsAction,
                            path='MenuBar/spectrometer.menu'),
             SchemaAddition(id='relood_table',
                            factory=ReloadMFTableAction,
                            path='MenuBar/spectrometer.menu'),
             SchemaAddition(id='mftable',
                            factory=MagnetFieldTableAction,
                            path='MenuBar/spectrometer.menu'),
             SchemaAddition(id='mftable_history',
                            factory=MagnetFieldTableHistoryAction,
                            path='MenuBar/spectrometer.menu')
         ]),
         # SchemaAddition(id='db_mftable_history',
         # factory=DBMagnetFieldTableHistoryAction,
         #                path='MenuBar/spectrometer.menu')]),
         TaskExtension(task_id='pychron.spectrometer.scan_inspector',
                       actions=[
                           SchemaAddition(id='toggle_spectrometer_task',
                                          factory=ToggleSpectrometerTask,
                                          path='MenuBar/spectrometer.menu')
                       ]),
         TaskExtension(task_id='pychron.spectrometer',
                       actions=[
                           SchemaAddition(id='toggle_spectrometer_task',
                                          factory=ToggleSpectrometerTask,
                                          path='MenuBar/spectrometer.menu'),
                           SchemaAddition(id='peak_center',
                                          factory=PeakCenterAction,
                                          path='MenuBar/spectrometer.menu'),
                           SchemaAddition(id='define_peak_center',
                                          factory=DefinePeakCenterAction,
                                          path='MenuBar/spectrometer.menu'),
                           SchemaAddition(id='coincidence',
                                          factory=CoincidenceScanAction,
                                          path='MenuBar/spectrometer.menu'),
                           SchemaAddition(
                               id='parameters',
                               factory=SpectrometerParametersAction,
                               path='MenuBar/spectrometer.menu')
                       ])
     ]
コード例 #6
0
ファイル: laser_plugin.py プロジェクト: ael-noblegas/pychron
    def _setup_pattern_extensions(self, exts, actions=None):
        if actions is None:
            actions = []

        lactions = []
        for f in glob_list_directory(paths.pattern_dir,
                                     extension='.lp',
                                     remove_extension=True):
            actions.append(
                SchemaAddition(id='pattern.{}'.format(f),
                               factory=pattern_action(f, self.application,
                                                      self.name),
                               path='MenuBar/laser.menu/patterns.menu'))
            lactions.append(
                SchemaAddition(id='pattern.lase.{}'.format(f),
                               factory=pattern_action(f,
                                                      self.application,
                                                      self.name,
                                                      lase=True),
                               path='MenuBar/laser.menu/patterns.lase.menu'))

        if actions:

            actions.insert(
                0,
                SchemaAddition(id='patterns.menu',
                               factory=lambda: SMenu(name='Execute Patterns',
                                                     id='patterns.menu'),
                               path='MenuBar/laser.menu'))

            lactions.insert(
                0,
                SchemaAddition(
                    id='patterns.lase.menu',
                    factory=lambda: SMenu(name='Execute and Lase Patterns',
                                          id='patterns.lase.menu'),
                    path='MenuBar/laser.menu'))

            exts.append(TaskExtension(actions=lactions))
            exts.append(TaskExtension(actions=actions))
        else:
            self.warning('no patterns scripts located in "{}"'.format(
                paths.pattern_dir))
コード例 #7
0
    def _window_menu(self):
        window_menu = SMenu(Group(CloseAction(),
                                  CloseOthersAction(),
                                  id='Close'),
                            Group(MinimizeAction(), ResetLayoutAction(),
                                  PositionAction()),
                            WindowGroup(),
                            id='Window',
                            name='Window')

        return window_menu
コード例 #8
0
    def _task_extensions_default(self):
        ex = [
            TaskExtension(actions=[
                SchemaAddition(id='refresh_canvas',
                               factory=RefreshCanvasAction,
                               path='MenuBar/tools.menu'),
                SchemaAddition(id='stopwatch',
                               factory=StopWatchAction,
                               path='MenuBar/tools.menu')
            ])
        ]

        if self.application.get_plugin('pychron.pyscript.plugin'):

            actions = []
            for f in glob_list_directory(paths.procedures_dir,
                                         extension='.py',
                                         remove_extension=True):
                actions.append(
                    SchemaAddition(
                        id='procedure.{}'.format(f),
                        factory=procedure_action(f, self.application),
                        path='MenuBar/procedures.menu/extraction_line.group'))

            if actions:
                actions.insert(
                    0,
                    SchemaAddition(id='procedures.menu',
                                   before='window.menu',
                                   after='tools.menu',
                                   factory=lambda: SMenu(name='Procedures',
                                                         id='procedures.menu'),
                                   path='MenuBar'))

                actions.insert(
                    1,
                    SchemaAddition(
                        id='extraction_line.group',
                        factory=lambda: SGroup(name='ExtractionLine',
                                               id='extraction_line.group'),
                        path='MenuBar/procedures.menu'))
                ex.append(TaskExtension(actions=actions))
            else:
                self.warning('no procedure scripts located in "{}"'.format(
                    paths.procedures_dir))
        return ex
コード例 #9
0
    def _my_task_extensions_default(self):
        def _replace_action():
            return TaskAction(name='Replace', method='replace')

        exts = [
            TaskExtension(
                task_id='pychron.pyscript',
                actions=[
                    SchemaAddition(
                        id='Edit',
                        factory=lambda: SMenu(id='Edit', name='Edit'),
                        path='MenuBar',
                    ),
                    SchemaAddition(id='replace',
                                   path='MenuBar/Edit',
                                   factory=_replace_action)
                ]),
            TaskExtension(
                #                              task_id='pychron.pyscript',
                actions=[
                    #                                        SchemaAddition(
                    #                                                       id='Open',
                    #                                                       factory=lambda:SMenu(id='Open', name='Open'),
                    #                                                       path='MenuBar/File',
                    # #                                                       before='find_bake'
                    #                                                       ),
                    #                                        SchemaAddition(
                    #                                                       id='New',
                    #                                                       factory=lambda:SMenu(id='New', name='New'),
                    #                                                       path='MenuBar/File',
                    # #                                                       before='find_bake'
                    #                                                       ),
                    SchemaAddition(id='open_script',
                                   path='MenuBar/File/Open',
                                   factory=OpenPyScriptAction),
                    SchemaAddition(id='new_script',
                                   path='MenuBar/File/New',
                                   factory=NewPyScriptAction),
                    #                                       SchemaAddition(id='replace',
                    #                                                    path='MenuBar/Edit',
                    #                                                    factory=_replace_action
                    #                                                    )
                ])
        ]
        return exts
コード例 #10
0
ファイル: entry_plugin.py プロジェクト: MNGRLPychron/pychron
    def _task_extensions_default(self):
        extensions = [
            TaskExtension(actions=actions, task_id=eid)
            for eid, actions in self._get_extensions()
        ]
        additions = [
            SchemaAddition(
                id='entry',
                factory=lambda: SMenu(id='entry.menu', name='Entry'),
                path='MenuBar',
                before='tools.menu',
                after='view.menu')
        ]

        eflag = False
        eeflag = False
        for eid, actions in self._get_extensions():
            # print 'b', eid, len(actions)
            for ai in actions:
                # print 'c',ai,ai.id
                if not eflag and ai.id.startswith('pychron.entry1'):
                    eflag = True
                    additions.append(
                        SchemaAddition(
                            id='entry_group',
                            factory=lambda: SGroup(id='entry.group'),
                            path='MenuBar/entry.menu'))
                    additions.append(
                        SchemaAddition(
                            id='entry_sample_group',
                            absolute_position='first',
                            factory=lambda: SGroup(id='entry.sample.group'),
                            path='MenuBar/entry.menu'))
                elif not eeflag and ai.id.startswith('pychron.entry2'):
                    eeflag = True
                    additions.append(
                        SchemaAddition(
                            id='entry_group2',
                            factory=lambda: SGroup(id='entry.group2'),
                            after='entry_group',
                            path='MenuBar/entry.menu'), )

        extensions.append(TaskExtension(actions=additions))

        return extensions
コード例 #11
0
    def _file_menu(self):
        file_menu = SMenu(
            SGroup(id='Open'),
            SGroup(id='New'),
            SGroup(GenericSaveAsAction(), GenericSaveAction(), id='Save'),
            SGroup(),
            #                         SMenu(id='Open', name='Open',),
            #                         SMenu(id='New', name='New'),

            #                         Group(
            #                                GenericSaveAsAction(),
            #                                GenericSaveAction(),
            #                                id='Save'
            #                                ),
            #
            #                           SGroup(),
            #
            #                                 ),
            id='File',
            name='File')
        return file_menu
コード例 #12
0
 def _my_task_extensions_default(self):
     return [
         TaskExtension(
             task_id='pychron.spectrometer',
             actions=[
                 SchemaAddition(
                     id='Measure',
                     factory=lambda: SMenu(id='Measure', name='Measure'),
                     path='MenuBar',
                     before='Window',
                     after='Tools'),
                 SchemaAddition(id='peak_center',
                                factory=PeakCenterAction,
                                path='MenuBar/Measure'),
                 SchemaAddition(id='coincidence',
                                factory=CoincidenceScanAction,
                                path='MenuBar/Measure'),
                 SchemaAddition(id='parameters',
                                factory=SpectrometerParametersAction,
                                path='MenuBar/Edit'),
             ])
     ]
コード例 #13
0
class WellpyTask(Task):
    id = 'wellpy.task'
    point_id_entry = Str
    point_ids = List
    filtered_point_ids = Property(depends_on='point_id_entry')

    selected_point_id = Instance(PointIDRecord)
    menu_bar = SMenuBar(SMenu(TaskAction(name='Open...', method='open',
                                         accelerator='Ctrl+O'),
                              TaskAction(name='Save', method='save',
                                         accelerator='Ctrl+S'),
                              id='File', name='&File'))
    model = Instance(WellpyModel, ())
    db = Instance(DatabaseConnector, ())

    # def __init__(self, *args, **kw):
    #     super(WellpyTask, self).__init__(*args, **kw)
    #     self._db = DatabaseConnector()

    def activated(self):

        pids = self.db.get_point_ids()
        if DATABSE_DEBUG:
            pids = ['A', 'B', 'C']

        self.point_ids = [PointIDRecord(name=p) for p in pids]

    def create_central_pane(self):
        return WellCentralPane(model=self)

    def create_dock_panes(self):
        return [WellPane(model=self)]

    def _get_filtered_point_ids(self):
        return [p for p in self.point_ids if p.name.startswith(self.point_id_entry)]

    def _default_layout_default(self):
        return TaskLayout(left=PaneItem('wellpy.well.pane'))
コード例 #14
0
    def _task_extensions_default(self):
        def _replace_action():
            return TaskAction(name='Replace', method='replace')

        exts = [
            TaskExtension(
                task_id='pychron.pyscript.task',
                actions=[
                    SchemaAddition(
                        id='Edit',
                        factory=lambda: SMenu(id='Edit', name='Edit'),
                        path='MenuBar'),
                    SchemaAddition(id='replace',
                                   path='MenuBar/Edit',
                                   factory=_replace_action)
                ]),
            TaskExtension(actions=[
                SchemaAddition(id='open_hops_editor',
                               path='MenuBar/file.menu/Open',
                               factory=OpenHopsEditorAction),
                SchemaAddition(id='new_hops_editor',
                               path='MenuBar/file.menu/New',
                               factory=NewHopsEditorAction),
                SchemaAddition(id='open_script',
                               path='MenuBar/file.menu/Open',
                               factory=OpenPyScriptAction),
                SchemaAddition(id='new_script',
                               path='MenuBar/file.menu/New',
                               factory=NewPyScriptAction),
                SchemaAddition(id='new_visual',
                               path='MenuBar/file.menu/New',
                               factory=NewVisualELScriptAction),
                SchemaAddition(id='open_visual',
                               path='MenuBar/file.menu/Open',
                               factory=OpenVisualELScriptAction)
            ])
        ]
        return exts
コード例 #15
0
 def ideogram_menu():
     return SMenu(id='ideogram.menu', name='Ideogram')
コード例 #16
0
 def _edit_menu(self):
     edit_menu = SMenu(GenericFindAction(), id='Edit', name='Edit')
     return edit_menu
コード例 #17
0
def analysis_group():
    return SMenu(id='analysis_grouping.menu', name='Analysis Grouping')
コード例 #18
0
def data_menu():
    return SMenu(id='data.menu', name='Data')
コード例 #19
0
 def _help_menu(self):
     menu = SMenu(IssueAction(), AboutAction(), id='help.menu', name='Help')
     return menu
コード例 #20
0
 def _tools_menu(self):
     tools_menu = SMenu(id='tools.menu', name='Tools')
     return tools_menu
コード例 #21
0
    def _task_extensions_default(self):

        ext = []
        hopext = self._hops_ext()
        if hopext:
            ext.append(hopext)

        scriptext = self._scripts_ext()
        if scriptext:
            ext.append(scriptext)

        ta1 = TaskExtension(actions=[SchemaAddition(id='spectrometer.menu',
                                                    factory=lambda: SMenu(id='spectrometer.menu',
                                                                          name='Spectrometer'),
                                                    path='MenuBar',
                                                    before='window.menu',
                                                    after='tools.menu'),
                                     SchemaAddition(id='update_mftable',
                                                    path='MenuBar/spectrometer.menu',
                                                    factory=PopulateMFTableAction),
                                     SchemaAddition(id='send_config',
                                                    factory=SendConfigAction,
                                                    path='MenuBar/spectrometer.menu'),
                                     SchemaAddition(id='view_readout',
                                                    factory=ViewReadoutAction,
                                                    path='MenuBar/spectrometer.menu'),
                                     SchemaAddition(id='edit_gains',
                                                    factory=EditGainsAction,
                                                    path='MenuBar/spectrometer.menu'),
                                     SchemaAddition(id='relood_table',
                                                    factory=ReloadMFTableAction,
                                                    path='MenuBar/spectrometer.menu'),
                                     SchemaAddition(id='mftable',
                                                    factory=MagnetFieldTableAction,
                                                    path='MenuBar/spectrometer.menu'),
                                     SchemaAddition(id='mftable_history',
                                                    factory=MagnetFieldTableHistoryAction,
                                                    path='MenuBar/spectrometer.menu')])
        si = TaskExtension(task_id='pychron.spectrometer.scan_inspector',
                           actions=[SchemaAddition(id='toggle_spectrometer_task',
                                                   factory=ToggleSpectrometerTask,
                                                   path='MenuBar/spectrometer.menu')])

        sp = TaskExtension(task_id='pychron.spectrometer',
                           actions=[SchemaAddition(id='toggle_spectrometer_task',
                                                   factory=ToggleSpectrometerTask,
                                                   path='MenuBar/spectrometer.menu'),
                                    SchemaAddition(id='peak_center',
                                                   factory=PeakCenterAction,
                                                   path='MenuBar/spectrometer.menu'),
                                    SchemaAddition(id='define_peak_center',
                                                   factory=DefinePeakCenterAction,
                                                   path='MenuBar/spectrometer.menu'),
                                    SchemaAddition(id='coincidence',
                                                   factory=CoincidenceScanAction,
                                                   path='MenuBar/spectrometer.menu'),
                                    SchemaAddition(id='parameters',
                                                   factory=SpectrometerParametersAction,
                                                   path='MenuBar/spectrometer.menu')])

        ext.extend((ta1, si, sp))
        return ext
コード例 #22
0
def files_menu():
    return SMenu(id='figure.files.menu', name='From File')
コード例 #23
0
 def workspace_menu():
     return SMenu(id='workspace.menu', name='Workspace')
コード例 #24
0
def grouping_group():
    return SMenu(SGroup(id='grouping'),
                 SGroup(id='graph.grouping'),
                 id='grouping.menu',
                 name='Grouping')
コード例 #25
0
 def _view_menu(self):
     grps = self._view_groups()
     view_menu = SMenu(*grps, id='view.menu', name='&View')
     return view_menu
コード例 #26
0
ファイル: laser_plugin.py プロジェクト: sgallet/pychron
 def efactory():
     return SMenu(id='Laser', name='Laser')
コード例 #27
0
ファイル: processing_plugin.py プロジェクト: sgallet/pychron
 def vcs_menu():
     return SMenu(id='vcs.menu', name='VCS')