def __init__(self, parent): wx.Panel.__init__(self, parent) try: default_colour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENUBAR) except AttributeError: default_colour = wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENUBAR) self.SetBackgroundColour(default_colour) # Fold panel and its style settings # FIXME: If we dont insert a value in size or if we set wx.DefaultSize, # the fold_panel doesnt show. This means that, for some reason, Sizer # is not working properly in this panel. It might be on some child or # parent panel. Perhaps we need to insert the item into the sizer also... # Study this. fold_panel = fpb.FoldPanelBar(self, -1, wx.DefaultPosition, wx.DefaultSize, 0, fpb.FPB_SINGLE_FOLD) # Fold panel style style = fpb.CaptionBarStyle() style.SetCaptionStyle(fpb.CAPTIONBAR_GRADIENT_V) style.SetFirstColour(default_colour) style.SetSecondColour(default_colour) # Fold 1 - Surface properties item = fold_panel.AddFoldPanel(_("Surface properties"), collapsed=True) fold_panel.ApplyCaptionStyle(item, style) fold_panel.AddFoldPanelWindow(item, SurfaceProperties(item), spacing=0, leftSpacing=0, rightSpacing=0) # Fold 2 - Surface tools item = fold_panel.AddFoldPanel(_("Advanced options"), collapsed=True) fold_panel.ApplyCaptionStyle(item, style) fold_panel.AddFoldPanelWindow(item, SurfaceTools(item), spacing=0, leftSpacing=0, rightSpacing=0) #fold_panel.AddFoldPanelWindow(item, QualityAdjustment(item), Spacing= 0, # leftSpacing=0, rightSpacing=0) #fold_panel.Expand(fold_panel.GetFoldPanel(1)) self.fold_panel = fold_panel self.__bind_evt() # Panel sizer to expand fold panel sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(fold_panel, 1, wx.GROW | wx.EXPAND) sizer.Fit(self) self.SetSizer(sizer) self.Update() self.SetAutoLayout(1) fold_panel.Expand(fold_panel.GetFoldPanel(1)) self.ResizeFPB() fold_panel.Expand(fold_panel.GetFoldPanel(0))
def csStyleSetup(self): # Style used for fold bar menu csStyle = fpb.CaptionBarStyle() csStyle.SetFirstColour(wx.Colour("#36393e")) csStyle.SetSecondColour(wx.Colour("#36393e")) csStyle.SetCaptionColour("WHITE") csStyle.SetCaptionFont(wx.Font(9, wx.DEFAULT, wx.NORMAL, wx.BOLD)) return csStyle
def UpdatePanelContents(self, selected_node): self.DestroyChildren() if selected_node != None: panel_bar = fpb.FoldPanelBar(self, -1, agwStyle=fpb.FPB_VERTICAL) # fold_panel = panel_bar.AddFoldPanel(selected_node._label) # #thing = wx.TextCtrl(fold_panel, -1, size=(400, -1), style=wx.TE_MULTILINE) # selected_node # Node Properties UI selected_node.NodePanelUI(self, panel_bar) #thing2 = wx.TextCtrl(fold_panel2, -1, size=(400, -1), style=wx.TE_MULTILINE) #main_sizer.Add(st, flag=wx.EXPAND|wx.BOTH, border=20) #main_sizer.Add(panel_bar, 1, wx.EXPAND) self._mainSizer.Add(panel_bar, 1, wx.EXPAND | wx.ALL) style = fpb.CaptionBarStyle() style.SetCaptionFont(self.Parent.GetFont()) style.SetCaptionColour(wx.Colour("#fff")) style.SetFirstColour(wx.Colour('#424242')) style.SetSecondColour(wx.Colour('#424242')) panel_bar.ApplyCaptionStyleAll(style) else: # Delete the window if the node is not selected self._mainSizer.Clear(delete_windows=True) self.AUIManager.Update() self.Parent.Refresh() self.Parent.Update()
def __init__(self, parent): wx.Panel.__init__(self, parent) try: default_colour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENUBAR) except AttributeError: default_colour = wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENUBAR) self.SetBackgroundColour(default_colour) # Fold panel and its style settings # FIXME: If we dont insert a value in size or if we set wx.DefaultSize, # the fold_panel doesnt show. This means that, for some reason, Sizer # is not working properly in this panel. It might be on some child or # parent panel. Perhaps we need to insert the item into the sizer also... # Study this. #gbs = wx.GridBagSizer() #gbs.AddGrowableRow(0, 1) #gbs.AddGrowableCol(0, 1) #self.gbs = gbs self.last_size = None # Panel sizer to expand fold panel sizer = wx.BoxSizer(wx.VERTICAL) #sizer.Add(gbs, 1, wx.GROW|wx.EXPAND) self.SetSizer(sizer) fold_panel = fpb.FoldPanelBar(self, -1, wx.DefaultPosition, wx.DefaultSize, 0, fpb.FPB_SINGLE_FOLD) self.fold_panel = fold_panel # Fold panel style style = fpb.CaptionBarStyle() style.SetCaptionStyle(fpb.CAPTIONBAR_GRADIENT_V) style.SetFirstColour(default_colour) style.SetSecondColour(default_colour) # Fold 1 - Mask properties item = fold_panel.AddFoldPanel(_("Mask properties"), collapsed=True) self.mask_prop_panel = MaskProperties(item) fold_panel.ApplyCaptionStyle(item, style) fold_panel.AddFoldPanelWindow(item, self.mask_prop_panel, spacing=0, leftSpacing=0, rightSpacing=0) # Fold 2 - Advanced edition tools item = fold_panel.AddFoldPanel(_("Manual edition"), collapsed=True) etw = EditionTools(item) fold_panel.ApplyCaptionStyle(item, style) fold_panel.AddFoldPanelWindow(item, etw, spacing=0, leftSpacing=0, rightSpacing=0) self.__id_editor = item.GetId() self.last_panel_opened = None # Fold 3 - Watershed item = fold_panel.AddFoldPanel(_("Watershed"), collapsed=True) wtw = WatershedTool(item) fold_panel.ApplyCaptionStyle(item, style) fold_panel.AddFoldPanelWindow(item, wtw, spacing=0, leftSpacing=0, rightSpacing=0) self.__id_watershed = item.GetId() sizer.Add(fold_panel, 1, wx.EXPAND) fold_panel.Expand(fold_panel.GetFoldPanel(2)) self.ResizeFPB() fold_panel.Expand(fold_panel.GetFoldPanel(0)) sizer.Layout() self.Fit() self.fold_panel = fold_panel self.last_style = None self.__bind_evt() self.__bind_pubsub_evt()
class main_controls(wx.Panel): def __init__(self, parent, config, pres, panel, iconfile): super(wx.Panel, self).__init__(panel) self.parent = parent self.config = config self.pres = pres self.backgroundchoices = self.config.backgroundchoices # Get a few tool bar icons tsize = (16, 16) try: self.open_bmp = wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_TOOLBAR, tsize) self.next_bmp = wx.ArtProvider.GetBitmap(wx.ART_GO_FORWARD, wx.ART_TOOLBAR, tsize) self.report_bmp = wx.ArtProvider.GetBitmap(wx.ART_LIST_VIEW, wx.ART_TOOLBAR, tsize) self.A_bmp = wx.ArtProvider.GetBitmap(wx.ART_HELP_SETTINGS, wx.ART_TOOLBAR, tsize) try: self.ud_bmp = wx.Bitmap( wx.Image(iconfile).Rescale(tsize[0], tsize[1])) except Exception, ex: self.ud_bmp = wx.ArtProvider.GetBitmap(wx.ART_HELP_SETTINGS, wx.ART_TOOLBAR, tsize) print ex except Exception, ex: self.open_bmp = None self.next_bmp = None self.report_bmp = None self.A_bmp = None self.ud_bmp = None print ex # .......................... # # Sizers for Controls # # ............................. sizercontrol = wx.BoxSizer(wx.VERTICAL) # Small Toolbar buttonsizer = wx.BoxSizer(wx.HORIZONTAL) bsize = (50, 25) self.openbutton = wx.BitmapButton(self, -1, self.open_bmp, size=bsize) self.procbutton = wx.BitmapButton(self, -1, self.next_bmp, size=bsize) self.procbutton.SetBackgroundColour(wx.Colour(150, 150, 255)) self.udbutton = wx.BitmapButton(self, -1, self.ud_bmp, size=bsize) self.udbutton.SetBackgroundColour(wx.Colour(255, 255, 150)) self.ppbutton = wx.BitmapButton(self, -1, self.report_bmp, size=bsize) self.ppbutton.SetBackgroundColour(wx.Colour(255, 150, 150)) self.autobutton = wx.Button(self, -1, "All", size=bsize) # self.A_bmp self.parent.Bind(wx.EVT_BUTTON, self.pres.on_open, self.openbutton) self.parent.Bind(wx.EVT_BUTTON, self.pres.on_dataprep_button, self.procbutton) self.parent.Bind(wx.EVT_BUTTON, self.pres.on_unidec_button, self.udbutton) self.parent.Bind(wx.EVT_BUTTON, self.pres.on_pick_peaks, self.ppbutton) self.parent.Bind(wx.EVT_BUTTON, self.pres.on_auto, self.autobutton) buttons = [ self.openbutton, self.procbutton, self.udbutton, self.ppbutton, self.autobutton ] for button in buttons: buttonsizer.Add(button, 0, wx.EXPAND) sizercontrol.Add(buttonsizer, 0, wx.EXPAND) # Setting up main fold controls size1 = (75, -1) self.foldpanels = fpb.FoldPanelBar(self, -1, agwStyle=fpb.FPB_VERTICAL) style1 = fpb.CaptionBarStyle() style1b = fpb.CaptionBarStyle() style1c = fpb.CaptionBarStyle() style2 = fpb.CaptionBarStyle() style2b = fpb.CaptionBarStyle() style3 = fpb.CaptionBarStyle() style3b = fpb.CaptionBarStyle() bright = 150 bright2 = 200 style1.SetFirstColour(wx.Colour(bright, bright, 255)) style1b.SetFirstColour(wx.Colour(bright2, bright2, 255)) style1c.SetFirstColour(wx.Colour(bright2, 255, bright2)) style2.SetFirstColour(wx.Colour(255, 255, bright)) style2b.SetFirstColour(wx.Colour(255, 255, bright2)) style3.SetFirstColour(wx.Colour(255, bright, bright)) style3b.SetFirstColour(wx.Colour(255, bright2, bright2)) bright3 = 255 bright4 = 255 style1.SetSecondColour(wx.Colour(bright3, bright3, 255)) style1b.SetSecondColour(wx.Colour(bright4, bright4, 255)) style1c.SetSecondColour(wx.Colour(bright4, 255, bright4)) style2.SetSecondColour(wx.Colour(255, 255, bright3)) style2b.SetSecondColour(wx.Colour(255, 255, bright4)) style3.SetSecondColour(wx.Colour(255, bright3, bright3)) style3b.SetSecondColour(wx.Colour(255, bright4, bright4)) # Panel to set the data prep controls foldpanel1 = self.foldpanels.AddFoldPanel(caption="Data Processing", collapsed=False, cbstyle=style1) panel1 = wx.Panel(foldpanel1, -1) sizercontrol1 = wx.GridBagSizer(wx.VERTICAL) self.ctlminmz = wx.TextCtrl(panel1, value="", size=(50, -1)) self.ctlmaxmz = wx.TextCtrl(panel1, value="", size=(60, -1)) mzrange = wx.BoxSizer(wx.HORIZONTAL) mzrange.Add(wx.StaticText(panel1, label="m/z Range: "), 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) mzrange.Add(self.ctlminmz) mzrange.Add(wx.StaticText(panel1, label=" to "), 0, wx.ALIGN_CENTER_VERTICAL) mzrange.Add(self.ctlmaxmz) mzrange.Add(wx.StaticText(panel1, label=" Th "), 0, wx.ALIGN_CENTER_VERTICAL) sizercontrol1.Add(mzrange, (0, 0), span=(1, 5)) # self.subtypectl = wx.Choice(panel1, -1, choices=self.backgroundchoices) self.ctlbuff = wx.TextCtrl(panel1, value="", size=size1) # self.ctlsmooth = wx.TextCtrl(panel1, value="", size=size1) self.ctlbinsize = wx.TextCtrl(panel1, value="", size=size1) # sizercontrol1.Add(self.subtypectl, (1 + self.config.imflag, 0)) sizercontrol1.Add(wx.StaticText(panel1, label="Background Subtraction: "), (1, 0), flag=wx.ALIGN_CENTER_VERTICAL) sizercontrol1.Add(self.ctlbuff, (1, 1)) # sizercontrol1.Add(self.ctlsmooth, (2 + self.config.imflag * 2, 1)) # sizercontrol1.Add(wx.StaticText(panel1, label="Gaussian Smoothing: "), (2 + self.config.imflag * 2, 0), # flag=wx.ALIGN_CENTER_VERTICAL) sizercontrol1.Add(self.ctlbinsize, (2, 1)) sizercontrol1.Add(wx.StaticText(panel1, label="Bin Every: "), (2, 0), flag=wx.ALIGN_CENTER_VERTICAL) self.ctldatanorm = wx.CheckBox(panel1, label="Normalize Data") sizercontrol1.Add(self.ctldatanorm, (3, 0), flag=wx.ALIGN_CENTER_VERTICAL) self.dataprepbutton = wx.Button(panel1, -1, "Process Data") self.parent.Bind(wx.EVT_BUTTON, self.pres.on_dataprep_button, self.dataprepbutton) sizercontrol1.Add(self.dataprepbutton, (4, 0), span=(1, 2), flag=wx.EXPAND) panel1.SetSizer(sizercontrol1) sizercontrol1.Fit(panel1) self.foldpanels.AddFoldPanelWindow(foldpanel1, panel1, fpb.FPB_ALIGN_WIDTH) self.foldpanels.AddFoldPanelWindow(foldpanel1, wx.StaticText(foldpanel1, -1, " "), fpb.FPB_ALIGN_WIDTH) # Panel for UniDec Parameters foldpanel2 = self.foldpanels.AddFoldPanel(caption="UniDec Parameters", collapsed=False, cbstyle=style2) panel2 = wx.Panel(foldpanel2, -1) sizercontrol2 = wx.GridBagSizer(wx.VERTICAL) self.ctlstartz = wx.TextCtrl(panel2, value="", size=(60, -1)) self.ctlendz = wx.TextCtrl(panel2, value="", size=(60, -1)) zrange = wx.BoxSizer(wx.HORIZONTAL) zrange.Add(wx.StaticText(panel2, label="Charge Range: "), 0, wx.ALIGN_CENTER_VERTICAL) zrange.Add(self.ctlstartz) zrange.Add(wx.StaticText(panel2, label=" to "), 0, wx.ALIGN_CENTER_VERTICAL) zrange.Add(self.ctlendz) self.ctlmasslb = wx.TextCtrl(panel2, value="", size=(60, -1)) self.ctlmassub = wx.TextCtrl(panel2, value="", size=(70, -1)) massrange = wx.BoxSizer(wx.HORIZONTAL) massrange.Add(wx.StaticText(panel2, label="Mass Range: "), 0, wx.ALIGN_CENTER_VERTICAL) massrange.Add(self.ctlmasslb) massrange.Add(wx.StaticText(panel2, label=" to "), 0, wx.ALIGN_CENTER_VERTICAL) massrange.Add(self.ctlmassub) massrange.Add(wx.StaticText(panel2, label=" Da "), 0, wx.ALIGN_CENTER_VERTICAL) self.ctlmassbins = wx.TextCtrl(panel2, value="", size=size1) self.ctlmzsig = wx.TextCtrl(panel2, value="", size=size1) self.ctlpsfun = wx.RadioBox( panel2, label="Peak Shape Function", choices=["Gaussian", "Lorentzian", "Split G/L"]) self.rununidec = wx.Button(panel2, -1, "Run UniDec") self.parent.Bind(wx.EVT_BUTTON, self.pres.on_unidec_button, self.rununidec) sizercontrol2.Add(zrange, (0, 0), span=(1, 2)) sizercontrol2.Add(massrange, (1, 0), span=(1, 2)) sizercontrol2.Add(self.ctlmassbins, (2 + self.config.imflag, 1), span=(1, 2)) sizercontrol2.Add(self.ctlmzsig, (3 + self.config.imflag * 2, 1), span=(1, 2)) sizercontrol2.Add(wx.StaticText(panel2, label="Sample Mass Every (Da): "), (2 + self.config.imflag, 0), flag=wx.ALIGN_CENTER_VERTICAL) sizercontrol2.Add(wx.StaticText(panel2, label="Peak FWHM (Th): "), (3 + self.config.imflag * 2, 0), flag=wx.ALIGN_CENTER_VERTICAL) sizercontrol2.Add(self.ctlpsfun, (4 + self.config.imflag * 3, 0), span=(1, 2)) sizercontrol2.Add(self.rununidec, (5 + self.config.imflag * 3, 0), span=(1, 2), flag=wx.EXPAND) panel2.SetSizer(sizercontrol2) sizercontrol2.Fit(panel2) self.foldpanels.AddFoldPanelWindow(foldpanel2, panel2, fpb.FPB_ALIGN_WIDTH) self.foldpanels.AddFoldPanelWindow(foldpanel2, wx.StaticText(foldpanel2, -1, " "), fpb.FPB_ALIGN_WIDTH) # Panel for Additional Restraints foldpanel2b = self.foldpanels.AddFoldPanel( caption="Additional Filters/Restraints", collapsed=True, cbstyle=style2b) panel2b = wx.Panel(foldpanel2b, -1) gbox2b = wx.GridBagSizer(wx.VERTICAL) self.ctlzzsig = wx.TextCtrl(panel2b, value="", size=size1) gbox2b.Add(wx.StaticText(panel2b, label="Charge Smooth Width: "), (0, 0), flag=wx.ALIGN_CENTER_VERTICAL) gbox2b.Add(self.ctlzzsig, (0, 1), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlmolig = wx.TextCtrl(panel2b, value="", size=size1) gbox2b.Add(wx.StaticText(panel2b, label="Mass Difference (Da): "), (1, 0), flag=wx.ALIGN_CENTER_VERTICAL) gbox2b.Add(self.ctlmolig, (1, 1), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlmsig = wx.TextCtrl(panel2b, value="", size=size1) gbox2b.Add(wx.StaticText(panel2b, label="Mass Smooth Width: "), (2, 0), flag=wx.ALIGN_CENTER_VERTICAL) gbox2b.Add(self.ctlmsig, (2, 1), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlnumit = wx.TextCtrl(panel2b, value='', size=size1) gbox2b.Add(wx.StaticText(panel2b, label='Maximum # of Iterations: '), (8, 0), flag=wx.ALIGN_CENTER_VERTICAL) gbox2b.Add(self.ctlnumit, (8, 1), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlpoolflag = wx.RadioBox( panel2b, label="m/z to Mass Transformation", choices=["Integration", "Interpolation"]) gbox2b.Add(self.ctlpoolflag, (7, 0), span=(1, 2), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlorbimode = wx.CheckBox(panel2b, label="Charge Scaling Mode") gbox2b.Add(self.ctlorbimode, (5, 0), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlisotopemode = wx.CheckBox(panel2b, label="Isotope Mode") gbox2b.Add(self.ctlisotopemode, (4, 0), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlmanualassign = wx.CheckBox(panel2b, label="Manual Mode") self.parent.Bind(wx.EVT_CHECKBOX, self.on_check_manual, self.ctlmanualassign) gbox2b.Add(self.ctlmanualassign, (4, 1), flag=wx.ALIGN_CENTER_VERTICAL) self.ctladductmass = wx.TextCtrl(panel2b, value='', size=size1) gbox2b.Add(self.ctladductmass, (9, 1), span=(1, 1)) gbox2b.Add(wx.StaticText(panel2b, label="Adduct Mass (Da): "), (9, 0), flag=wx.ALIGN_CENTER_VERTICAL) mlsizer = wx.BoxSizer(wx.HORIZONTAL) self.ctlmasslistflag = wx.CheckBox(panel2b, label="Mass List Window:") self.parent.Bind(wx.EVT_CHECKBOX, self.on_mass_list, self.ctlmasslistflag) self.ctlmtabsig = wx.TextCtrl(panel2b, value="", size=(60, -1)) mlsizer.Add(self.ctlmasslistflag, 0, wx.ALIGN_CENTER_VERTICAL) mlsizer.Add(self.ctlmtabsig, 0, wx.ALIGN_CENTER_VERTICAL) mlsizer.Add(wx.StaticText(panel2b, label=" Da "), 0, wx.ALIGN_CENTER_VERTICAL) gbox2b.Add(mlsizer, (6, 0), span=(1, 2)) sb = wx.StaticBox(panel2b, label='Native Charge Offset Range') sbs = wx.StaticBoxSizer(sb, orient=wx.HORIZONTAL) self.ctlminnativez = wx.TextCtrl(panel2b, value='', size=(75, -1)) self.ctlmaxnativez = wx.TextCtrl(panel2b, value='', size=(75, -1)) sbs.Add(self.ctlminnativez, flag=wx.LEFT | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, border=5) sbs.Add(wx.StaticText(panel2b, label=' to '), 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) sbs.Add(self.ctlmaxnativez, flag=wx.LEFT | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, border=5) gbox2b.Add(sbs, (3, 0), span=(1, 2), flag=wx.EXPAND) panel2b.SetSizer(gbox2b) gbox2b.Fit(panel2b) self.foldpanels.AddFoldPanelWindow(foldpanel2b, panel2b, fpb.FPB_ALIGN_WIDTH) self.foldpanels.AddFoldPanelWindow(foldpanel2b, wx.StaticText(foldpanel2b, -1, " "), fpb.FPB_ALIGN_WIDTH) # Panel for Peak Selection and Plotting foldpanel3 = self.foldpanels.AddFoldPanel( caption="Peak Selection, Extraction, and Plotting", collapsed=False, cbstyle=style3) panel3 = wx.Panel(foldpanel3, -1) sizercontrol3 = wx.GridBagSizer(wx.VERTICAL) self.ctlwindow = wx.TextCtrl(panel3, value="", size=size1) self.ctlthresh = wx.TextCtrl(panel3, value="", size=size1) self.ctlnorm = wx.RadioBox(panel3, label="Peak Normalization", choices=["None", "Max", "Total"]) self.ctlnorm2 = wx.RadioBox( panel3, label="Extract Normalization", choices=["None", "Max", "Sum", "Peak Max", "Peak Sum"], majorDimension=3, style=wx.RA_SPECIFY_COLS) self.ctlextractwindow = wx.TextCtrl(panel3, value="", size=size1) self.ctlextract = wx.ComboBox( panel3, value="Height", choices=self.parent.extractchoices.values(), style=wx.CB_READONLY) self.plotbutton = wx.Button(panel3, -1, "Peak Detection/Extraction") self.plotbutton2 = wx.Button(panel3, -1, "Plot 2D Grids") self.parent.Bind(wx.EVT_BUTTON, self.pres.make2dplots, self.plotbutton2) self.parent.Bind(wx.EVT_BUTTON, self.pres.on_pick_peaks, self.plotbutton) sizercontrol3.Add(self.ctlwindow, (0, 1)) sizercontrol3.Add(wx.StaticText(panel3, label="Picking Range (Da): "), (0, 0), flag=wx.ALIGN_CENTER_VERTICAL) sizercontrol3.Add(self.ctlthresh, (1, 1)) sizercontrol3.Add(wx.StaticText(panel3, label="Picking Threshold: "), (1, 0), flag=wx.ALIGN_CENTER_VERTICAL) sizercontrol3.Add(self.ctlnorm, (2, 0), span=(1, 2), flag=wx.EXPAND) sizercontrol3.Add(wx.StaticText(panel3, label="How to Extract Peaks: "), (3, 0), flag=wx.ALIGN_CENTER_VERTICAL) sizercontrol3.Add(self.ctlextract, (3, 1), span=(1, 1), flag=wx.EXPAND) sizercontrol3.Add(self.ctlnorm2, (5, 0), span=(1, 2), flag=wx.EXPAND) sizercontrol3.Add(wx.StaticText(panel3, label="Extraction Window: "), (4, 0), flag=wx.ALIGN_CENTER_VERTICAL) sizercontrol3.Add(self.ctlextractwindow, (4, 1), span=(1, 1)) sizercontrol3.Add(self.plotbutton, (6, 0), span=(1, 2), flag=wx.EXPAND) sizercontrol3.Add(self.plotbutton2, (7, 0), span=(1, 2), flag=wx.EXPAND) panel3.SetSizer(sizercontrol3) sizercontrol3.Fit(panel3) self.foldpanels.AddFoldPanelWindow(foldpanel3, panel3, fpb.FPB_ALIGN_WIDTH) self.foldpanels.AddFoldPanelWindow(foldpanel3, wx.StaticText(foldpanel3, -1, " "), fpb.FPB_ALIGN_WIDTH) # Plotting Parameters foldpanel3b = self.foldpanels.AddFoldPanel( caption="Additional Plotting Parameters", collapsed=True, cbstyle=style3b) panel3b = wx.Panel(foldpanel3b, -1) gbox3b = wx.GridBagSizer(wx.VERTICAL) gbox3b.Add(wx.StaticText(panel3b, label='2D Color Map: '), (0, 0), flag=wx.ALIGN_CENTER_VERTICAL) self.ctl2dcm = wx.ComboBox(panel3b, wx.ID_ANY, style=wx.CB_READONLY) gbox3b.Add(wx.StaticText(panel3b, label='Peaks Color Map: '), (1, 0), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlpeakcm = wx.ComboBox(panel3b, wx.ID_ANY, style=wx.CB_READONLY) for mp in self.config.cmaps2: self.ctl2dcm.Append(mp) for mp in self.config.cmaps: self.ctlpeakcm.Append(mp) gbox3b.Add(self.ctl2dcm, (0, 1), flag=wx.ALIGN_CENTER_VERTICAL) gbox3b.Add(self.ctlpeakcm, (1, 1), flag=wx.ALIGN_CENTER_VERTICAL) self.ctldiscrete = wx.CheckBox(panel3b, label="Discrete Plot") gbox3b.Add(self.ctldiscrete, (2, 0), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlpublicationmode = wx.CheckBox(panel3b, label="Publication Mode") gbox3b.Add(self.ctlpublicationmode, (2, 1), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlrawflag = wx.RadioBox(panel3b, label="", choices=["Reconvolved", "Raw Results"]) gbox3b.Add(self.ctlrawflag, (3, 0), span=(1, 2), flag=wx.EXPAND) gbox3b.Add(wx.StaticText(panel3b, label="Marker Threshold: "), (4, 0), flag=wx.ALIGN_CENTER_VERTICAL) gbox3b.Add(wx.StaticText(panel3b, label="Species Separation: "), (5, 0), flag=wx.ALIGN_CENTER_VERTICAL) self.ctlthresh2 = wx.TextCtrl(panel3b, value="", size=size1) self.ctlsep = wx.TextCtrl(panel3b, value="", size=size1) gbox3b.Add(self.ctlthresh2, (4, 1), flag=wx.ALIGN_CENTER_VERTICAL) gbox3b.Add(self.ctlsep, (5, 1), flag=wx.ALIGN_CENTER_VERTICAL) sb2 = wx.StaticBox(panel3b, label='Integration Range') sbs2 = wx.StaticBoxSizer(sb2, orient=wx.HORIZONTAL) self.ctlintlb = wx.TextCtrl(panel3b, value='', size=(75, -1)) self.ctlintub = wx.TextCtrl(panel3b, value='', size=(75, -1)) sbs2.Add(self.ctlintlb, flag=wx.LEFT | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, border=5) sbs2.Add(wx.StaticText(panel3b, label=' to '), 0, flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) sbs2.Add(self.ctlintub, flag=wx.LEFT | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, border=5) sbs2.Add(wx.StaticText(panel3b, label=' Da '), 0, flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) gbox3b.Add(sbs2, (6, 0), span=(1, 2), flag=wx.EXPAND) sb3 = wx.StaticBox(panel3b, label='Limits on # of Spectra') sbs3 = wx.StaticBoxSizer(sb3, orient=wx.HORIZONTAL) self.ctlcrossover = wx.TextCtrl(panel3b, value='', size=(75, -1)) self.ctlnumtot = wx.TextCtrl(panel3b, value='', size=(75, -1)) sbs3.Add(wx.StaticText(panel3b, label='If over'), 0, flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) sbs3.Add(self.ctlcrossover, flag=wx.LEFT | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, border=5) sbs3.Add(wx.StaticText(panel3b, label=' plot only'), 0, flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) sbs3.Add(self.ctlnumtot, flag=wx.LEFT | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, border=5) gbox3b.Add(sbs3, (7, 0), span=(1, 2), flag=wx.EXPAND) self.replotbutton = wx.Button(panel3b, -1, "Replot") self.parent.Bind(wx.EVT_BUTTON, self.pres.on_replot, self.replotbutton) gbox3b.Add(self.replotbutton, (8, 0), span=(1, 1), flag=wx.EXPAND) self.compositebutton = wx.Button(panel3b, -1, "Plot Composite") self.parent.Bind(wx.EVT_BUTTON, self.pres.on_plot_composite, self.compositebutton) gbox3b.Add(self.compositebutton, (8, 1), span=(1, 1), flag=wx.EXPAND) panel3b.SetSizer(gbox3b) gbox3b.Fit(panel3b) self.foldpanels.AddFoldPanelWindow(foldpanel3b, panel3b, fpb.FPB_ALIGN_WIDTH) self.foldpanels.AddFoldPanelWindow(foldpanel3b, wx.StaticText(foldpanel3b, -1, " "), fpb.FPB_ALIGN_WIDTH) bright = 250 foldpanel1.SetBackgroundColour(wx.Colour(bright, bright, 255)) foldpanel2.SetBackgroundColour(wx.Colour(255, 255, bright)) foldpanel2b.SetBackgroundColour(wx.Colour(255, 255, bright)) foldpanel3.SetBackgroundColour(wx.Colour(255, bright, bright)) foldpanel3b.SetBackgroundColour(wx.Colour(255, bright, bright)) sizercontrol.SetMinSize((250 + self.config.imflag * 10, 0)) # Add to top control sizer sizercontrol.Add(self.foldpanels, 1, wx.EXPAND) self.SetSizer(sizercontrol) sizercontrol.Fit(self) self.setup_tool_tips()