Exemple #1
0
    def _task_extensions_default(self):
        exts = self._get_extensions()
        extensions = [
            TaskExtension(actions=actions, task_id=eid)
            for eid, actions in exts
        ]

        additions = []

        # eflag = False
        for eid, actions in exts:
            for ai in actions:
                # if not eflag and ai.id.startswith('pychron.experiment.edit'):
                if ai.id.startswith('pychron.experiment.edit'):
                    # eflag = True
                    additions.append(
                        SchemaAddition(
                            id='experiment.edit',
                            factory=lambda: SGroup(id='experiment.group'),
                            path='MenuBar/edit.menu'), )
                    break

        if additions:
            extensions.append(TaskExtension(actions=additions, task_id=''))

        sr_actions = [
            SchemaAddition(id='experiment.acquire_spectrometer',
                           factory=AcquireSpectrometerAction,
                           path='MenuBar/Tools'),
            SchemaAddition(id='experiment.release_spectrometer',
                           factory=ReleaseSpectrometerAction,
                           path='MenuBar/Tools')
        ]
        extensions.append(TaskExtension(actions=sr_actions, task_id=''))
        return extensions
    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
    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
Exemple #4
0
    def _my_task_extensions_default(self):
        exts = super(FusionsCO2Plugin, self)._my_task_extensions_default()
        def factory_scan():
            return OpenScannerAction(self._get_manager())
        ext1 = TaskExtension(task_id='pychron.fusions.co2',
                             actions=[
#                                       SchemaAddition(id='fusions_co2_group',
#                                              factory=lambda: MenuSchema(id='FusionsCO2',
#                                                                         name='Fusions CO2'
#                                                                    ),
#                                              path='MenuBar/Extraction'
#                                              ),
                                      SchemaAddition(id='calibration',
                                                   factory=lambda: Group(
                                                                         PowerMapAction(),
                                                                         PowerCalibrationAction(),
                                                                         ),
                                                   path='MenuBar/Laser'
                                                   ),
                                      SchemaAddition(
                                                   factory=TestDegasAction,
                                                   path='MenuBar/Laser'
#                                                    path='MenuBar/Extraction'
                                                   )
                                     ]
                              )

        return exts + [ext1]
Exemple #5
0
 def _task_extensions_default(self):
     return [
         TaskExtension(actions=[
             SchemaAddition(factory=LogViewerAction,
                            path='MenuBar/help.menu'),
             SchemaAddition(factory=CurrentLogViewerAction,
                            path='MenuBar/help.menu')
         ])
     ]
Exemple #6
0
    def _task_extensions_default(self):
        actions = [
            SchemaAddition(factory=WorkOfflineAction,
                           path='MenuBar/tools.menu'),
            SchemaAddition(factory=UseOfflineDatabase,
                           path='MenuBar/tools.menu')
        ]

        return [
            TaskExtension(actions=actions),
        ]
Exemple #7
0
    def _available_task_extensions_default(self):
        def idformat(t):
            return 'pychron.experiment.{}'.format(t)

        def eidformat(t):
            return 'pychron.experiment.edit.{}'.format(t)

        actions = []
        for path, fs in (('edit.menu', ((QueueConditionalsAction,
                                         'open_queue_conditionals'),
                                        (SystemConditionalsAction,
                                         'open_system_conditionals'))),
                         ('file.menu/Open',
                          ((OpenExperimentQueueAction, 'open_experiment'),
                           (OpenCurrentExperimentQueueAction,
                            'open_current_experiment'),
                           (OpenLastExperimentQueueAction,
                            'open_last_experiment'), (OpenPatternAction,
                                                      'open_pattern'))),
                         ('file.menu/New',
                          ((NewExperimentQueueAction, 'new_experiment'),
                           (NewPatternAction, 'new_pattern'))),
                         ('tools.menu',
                          ((OpenExperimentHistoryAction, 'launch_history'),
                           (SignalCalculatorAction, 'signal_calculator'),
                           (LastAnalysisRecoveryAction,
                            'last_analysis_recovery'), (RunHistoryAction,
                                                        'run_history_view'),
                           (MeltingPointCalibrationAction,
                            'melting_point_calibrator')))):

            path = 'MenuBar/{}'.format(path)
            for f, t in fs:
                actions.append(
                    SchemaAddition(id=idformat(t), factory=f, path=path))

        eactions = []
        for path, fs in (('edit.menu/experiment.group',
                          ((DeselectAction, 'deselect'), (ResetQueuesAction,
                                                          'reset'),
                           (SyncQueueAction, 'sync'), (UndoAction, 'undo'),
                           (ConfigureEditorTableAction, 'configure'))),
                         ('file.menu/Save',
                          ((SaveAsCurrentExperimentAction,
                            'save_as_current_experiment'), ))):
            for f, t in fs:
                eactions.append(
                    SchemaAddition(id=eidformat(t), factory=f, path=path))

        return [(self.id, '', 'Experiment', actions),
                ('{}.edit'.format(self.id), 'pychron.experiment.task',
                 'Experiment Edit', eactions)]
