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
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
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
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') ]) ]
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))
def _window_menu(self): window_menu = SMenu(Group(CloseAction(), CloseOthersAction(), id='Close'), Group(MinimizeAction(), ResetLayoutAction(), PositionAction()), WindowGroup(), id='Window', name='Window') return window_menu
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
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
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
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
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'), ]) ]
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'))
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
def ideogram_menu(): return SMenu(id='ideogram.menu', name='Ideogram')
def _edit_menu(self): edit_menu = SMenu(GenericFindAction(), id='Edit', name='Edit') return edit_menu
def analysis_group(): return SMenu(id='analysis_grouping.menu', name='Analysis Grouping')
def data_menu(): return SMenu(id='data.menu', name='Data')
def _help_menu(self): menu = SMenu(IssueAction(), AboutAction(), id='help.menu', name='Help') return menu
def _tools_menu(self): tools_menu = SMenu(id='tools.menu', name='Tools') return tools_menu
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
def files_menu(): return SMenu(id='figure.files.menu', name='From File')
def workspace_menu(): return SMenu(id='workspace.menu', name='Workspace')
def grouping_group(): return SMenu(SGroup(id='grouping'), SGroup(id='graph.grouping'), id='grouping.menu', name='Grouping')
def _view_menu(self): grps = self._view_groups() view_menu = SMenu(*grps, id='view.menu', name='&View') return view_menu
def efactory(): return SMenu(id='Laser', name='Laser')
def vcs_menu(): return SMenu(id='vcs.menu', name='VCS')