def createMenus(self): mbar = wx.MenuBar() fmenu = wx.Menu() add_menu(self, fmenu, "E&xit", "Terminate the program", action=self.onClose) mbar.Append(fmenu, "&File") self.SetMenuBar(mbar)
def create_menus(self): "Create the menubar" mbar = wx.MenuBar() fmenu = wx.Menu() omenu = wx.Menu() add_menu(self, fmenu, label="&Save", text="Save Configuration", action = self.onSave) add_menu(self, fmenu, label="&Read", text="Read Configuration", action = self.onRead) fmenu.AppendSeparator() add_menu(self, fmenu, label="E&xit", text="Quit Program", action = self.onClose) vmove = wx.NewId() verase = wx.NewId() vreplace = wx.NewId() self.menu_opts = {vmove: 'v_move', verase: 'v_erase', vreplace: 'v_replace'} mitem = omenu.Append(vmove, "Verify Go To ", "Prompt to Verify Moving with 'Go To'", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(verase, "Verify Erase", "Prompt to Verify Erasing Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(vreplace, "Verify Overwrite", "Prompt to Verify Overwriting Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) omenu.AppendSeparator() add_menu(self, omenu, label="Camera Settings", text="Edit Camera Settings", action = self.onSettings) mbar.Append(fmenu, '&File') mbar.Append(omenu, '&Options') self.SetMenuBar(mbar) self.popup_up1 = wx.NewId() self.popup_dn1 = wx.NewId() self.popup_upall = wx.NewId() self.popup_dnall = wx.NewId()
def create_menus(self): "Create the menubar" mbar = wx.MenuBar() fmenu = wx.Menu() pmenu = wx.Menu() omenu = wx.Menu() add_menu(self, fmenu, label="&Read Config", text="Read Configuration", action = self.onReadConfig) add_menu(self, fmenu, label="&Save Config", text="Save Configuration", action = self.onSaveConfig) add_menu(self, fmenu, label="Show Projections\tCtrl+G", text="Start Projection Plots", action = self.onStartProjections) add_menu(self, fmenu, label="Print Blurriness\tCtrl+B", text="print blurriness", action = self.onReportBlurry) add_menu(self, fmenu, label="Stop Projection\tCtrl+C", text="Stop Projection Plots", action = self.onStopProjections) add_menu(self, fmenu, label="Select &Working Directory\tCtrl+W", text="change Working Folder", action = self.onChangeWorkdir) if self.cam_type.startswith('area'): add_menu(self, fmenu, label="Change AreaDetector", text="Change Camera to different AreaDetector", action = self.onChangeCamera) fmenu.AppendSeparator() add_menu(self, fmenu, label="E&xit\tCtrl+x", text="Quit Program", action = self.onClose) add_menu(self, pmenu, label="Export Positions", text="Export Positions", action = self.onExportPositions) add_menu(self, pmenu, label="Import Positions", text="Import Positions", action = self.onImportPositions) add_menu(self, pmenu, label="Erase Many Positions\tCtrl+E", text="Select Multiple Positions to Erase", action = self.onEraseMany) add_menu(self, omenu, label="Image Overlays", text="Setup Image Overlays", action = self.onConfigOverlays) vmove = wx.NewId() verase = wx.NewId() vreplace = wx.NewId() cenfine = wx.NewId() self.menu_opts = {vmove: 'v_move', verase: 'v_erase', vreplace: 'v_replace', cenfine: 'center_with_fine_stages'} mitem = omenu.Append(vmove, "Verify Go To ", "Prompt to Verify Moving with 'Go To'", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(verase, "Verify Erase", "Prompt to Verify Erasing Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(vreplace, "Verify Overwrite", "Prompt to Verify Overwriting Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(cenfine, "Center With Fine Stages", "Bring to Center will move the Fine Stages", wx.ITEM_CHECK) mitem.Check(0) self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) omenu.AppendSeparator() # print 'Create Menus ', self.ctrlpanel.subpanels # for key, val in self.config['stages'].items(): # print key, val for name, panel in self.ctrlpanel.subpanels.items(): show = 0 label = 'Enable %s' % name mid = wx.NewId() self.menu_opts[mid] = label for mname, data in self.config['stages'].items(): if data['group'] == name: show = show + data['show'] mitem = omenu.Append(mid, label, label, wx.ITEM_CHECK) if show > 0 : mitem.Check() self.Bind(wx.EVT_MENU, Closure(self.onShowHide, name=name, panel=panel), mitem) mbar.Append(fmenu, '&File') mbar.Append(omenu, '&Options') mbar.Append(pmenu, 'Positions') if len(self.config['scandb'].get('offline', '')): cmenu = wx.Menu() # add_menu(self, cmenu, label="Calibrate Microscope", # text="Calibrate to Offline Microscope", # action = self.pospanel.onMicroscopeCalibrate) add_menu(self, cmenu, label="Copy Positions from Offline Microscope", text="Copy Positions from Offline Microscope", action = self.pospanel.onMicroscopeTransfer) mbar.Append(cmenu, 'Offline Microscope') self.SetMenuBar(mbar)
def create_menus(self): "Create the menubar" mbar = wx.MenuBar() fmenu = wx.Menu() pmenu = wx.Menu() omenu = wx.Menu() add_menu(self, fmenu, label="&Read Config", text="Read Configuration", action=self.onReadConfig) add_menu(self, fmenu, label="&Save Config", text="Save Configuration", action=self.onSaveConfig) add_menu(self, fmenu, label="Show Projections\tCtrl+G", text="Start Projection Plots", action=self.onStartProjections) add_menu(self, fmenu, label="Print Blurriness\tCtrl+B", text="print blurriness", action=self.onReportBlurry) add_menu(self, fmenu, label="Stop Projection\tCtrl+C", text="Stop Projection Plots", action=self.onStopProjections) add_menu(self, fmenu, label="Select &Working Directory\tCtrl+W", text="change Working Folder", action=self.onChangeWorkdir) if self.cam_type.startswith('area'): add_menu(self, fmenu, label="Change AreaDetector", text="Change Camera to different AreaDetector", action=self.onChangeCamera) fmenu.AppendSeparator() add_menu(self, fmenu, label="E&xit\tCtrl+x", text="Quit Program", action=self.onClose) add_menu(self, pmenu, label="Export Positions", text="Export Positions", action=self.onExportPositions) add_menu(self, pmenu, label="Import Positions", text="Import Positions", action=self.onImportPositions) add_menu(self, pmenu, label="Erase Many Positions\tCtrl+E", text="Select Multiple Positions to Erase", action=self.onEraseMany) add_menu(self, omenu, label="Image Overlays", text="Setup Image Overlays", action=self.onConfigOverlays) vmove = wx.NewId() verase = wx.NewId() vreplace = wx.NewId() cenfine = wx.NewId() self.menu_opts = { vmove: 'v_move', verase: 'v_erase', vreplace: 'v_replace', cenfine: 'center_with_fine_stages' } mitem = omenu.Append(vmove, "Verify Go To ", "Prompt to Verify Moving with 'Go To'", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(verase, "Verify Erase", "Prompt to Verify Erasing Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(vreplace, "Verify Overwrite", "Prompt to Verify Overwriting Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(cenfine, "Center With Fine Stages", "Bring to Center will move the Fine Stages", wx.ITEM_CHECK) mitem.Check(0) self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) omenu.AppendSeparator() # print( 'Create Menus ', self.ctrlpanel.subpanels) # for key, val in self.config['stages'].items(): # print( key, val) for name, panel in self.ctrlpanel.subpanels.items(): show = 0 label = 'Enable %s' % name mid = wx.NewId() self.menu_opts[mid] = label for mname, data in self.config['stages'].items(): if data['group'] == name: show = show + data['show'] mitem = omenu.Append(mid, label, label, wx.ITEM_CHECK) if show > 0: mitem.Check() self.Bind(wx.EVT_MENU, Closure(self.onShowHide, name=name, panel=panel), mitem) mbar.Append(fmenu, '&File') mbar.Append(omenu, '&Options') mbar.Append(pmenu, 'Positions') if len(self.config['scandb'].get('offline', '')): cmenu = wx.Menu() # add_menu(self, cmenu, label="Calibrate Microscope", # text="Calibrate to Offline Microscope", # action = self.pospanel.onMicroscopeCalibrate) add_menu(self, cmenu, label="Copy Positions from Offline Microscope", text="Copy Positions from Offline Microscope", action=self.pospanel.onMicroscopeTransfer) mbar.Append(cmenu, 'Offline Microscope') self.SetMenuBar(mbar)
def create_Menus(self): """create menus""" mbar = wx.MenuBar() file_menu = wx.Menu() add_menu(self, file_menu, "Connect to a Motor\tCtrl+N", "Connect to a Motor", action=self.onNewMotor) add_menu(self, file_menu, "&Save Motor Settings\tCtrl+S", "Save Motor Settings to Database", action=self.onSaveMotor) add_menu(self, file_menu, "&Read Motor Settings\tCtrl+R", "Read Motor Settings from Database", action=self.onReadMotor) file_menu.AppendSeparator() add_menu(self, file_menu, "&Copy All Motor Template for all motors\tCtrl+T" , "Copy Template Paragraph to Clipboard", action=Closure(self.onCopyTemplate, all=True)) add_menu(self, file_menu, "&Write Motor Template to File for all motors\tCtrl+W", "Write Paragraph a Template File", action=Closure(self.onWriteTemplate, all=True)) add_menu(self, file_menu, "&Copy Motor Template for this motor" , "Copy Template Paragraph to Clipboard", action=Closure(self.onCopyTemplate, all=False)) add_menu(self, file_menu, "&Write Motor Template to File for this motor", "Write Paragraph a Template File", action=Closure(self.onWriteTemplate, all=False)) file_menu.AppendSeparator() add_menu(self, file_menu, "E&xit\tCtrl+X", "Terminate the program", action=self.onClose) mbar.Append(file_menu, "&File") self.SetMenuBar(mbar)
def create_Menus(self): """create menus""" mbar = wx.MenuBar() file_menu = wx.Menu() opts_menu = wx.Menu() inst_menu = wx.Menu() help_menu = wx.Menu() add_menu(self, file_menu, "&Open File", "Open or Create Instruments File", action=self.onOpen) add_menu(self, file_menu, "&Save As", "Save Instruments File", action=self.onSave) file_menu.AppendSeparator() add_menu(self, file_menu, "E&xit", "Terminate the program", action=self.onClose) add_menu(self, inst_menu, "&Create New Instrument", "Add New Instrument", action=self.onAddInstrument) add_menu(self, inst_menu, "&Edit Current Instrument", "Edit Current Instrument", action=self.onEditInstrument) add_menu(self, inst_menu, "Enter a Position for the Current Instrument", "Enter a Position for the Current Instrument", action=self.onEnterPosition) inst_menu.AppendSeparator() add_menu(self, inst_menu, "&Remove Current Instrument", "Permanently Remove Current Instrument", action=self.onRemoveInstrument) add_menu(self, opts_menu, "&Select Instruments to Show", "Change Which Instruments are Shown", action=self.onSelectInstruments) add_menu(self, opts_menu, "&General Settings", "Change Settings for GUI behavior, Epics Connection", action=self.onSettings) add_menu(self, opts_menu, "Change &Font", "Select Font", action=self.onSelectFont) add_menu(self, help_menu, 'About', "More information about this program", action=self.onAbout) mbar.Append(file_menu, "&File") mbar.Append(opts_menu, "&Options") mbar.Append(inst_menu, "&Instruments") mbar.Append(help_menu, "&Help") self.SetMenuBar(mbar)
def buildMenus(self): fmenu = wx.Menu() add_menu(self, fmenu, "&Connect to Pre-defiend Camera", "Connect to PV", self.ConnectToCamera) add_menu(self, fmenu, "&Connect to AreaDetector PV\tCtrl+O", "Connect to PV", self.ConnectToPV) add_menu(self, fmenu, "&Save\tCtrl+S", "Save Image", self.onSaveImage) add_menu(self, fmenu, "&Copy\tCtrl+C", "Copy Image to Clipboard", self.onCopyImage) fmenu.AppendSeparator() add_menu(self, fmenu, "E&xit\tCtrl+Q", "Exit Program", self.onExit) omenu = wx.Menu() add_menu(self, omenu, "&Zoom out\tCtrl+Z", "Zoom Out", self.unZoom) add_menu(self, omenu, "Reset Image Counter", "Set Image Counter to 0", self.onResetImageCounter) omenu.AppendSeparator() add_menu(self, omenu, "&Rotate Clockwise\tCtrl+R", "Rotate Clockwise", self.onRotCW) add_menu(self, omenu, "Rotate CounterClockwise", "Rotate Counter Clockwise", self.onRotCCW) add_menu(self, omenu, "Flip Up/Down\tCtrl+T", "Flip Up/Down", self.onFlipV) add_menu(self, omenu, "Flip Left/Right\tCtrl+F", "Flip Left/Right", self.onFlipH) omenu.AppendSeparator() self.CM_ZOOM = wx.NewId() self.CM_SHOW = wx.NewId() self.CM_PROF = wx.NewId() omenu.Append(self.CM_ZOOM, "Cursor Mode: Zoom to Box\tCtrl+B", "Zoom to box by clicking and dragging", wx.ITEM_RADIO) omenu.Append(self.CM_SHOW, "Cursor Mode: Show X,Y\tCtrl+X", "Show X,Y, Intensity Values", wx.ITEM_RADIO) omenu.Append(self.CM_PROF, "Cursor Mode: Line Profile\tCtrl+L", "Show Line Profile", wx.ITEM_RADIO) self.Bind(wx.EVT_MENU, self.onCursorMode, id=self.CM_ZOOM) self.Bind(wx.EVT_MENU, self.onCursorMode, id=self.CM_PROF) self.Bind(wx.EVT_MENU, self.onCursorMode, id=self.CM_SHOW) hmenu = wx.Menu() add_menu(self, hmenu, "About", "About Epics AreadDetector Display", self.onAbout) mbar = wx.MenuBar() mbar.Append(fmenu, "File") mbar.Append(omenu, "Options") mbar.Append(hmenu, "&Help") self.SetMenuBar(mbar)
def create_menus(self): "Create the menubar" mbar = wx.MenuBar() fmenu = wx.Menu() omenu = wx.Menu() add_menu(self, fmenu, label="&Read Config", text="Read Configuration", action = self.onReadConfig) add_menu(self, fmenu, label="&Save Config", text="Save Configuration", action = self.onSaveConfig) fmenu.AppendSeparator() add_menu(self, fmenu, label="E&xit", text="Quit Program", action = self.onClose) add_menu(self, omenu, label="Image Overlays", text="Setup Image Overlays", action = self.onConfigOverlays) add_menu(self, omenu, label="Erase Many Positions", text="Select Multiple Positions to Erase", action = self.onEraseMany) vmove = wx.NewId() verase = wx.NewId() vreplace = wx.NewId() cenfine = wx.NewId() self.menu_opts = {vmove: 'v_move', verase: 'v_erase', vreplace: 'v_replace', cenfine: 'center_with_fine_stages'} mitem = omenu.Append(vmove, "Verify Go To ", "Prompt to Verify Moving with 'Go To'", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(verase, "Verify Erase", "Prompt to Verify Erasing Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(vreplace, "Verify Overwrite", "Prompt to Verify Overwriting Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(cenfine, "Center With Fine Stages", "Bring to Center will move the Fine Stages", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) omenu.AppendSeparator() # print 'Create Menus ', self.ctrlpanel.subpanels # for key, val in self.config['stages'].items(): # print key, val for name, panel in self.ctrlpanel.subpanels.items(): show = 0 label = 'Enable %s' % name mid = wx.NewId() self.menu_opts[mid] = label for mname, data in self.config['stages'].items(): if data['group'] == name: show = show + data['show'] mitem = omenu.Append(mid, label, label, wx.ITEM_CHECK) if show > 0 : mitem.Check() self.Bind(wx.EVT_MENU, Closure(self.onShowHide, name=name, panel=panel), mitem) mbar.Append(fmenu, '&File') mbar.Append(omenu, '&Options') self.SetMenuBar(mbar)
def buildMenus(self): fmenu = wx.Menu() add_menu(self, fmenu, "&Connect to Pre-defiend Camera", "Connect to PV", self.ConnectToCamera) add_menu(self, fmenu, "&Connect to AreaDetector PV\tCtrl+O", "Connect to PV", self.ConnectToPV) add_menu(self, fmenu, "&Save\tCtrl+S", "Save Image", self.onSaveImage) add_menu(self, fmenu, "&Copy\tCtrl+C", "Copy Image to Clipboard", self.onCopyImage) fmenu.AppendSeparator() add_menu(self, fmenu, "E&xit\tCtrl+Q", "Exit Program", self.onExit) omenu = wx.Menu() add_menu(self, omenu, "&Zoom out\tCtrl+Z", "Zoom Out", self.unZoom) add_menu(self, omenu, "Reset Image Counter", "Set Image Counter to 0", self.onResetImageCounter) omenu.AppendSeparator() add_menu(self, omenu, "&Rotate Clockwise\tCtrl+R", "Rotate Clockwise", self.onRotCW) add_menu(self, omenu, "Rotate CounterClockwise", "Rotate Counter Clockwise", self.onRotCCW) add_menu(self, omenu, "Flip Up/Down\tCtrl+T", "Flip Up/Down", self.onFlipV) add_menu(self, omenu, "Flip Left/Right\tCtrl+F", "Flip Left/Right", self.onFlipH) omenu.AppendSeparator() self.CM_ZOOM = wx.NewId() self.CM_SHOW = wx.NewId() self.CM_PROF = wx.NewId() omenu.Append(self.CM_ZOOM, "Cursor Mode: Zoom to Box\tCtrl+B" , "Zoom to box by clicking and dragging", wx.ITEM_RADIO) omenu.Append(self.CM_SHOW, "Cursor Mode: Show X,Y\tCtrl+X", "Show X,Y, Intensity Values", wx.ITEM_RADIO) omenu.Append(self.CM_PROF, "Cursor Mode: Line Profile\tCtrl+L", "Show Line Profile", wx.ITEM_RADIO) self.Bind(wx.EVT_MENU, self.onCursorMode, id=self.CM_ZOOM) self.Bind(wx.EVT_MENU, self.onCursorMode, id=self.CM_PROF) self.Bind(wx.EVT_MENU, self.onCursorMode, id=self.CM_SHOW) hmenu = wx.Menu() add_menu(self, hmenu, "About", "About Epics AreadDetector Display", self.onAbout) mbar = wx.MenuBar() mbar.Append(fmenu, "File") mbar.Append(omenu, "Options") mbar.Append(hmenu, "&Help") self.SetMenuBar(mbar)
def create_menus(self): "Create the menubar" mbar = wx.MenuBar() fmenu = wx.Menu() omenu = wx.Menu() add_menu(self, fmenu, label="&Save", text="Save Configuration", action=self.onSave) add_menu(self, fmenu, label="&Read", text="Read Configuration", action=self.onRead) fmenu.AppendSeparator() add_menu(self, fmenu, label="E&xit", text="Quit Program", action=self.onClose) vmove = wx.NewId() verase = wx.NewId() vreplace = wx.NewId() self.menu_opts = { vmove: 'v_move', verase: 'v_erase', vreplace: 'v_replace' } mitem = omenu.Append(vmove, "Verify Go To ", "Prompt to Verify Moving with 'Go To'", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(verase, "Verify Erase", "Prompt to Verify Erasing Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) mitem = omenu.Append(vreplace, "Verify Overwrite", "Prompt to Verify Overwriting Positions", wx.ITEM_CHECK) mitem.Check() self.Bind(wx.EVT_MENU, self.onMenuOption, mitem) omenu.AppendSeparator() add_menu(self, omenu, label="Camera Settings", text="Edit Camera Settings", action=self.onSettings) mbar.Append(fmenu, '&File') mbar.Append(omenu, '&Options') self.SetMenuBar(mbar) self.popup_up1 = wx.NewId() self.popup_dn1 = wx.NewId() self.popup_upall = wx.NewId() self.popup_dnall = wx.NewId()