Exemple #8
0
    def _task_extensions_default(self):
        actions = [
            SchemaAddition(factory=OpenPowerMapAction,
                           path='MenuBar/file.menu/Open'),
            SchemaAddition(id='Open Pattern',
                           factory=OpenPatternAction,
                           path='MenuBar/file.menu/Open'),
            SchemaAddition(id='New Pattern',
                           factory=NewPatternAction,
                           path='MenuBar/file.menu/New')
        ]

        return [TaskExtension(actions=actions)]
Exemple #9
0
    def _task_extensions_default(self):
        exts = self._create_task_extensions()

        if self.mode != 'client':
            actions = [
                SchemaAddition(factory=ShowMotionConfigureAction,
                               path='MenuBar/laser.menu'),
                SchemaAddition(factory=LaserScriptExecuteAction,
                               path='MenuBar/laser.menu')
            ]
            self._setup_pattern_extensions(exts, actions)

        return exts
Exemple #10
0
 def _test_fired(self):
     a = [('pychron.update', '', 'Update', [
         SchemaAddition(id='pychron.update.check_for_updates',
                        factory=CheckForUpdatesAction),
         SchemaAddition(id='pychron.update.manage_branch',
                        factory=ManageBranchAction)
     ]),
          ('pychron.recall', '', 'Recall', [
              SchemaAddition(id='pychron.recall', factory=RecallAction),
              SchemaAddition(id='pychron.update.manage_branch',
                             factory=ManageBranchAction)
          ])]
     edit_task_extensions(a)
Exemple #11
0
 def _task_extensions_default(self):
     actions = [
         SchemaAddition(id='save_loading_figure',
                        factory=SaveLoadingPDFAction,
                        path='MenuBar/file.menu'),
         SchemaAddition(id='save_tray',
                        factory=SaveTrayPDFAction,
                        path='MenuBar/file.menu'),
         SchemaAddition(id='generate_results',
                        factory=GenerateResultsAction,
                        path='MenuBar/file.menu')
     ]
     return [TaskExtension(task_id='pychron.loading', actions=actions)]
Exemple #12
0
 def _available_task_extensions_default(self):
     return [(self.id, '', self.name, [SchemaAddition(id='pychron.update.check_for_updates',
                                                      factory=CheckForUpdatesAction,
                                                      path='MenuBar/help.menu'),
                                       SchemaAddition(id='pychron.update.build_app',
                                                      factory=BuildApplicationAction,
                                                      path='MenuBar/help.menu'),
                                       SchemaAddition(id='pychron.update.manage_branch',
                                                      factory=ManageBranchAction,
                                                      path='MenuBar/help.menu'),
                                       SchemaAddition(id='pychron.update.manage_version',
                                                      factory=ManageVersionAction,
                                                      path='MenuBar/help.menu')]), ]
Exemple #13
0
    def _my_task_extensions_default(self):
        factory = lambda: Group(DeselectAction(), ResetQueuesAction())

        return [
            TaskExtension(
                task_id='pychron.experiment',
                actions=[SchemaAddition(factory=factory,
                                        path='MenuBar/Edit')]),
            TaskExtension(actions=[
                SchemaAddition(id='open_experiment',
                               factory=OpenExperimentQueueAction,
                               path='MenuBar/File/Open'),
                SchemaAddition(id='open_last_experiment',
                               factory=OpenLastExperimentQueueAction,
                               path='MenuBar/File/Open'),
                SchemaAddition(id='test_notify',
                               factory=SendTestNotificationAction,
                               path='MenuBar/File'),
                SchemaAddition(id='new_experiment',
                               factory=NewExperimentQueueAction,
                               path='MenuBar/File/New'),
                SchemaAddition(id='signal_calculator',
                               factory=SignalCalculatorAction,
                               path='MenuBar/Tools'),
                SchemaAddition(id='new_pattern',
                               factory=NewPatternAction,
                               path='MenuBar/File/New'),
                SchemaAddition(id='open_pattern',
                               factory=OpenPatternAction,
                               path='MenuBar/File/Open')
            ])
        ]
Exemple #14
0
    def _task_extensions_default(self):
        actions = [
            SchemaAddition(factory=WorkOfflineAction,
                           path='MenuBar/tools.menu'),
            SchemaAddition(factory=UseOfflineDatabase,
                           path='MenuBar/tools.menu'),
            SchemaAddition(factory=ShareChangesAction,
                           path='MenuBar/tools.menu'),
            SchemaAddition(factory=SyncMetaDataAction,
                           path='MenuBar/tools.menu')
            # SchemaAddition(factory=PullAction),
        ]

        return [
            TaskExtension(actions=actions),
        ]
Exemple #15
0
 def make_schema(args):
     if len(args) == 3:
         mkw = {}
         i, f, p = args
     else:
         i, f, p, mkw = args
     return SchemaAddition(id=i, factory=f, path=p, **mkw)
Exemple #16
0
 def _task_extensions_default(self):
     return [
         TaskExtension(actions=[
             SchemaAddition(factory=PullAnalysesAction,
                            path='MenuBar/data.menu')
         ]),
     ]
Exemple #17
0
 def _task_extensions_default(self):
     actions = [
         SchemaAddition(factory=EditInitializationAction,
                        id='edit_plugins',
                        path='MenuBar/help.menu')
     ]
     return [TaskExtension(actions=actions)]
Exemple #18
0
 def _task_extensions_default(self):
     actions = [
         SchemaAddition(factory=SimpleIdentifierAction,
                        path='MenuBar/entry.menu')
     ]
     tes = [TaskExtension(actions=actions)]
     return tes
Exemple #19
0
    def _base_task_extensions_default(self):
        actions = [
            SchemaAddition(id='DockPaneToggleGroup',
                           factory=DockPaneToggleGroup,
                           path='MenuBar/View')
        ]

        return [TaskExtension(actions=actions)]
Exemple #20
0
 def _task_extensions_default(self):
     return [
         TaskExtension(actions=[
             SchemaAddition(id='foobot',
                            path='MenuBar/help.menu',
                            factory=OpenFoobotAction)
         ])
     ]
Exemple #21
0
 def _my_task_extensions_default(self):
     return [
         TaskExtension(actions=[
             SchemaAddition(id='export_shapefile',
                            factory=ExportShapefileAction,
                            path='MenuBar/Data')
         ])
     ]
Exemple #22
0
    def _task_extensions_default(self):
        actions = [
            SchemaAddition(factory=WorkOfflineAction,
                           path='MenuBar/tools.menu'),
            SchemaAddition(factory=UseOfflineDatabase,
                           path='MenuBar/tools.menu'),
            SchemaAddition(factory=ShareChangesAction,
                           path='MenuBar/tools.menu'),
            SchemaAddition(factory=ClearCacheAction,
                           path='MenuBar/tools.menu'),
            SchemaAddition(factory=GenerateCurrentsAction,
                           path='MenuBar/tools.menu'),
        ]

        return [
            TaskExtension(actions=actions),
        ]
Exemple #23
0
 def _my_task_extensions_default(self):
     return [
         TaskExtension(actions=[
             SchemaAddition(id='Flag Manager',
                            factory=OpenFlagManagerAction,
                            path='MenuBar/Tools'),
         ])
     ]
Exemple #24
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
Exemple #25
0
    def _task_extensions_default(self):
        def data_menu():
            return SMenu(id='data.menu', name='Data')

        def ideogram_menu():
            return SMenu(id='ideogram.menu', name='Ideogram')

        def plot_group():
            return SGroup(id='plot.group')

        def reduction_group():
            return SGroup(id='reduction.group')

        def recall_group():
            return SGroup(id='recall.group')

        exts = self._get_extensions()
        extensions = [
            TaskExtension(actions=actions, task_id=eid)
            for eid, actions in exts
        ]

        additions = [
            SchemaAddition(
                factory=data_menu,
                path='MenuBar',
                before='tools.menu',
                after='view.menu',
            )
        ]

        for s, f, p in (('ideogram', ideogram_menu,
                         'MenuBar/data.menu/plot.group'),
                        ('plot', plot_group, 'MenuBar/data.menu'),
                        ('fit', reduction_group, 'MenuBar/data.menu'),
                        ('recall', recall_group, 'MenuBar/data.menu')):

            for eid, actions in exts:
                for ai in actions:
                    if ai.id.startswith('pychron.pipeline.{}'.format(s)):
                        additions.append(SchemaAddition(factory=f, path=p))
                        break

        extensions.append(TaskExtension(actions=additions))
        return extensions
Exemple #26
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
Exemple #27
0
    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
Exemple #28
0
    def _task_extensions_default(self):
        actions = [
            SchemaAddition(factory=TrainIsotopeClassifierAction,
                           path='MenuBar/tools.menu'),
        ]

        return [
            TaskExtension(actions=actions),
        ]
Exemple #29
0
 def _task_extensions_default(self):
     return [
         TaskExtension(task_id='pychron.loading',
                       actions=[
                           SchemaAddition(id='save_loading_figure',
                                          factory=SaveLoadingAction,
                                          path='MenuBar/file.menu')
                       ])
     ]
Exemple #30
0
    def _task_extensions_default(self):
        exts = super(FusionsCO2Plugin, self)._task_extensions_default()

        ext1 = TaskExtension(
            task_id='pychron.fusions.co2',
            actions=[
                SchemaAddition(id='calibration',
                               factory=lambda: Group(PowerMapAction(),
                                                     PowerCalibrationAction()),
                               path='MenuBar/Laser'),
                SchemaAddition(
                    factory=lambda: ExecutePatternAction(self._get_manager()),
                    path='MenuBar/Laser'),
                # SchemaAddition(factory=TestDegasAction,
                #                path='MenuBar/Laser')
            ])

        return exts + [ext1]