def makeControlbar1(self): """Make composition controlbar.""" # init toolbar panel = mwx.bgrPanel(self, -1, images.lib['bgrControlbarBorder'], size=(-1, mwx.CONTROLBAR_HEIGHT)) # make controls formulaMin_label = wx.StaticText(panel, -1, "Minimal formula:") formulaMin_label.SetFont(wx.SMALL_FONT) self.formulaMin_value = mwx.formulaCtrl(panel, -1, config.massToFormula['formulaMin'], size=(150, -1)) formulaMax_label = wx.StaticText(panel, -1, "Maximal formula:") formulaMax_label.SetFont(wx.SMALL_FONT) self.formulaMax_value = mwx.formulaCtrl(panel, -1, config.massToFormula['formulaMax'], size=(150, -1)) # pack controls sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.AddSpacer(mwx.CONTROLBAR_LSPACE) sizer.Add(formulaMin_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(self.formulaMin_value, 1, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.AddSpacer(20) sizer.Add(formulaMax_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(self.formulaMax_value, 1, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(mwx.CONTROLBAR_RSPACE) mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(sizer, 1, wx.EXPAND) mainSizer.Fit(panel) panel.SetSizer(mainSizer) return panel
def makeItemEditor(self): """Make items editor.""" mainSizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.VERTICAL) # make elements itemName_label = wx.StaticText(self, -1, "Name:") self.itemName_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemExpression_label = wx.StaticText(self, -1, "Expression:") self.itemExpression_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemCTerm_label = wx.StaticText(self, -1, "C-term formula:") self.itemCTerm_value = mwx.formulaCtrl(self, -1, "", size=(200, -1)) itemNTerm_label = wx.StaticText(self, -1, "N-term formula:") self.itemNTerm_value = mwx.formulaCtrl(self, -1, "", size=(200, -1)) self.itemModsBefore_check = wx.CheckBox(self, -1, "Allow modification before cut") self.itemModsAfter_check = wx.CheckBox(self, -1, "Allow modification after cut") # buttons add_butt = wx.Button(self, -1, "Add", size=(80,-1)) add_butt.Bind(wx.EVT_BUTTON, self.onAddItem) delete_butt = wx.Button(self, -1, "Delete", size=(80,-1)) delete_butt.Bind(wx.EVT_BUTTON, self.onDeleteItem) # pack elements grid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE) grid.Add(itemName_label, (0,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemName_value, (0,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemExpression_label, (1,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemExpression_value, (1,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemCTerm_label, (2,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemCTerm_value, (2,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemNTerm_label, (3,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemNTerm_value, (3,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemModsBefore_check, (0,3), flag=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemModsAfter_check, (1,3), flag=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL) grid.Add(add_butt, (0,7), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(delete_butt, (1,7), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) mainSizer.Add(grid, 0, wx.ALIGN_CENTER|wx.ALL, 10) return mainSizer
def makeItemEditor(self): """Make items editor.""" mainSizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.VERTICAL) # make elements itemName_label = wx.StaticText(self, -1, "Name:") self.itemName_value = wx.TextCtrl(self, -1, "", size=(250, -1)) itemDescription_label = wx.StaticText(self, -1, "Description:") self.itemDescription_value = wx.TextCtrl(self, -1, "", size=(250, -1)) itemFormula_label = wx.StaticText(self, -1, "Formula:") self.itemFormula_value = mwx.formulaCtrl(self, -1, "", size=(250, -1)) self.itemFormula_value.Bind(wx.EVT_TEXT, self.onFormulaEdited) itemMoMass_label = wx.StaticText(self, -1, "Mo. mass:") self.itemMoMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemMoMass_label.Enable(False) self.itemMoMass_value.Enable(False) itemAvMass_label = wx.StaticText(self, -1, "Av. mass:") self.itemAvMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemAvMass_label.Enable(False) self.itemAvMass_value.Enable(False) # buttons add_butt = wx.Button(self, -1, "Add", size=(80, -1)) add_butt.Bind(wx.EVT_BUTTON, self.onAddItem) delete_butt = wx.Button(self, -1, "Delete", size=(80, -1)) delete_butt.Bind(wx.EVT_BUTTON, self.onDeleteItem) # pack elements grid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE) grid.Add(itemName_label, (0, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemName_value, (0, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemDescription_label, (1, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemDescription_value, (1, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemFormula_label, (2, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemFormula_value, (2, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemMoMass_label, (0, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemMoMass_value, (0, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAvMass_label, (1, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAvMass_value, (1, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(add_butt, (0, 7), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(delete_butt, (1, 7), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) mainSizer.Add(grid, 0, wx.ALIGN_CENTER | wx.ALL, 10) return mainSizer
def makeToolbar(self): """Make toolbar.""" # init toolbar panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT)) # make buttons self.summary_butt = wx.BitmapButton(panel, ID_massCalculatorSummary, images.lib['massCalculatorSummaryOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE) self.summary_butt.SetToolTip(wx.ToolTip("Compound summary")) self.summary_butt.Bind(wx.EVT_BUTTON, self.onToolSelected) self.ionseries_butt = wx.BitmapButton(panel, ID_massCalculatorIonSeries, images.lib['massCalculatorIonSeriesOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE) self.ionseries_butt.SetToolTip(wx.ToolTip("Ion series")) self.ionseries_butt.Bind(wx.EVT_BUTTON, self.onToolSelected) self.pattern_butt = wx.BitmapButton(panel, ID_massCalculatorPattern, images.lib['massCalculatorPatternOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE) self.pattern_butt.SetToolTip(wx.ToolTip("Isotopic pattern")) self.pattern_butt.Bind(wx.EVT_BUTTON, self.onToolSelected) # make compound fields compound_label = wx.StaticText(panel, -1, "Formula:") self.compound_value = mwx.formulaCtrl(panel, -1, "", size=(250, -1), style=wx.TE_PROCESS_ENTER) compound_label.SetFont(wx.SMALL_FONT) self.compound_value.Bind(wx.EVT_TEXT, self.onCompoundChanged) self.compound_value.Bind(wx.EVT_TEXT_ENTER, self.onCompoundChanged) # make save button self.save_butt = wx.Button(panel, -1, "Save", size=(-1, mwx.SMALL_BUTTON_HEIGHT)) self.save_butt.Bind(wx.EVT_BUTTON, self.onSave) # pack elements self.toolbar = wx.BoxSizer(wx.HORIZONTAL) self.toolbar.AddSpacer(mwx.TOOLBAR_LSPACE) self.toolbar.Add(self.summary_butt, 0, wx.ALIGN_CENTER_VERTICAL) self.toolbar.Add(self.ionseries_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION) self.toolbar.Add(self.pattern_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION) self.toolbar.AddSpacer(20) self.toolbar.Add(compound_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) self.toolbar.Add(self.compound_value, 1, wx.ALIGN_CENTER_VERTICAL) self.toolbar.AddSpacer(20) self.toolbar.Add(self.save_butt, 0, wx.ALIGN_CENTER_VERTICAL) self.toolbar.AddSpacer(mwx.TOOLBAR_RSPACE) mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(self.toolbar, 1, wx.EXPAND) panel.SetSizer(mainSizer) mainSizer.Fit(panel) return panel
def makeToolbar(self): """Make toolbar.""" # init toolbar panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT)) # make tools yAxis_label = wx.StaticText(panel, -1, "MD type:") yAxis_label.SetFont(wx.SMALL_FONT) choices = [ 'Fractional Mass', 'Mass Defect', 'Relative Mass Defect', 'Kendrick Mass Defect' ] self.yAxis_choice = wx.Choice(panel, -1, choices=choices, size=(175, mwx.SMALL_CHOICE_HEIGHT)) self.yAxis_choice.Select(1) choices = ['fraction', 'standard', 'relative', 'kendrick'] if config.massDefectPlot['yAxis'] in choices: self.yAxis_choice.Select( choices.index(config.massDefectPlot['yAxis'])) self.yAxis_choice.Bind(wx.EVT_CHOICE, self.onAxisChanged) nominalMass_label = wx.StaticText(panel, -1, "Nominal mass:") nominalMass_label.SetFont(wx.SMALL_FONT) choices = ['Ceil', 'Round', 'Floor'] self.nominalMass_choice = wx.Choice(panel, -1, choices=choices, size=(80, mwx.SMALL_CHOICE_HEIGHT)) self.nominalMass_choice.Select(1) if config.massDefectPlot['nominalMass'].title() in choices: self.nominalMass_choice.Select( choices.index(config.massDefectPlot['nominalMass'].title())) kendrickFormula_label = wx.StaticText(panel, -1, "Kendrick formula:") kendrickFormula_label.SetFont(wx.SMALL_FONT) self.kendrickFormula_value = mwx.formulaCtrl( panel, -1, config.massDefectPlot['kendrickFormula'], size=(80, -1)) # make buttons self.plot_butt = wx.Button(panel, -1, "Plot", size=(-1, mwx.SMALL_BUTTON_HEIGHT)) self.plot_butt.Bind(wx.EVT_BUTTON, self.onPlot) self.onAxisChanged() # pack elements sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.AddSpacer(mwx.CONTROLBAR_LSPACE) sizer.Add(yAxis_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.yAxis_choice, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(20) sizer.Add(nominalMass_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.nominalMass_choice, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(20) sizer.Add(kendrickFormula_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.kendrickFormula_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddStretchSpacer() sizer.AddSpacer(20) sizer.Add(self.plot_butt, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(mwx.TOOLBAR_RSPACE) mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(sizer, 1, wx.EXPAND) panel.SetSizer(mainSizer) mainSizer.Fit(panel) return panel
def makeItemEditor(self): """Make items editor.""" mainSizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.VERTICAL) # make elements itemSearch_label = wx.StaticText(self, -1, "Search:") self.itemSearch_value = wx.TextCtrl(self, -1, "", size=(200, -1), style=wx.TE_PROCESS_ENTER) self.itemSearch_value.Bind(wx.EVT_TEXT, self.onSearch) itemAbbr_label = wx.StaticText(self, -1, "Abbr.:") self.itemAbbr_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemName_label = wx.StaticText(self, -1, "Name:") self.itemName_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemCategory_label = wx.StaticText(self, -1, "Category:") self.itemCategory_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemFormula_label = wx.StaticText(self, -1, "Formula:") self.itemFormula_value = mwx.formulaCtrl(self, -1, "", size=(150, -1)) self.itemFormula_value.Bind(wx.EVT_TEXT, self.onFormulaEdited) itemMoMass_label = wx.StaticText(self, -1, "Mo. mass:") self.itemMoMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemMoMass_label.Enable(False) self.itemMoMass_value.Enable(False) itemAvMass_label = wx.StaticText(self, -1, "Av. mass:") self.itemAvMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemAvMass_label.Enable(False) self.itemAvMass_value.Enable(False) itemLossMoMass_label = wx.StaticText(self, -1, "Mo. loss mass:") self.itemLossMoMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemLossMoMass_label.Enable(False) self.itemLossMoMass_value.Enable(False) itemLosses_label = wx.StaticText(self, -1, "Losses:") self.itemLosses_values = [] for x in range(4): item = mwx.formulaCtrl(self, -1, "", size=(100, -1)) item.Bind(wx.EVT_TEXT, self.onLossFormula) item.Bind(wx.EVT_SET_FOCUS, self.onLossFormula) item.Bind(wx.EVT_KILL_FOCUS, self.onLossFormula) self.itemLosses_values.append(item) # buttons add_butt = wx.Button(self, -1, "Add", size=(80,-1)) add_butt.Bind(wx.EVT_BUTTON, self.onAddItem) delete_butt = wx.Button(self, -1, "Delete", size=(80,-1)) delete_butt.Bind(wx.EVT_BUTTON, self.onDeleteItem) # pack elements grid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE) grid.Add(itemSearch_label, (0,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemSearch_value, (0,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAbbr_label, (1,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAbbr_value, (1,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemName_label, (2,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemName_value, (2,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemCategory_label, (3,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemCategory_value, (3,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemFormula_label, (0,3), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemFormula_value, (0,4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemMoMass_label, (1,3), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemMoMass_value, (1,4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAvMass_label, (2,3), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAvMass_value, (2,4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemLossMoMass_label, (3,3), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLossMoMass_value, (3,4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemLosses_label, (0,6), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLosses_values[0], (0,7), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLosses_values[1], (1,7), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLosses_values[2], (2,7), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLosses_values[3], (3,7), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(add_butt, (0,10), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(delete_butt, (1,10), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) mainSizer.Add(grid, 0, wx.ALIGN_CENTER|wx.ALL, 10) return mainSizer
def makeToolbar(self): """Make toolbar.""" # init toolbar panel = mwx.bgrPanel(self, -1, images.lib["bgrToolbar"], size=(-1, mwx.TOOLBAR_HEIGHT)) # make elements formula_label = wx.StaticText(panel, -1, "Formula:") formula_label.SetFont(wx.SMALL_FONT) self.formula_value = mwx.formulaCtrl(panel, -1, "", size=(220, -1)) charge_label = wx.StaticText(panel, -1, "Charge:") charge_label.SetFont(wx.SMALL_FONT) self.charge_value = wx.TextCtrl( panel, -1, str(config.envelopeFit["charge"]), size=(35, -1), validator=mwx.validator("int") ) exchange_label = wx.StaticText(panel, -1, "Exchange:") exchange_label.SetFont(wx.SMALL_FONT) self.exchangeLoss_value = mwx.formulaCtrl(panel, -1, str(config.envelopeFit["loss"]), size=(60, -1)) exchangeVs_label = wx.StaticText(panel, -1, " vs.") exchangeVs_label.SetFont(wx.SMALL_FONT) self.exchangeGain_value = mwx.formulaCtrl(panel, -1, str(config.envelopeFit["gain"]), size=(60, -1)) scale_label = wx.StaticText(panel, -1, "Range:") scale_label.SetFont(wx.SMALL_FONT) scaleDash_label = wx.StaticText(panel, -1, "-") scaleDash_label.SetFont(wx.SMALL_FONT) self.scaleMin_value = wx.TextCtrl( panel, -1, str(config.envelopeFit["scaleMin"]), size=(35, -1), validator=mwx.validator("intPos") ) self.scaleMax_value = wx.TextCtrl( panel, -1, str(config.envelopeFit["scaleMax"]), size=(35, -1), validator=mwx.validator("intPos") ) self.calculate_butt = wx.Button(panel, -1, "Calculate", size=(-1, mwx.SMALL_BUTTON_HEIGHT)) self.calculate_butt.Bind(wx.EVT_BUTTON, self.onCalculate) # pack elements sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.AddSpacer(mwx.CONTROLBAR_LSPACE) sizer.Add(formula_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.formula_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(20) sizer.Add(charge_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.charge_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(20) sizer.Add(exchange_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.exchangeLoss_value, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(exchangeVs_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.exchangeGain_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(20) sizer.Add(scale_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.scaleMin_value, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(scaleDash_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) sizer.Add(self.scaleMax_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddStretchSpacer() sizer.AddSpacer(20) sizer.Add(self.calculate_butt, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(mwx.CONTROLBAR_RSPACE) mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(sizer, 1, wx.EXPAND) mainSizer.Fit(panel) panel.SetSizer(mainSizer) return panel
def makeToolbar(self): """Make toolbar.""" # init toolbar panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT)) # make buttons self.summary_butt = wx.BitmapButton( panel, ID_massCalculatorSummary, images.lib['massCalculatorSummaryOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE) self.summary_butt.SetToolTip(wx.ToolTip("Compound summary")) self.summary_butt.Bind(wx.EVT_BUTTON, self.onToolSelected) self.ionseries_butt = wx.BitmapButton( panel, ID_massCalculatorIonSeries, images.lib['massCalculatorIonSeriesOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE) self.ionseries_butt.SetToolTip(wx.ToolTip("Ion series")) self.ionseries_butt.Bind(wx.EVT_BUTTON, self.onToolSelected) self.pattern_butt = wx.BitmapButton( panel, ID_massCalculatorPattern, images.lib['massCalculatorPatternOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE) self.pattern_butt.SetToolTip(wx.ToolTip("Isotopic pattern")) self.pattern_butt.Bind(wx.EVT_BUTTON, self.onToolSelected) # make compound fields compound_label = wx.StaticText(panel, -1, "Formula:") self.compound_value = mwx.formulaCtrl(panel, -1, "", size=(250, -1), style=wx.TE_PROCESS_ENTER) compound_label.SetFont(wx.SMALL_FONT) self.compound_value.Bind(wx.EVT_TEXT, self.onCompoundChanged) self.compound_value.Bind(wx.EVT_TEXT_ENTER, self.onCompoundChanged) # make save button self.save_butt = wx.Button(panel, -1, "Save", size=(-1, mwx.SMALL_BUTTON_HEIGHT)) self.save_butt.Bind(wx.EVT_BUTTON, self.onSave) # pack elements self.toolbar = wx.BoxSizer(wx.HORIZONTAL) self.toolbar.AddSpacer(mwx.TOOLBAR_LSPACE) self.toolbar.Add(self.summary_butt, 0, wx.ALIGN_CENTER_VERTICAL) self.toolbar.Add(self.ionseries_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, mwx.BUTTON_SIZE_CORRECTION) self.toolbar.Add(self.pattern_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, mwx.BUTTON_SIZE_CORRECTION) self.toolbar.AddSpacer(20) self.toolbar.Add(compound_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) self.toolbar.Add(self.compound_value, 1, wx.ALIGN_CENTER_VERTICAL) self.toolbar.AddSpacer(20) self.toolbar.Add(self.save_butt, 0, wx.ALIGN_CENTER_VERTICAL) self.toolbar.AddSpacer(mwx.TOOLBAR_RSPACE) mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(self.toolbar, 1, wx.EXPAND) panel.SetSizer(mainSizer) mainSizer.Fit(panel) return panel
def makeItemEditor(self): """Make items editor.""" mainSizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.VERTICAL) # make elements itemSearch_label = wx.StaticText(self, -1, "Search:") self.itemSearch_value = wx.TextCtrl(self, -1, "", size=(200, -1), style=wx.TE_PROCESS_ENTER) self.itemSearch_value.Bind(wx.EVT_TEXT, self.onSearch) itemAbbr_label = wx.StaticText(self, -1, "Abbr.:") self.itemAbbr_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemName_label = wx.StaticText(self, -1, "Name:") self.itemName_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemCategory_label = wx.StaticText(self, -1, "Category:") self.itemCategory_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemFormula_label = wx.StaticText(self, -1, "Formula:") self.itemFormula_value = mwx.formulaCtrl(self, -1, "", size=(150, -1)) self.itemFormula_value.Bind(wx.EVT_TEXT, self.onFormulaEdited) itemMoMass_label = wx.StaticText(self, -1, "Mo. mass:") self.itemMoMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemMoMass_label.Enable(False) self.itemMoMass_value.Enable(False) itemAvMass_label = wx.StaticText(self, -1, "Av. mass:") self.itemAvMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemAvMass_label.Enable(False) self.itemAvMass_value.Enable(False) itemLossMoMass_label = wx.StaticText(self, -1, "Mo. loss mass:") self.itemLossMoMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemLossMoMass_label.Enable(False) self.itemLossMoMass_value.Enable(False) itemLosses_label = wx.StaticText(self, -1, "Losses:") self.itemLosses_values = [] for x in range(4): item = mwx.formulaCtrl(self, -1, "", size=(100, -1)) item.Bind(wx.EVT_TEXT, self.onLossFormula) item.Bind(wx.EVT_SET_FOCUS, self.onLossFormula) item.Bind(wx.EVT_KILL_FOCUS, self.onLossFormula) self.itemLosses_values.append(item) # buttons add_butt = wx.Button(self, -1, "Add", size=(80, -1)) add_butt.Bind(wx.EVT_BUTTON, self.onAddItem) delete_butt = wx.Button(self, -1, "Delete", size=(80, -1)) delete_butt.Bind(wx.EVT_BUTTON, self.onDeleteItem) # pack elements grid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE) grid.Add(itemSearch_label, (0, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemSearch_value, (0, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAbbr_label, (1, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAbbr_value, (1, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemName_label, (2, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemName_value, (2, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemCategory_label, (3, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemCategory_value, (3, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemFormula_label, (0, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemFormula_value, (0, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemMoMass_label, (1, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemMoMass_value, (1, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAvMass_label, (2, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAvMass_value, (2, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemLossMoMass_label, (3, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLossMoMass_value, (3, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemLosses_label, (0, 6), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLosses_values[0], (0, 7), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLosses_values[1], (1, 7), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLosses_values[2], (2, 7), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLosses_values[3], (3, 7), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(add_butt, (0, 10), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(delete_butt, (1, 10), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) mainSizer.Add(grid, 0, wx.ALIGN_CENTER | wx.ALL, 10) return mainSizer
def makeItemEditor(self): """Make items editor.""" mainSizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.VERTICAL) # make elements itemName_label = wx.StaticText(self, -1, "Name:") self.itemName_value = wx.TextCtrl(self, -1, "", size=(250, -1)) itemDescription_label = wx.StaticText(self, -1, "Description:") self.itemDescription_value = wx.TextCtrl(self, -1, "", size=(250, -1)) itemAminoSpecifity_label = wx.StaticText(self, -1, "Amino specifity:") self.itemAminoSpecifity_value = wx.TextCtrl(self, -1, "", size=(250, -1)) itemTermSpecifity_label = wx.StaticText(self, -1, "Terminal specifity:") self.itemTermSpecifity_choice = wx.Choice( self, -1, choices=['None', 'N-terminus', 'C-terminus'], size=(250, mwx.CHOICE_HEIGHT)) self.itemTermSpecifity_choice.SetStringSelection('None') itemGainFormula_label = wx.StaticText(self, -1, "Gain formula:") self.itemGainFormula_value = mwx.formulaCtrl(self, -1, "", size=(150, -1)) self.itemGainFormula_value.Bind(wx.EVT_TEXT, self.onFormulaEdited) itemLossFormula_label = wx.StaticText(self, -1, "Loss formula:") self.itemLossFormula_value = mwx.formulaCtrl(self, -1, "", size=(150, -1)) self.itemLossFormula_value.Bind(wx.EVT_TEXT, self.onFormulaEdited) itemMoMass_label = wx.StaticText(self, -1, "Mo. mass:") self.itemMoMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemMoMass_label.Enable(False) self.itemMoMass_value.Enable(False) itemAvMass_label = wx.StaticText(self, -1, "Av. mass:") self.itemAvMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemAvMass_label.Enable(False) self.itemAvMass_value.Enable(False) # buttons add_butt = wx.Button(self, -1, "Add", size=(80, -1)) add_butt.Bind(wx.EVT_BUTTON, self.onAddItem) delete_butt = wx.Button(self, -1, "Delete", size=(80, -1)) delete_butt.Bind(wx.EVT_BUTTON, self.onDeleteItem) # pack elements grid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE) grid.Add(itemName_label, (0, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemName_value, (0, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemDescription_label, (1, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemDescription_value, (1, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAminoSpecifity_label, (2, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAminoSpecifity_value, (2, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemTermSpecifity_label, (3, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemTermSpecifity_choice, (3, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemGainFormula_label, (0, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemGainFormula_value, (0, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemLossFormula_label, (1, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLossFormula_value, (1, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemMoMass_label, (2, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemMoMass_value, (2, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAvMass_label, (3, 3), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAvMass_value, (3, 4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(add_butt, (0, 7), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(delete_butt, (1, 7), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) mainSizer.Add(grid, 0, wx.ALIGN_CENTER | wx.ALL, 10) return mainSizer
def makeItemEditor(self): """Make items editor.""" mainSizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.VERTICAL) # make elements itemName_label = wx.StaticText(self, -1, "Name:") self.itemName_value = wx.TextCtrl(self, -1, "", size=(250, -1)) itemDescription_label = wx.StaticText(self, -1, "Description:") self.itemDescription_value = wx.TextCtrl(self, -1, "", size=(250, -1)) itemAminoSpecifity_label = wx.StaticText(self, -1, "Amino specifity:") self.itemAminoSpecifity_value = wx.TextCtrl(self, -1, "", size=(250, -1)) itemTermSpecifity_label = wx.StaticText(self, -1, "Terminal specifity:") self.itemTermSpecifity_choice = wx.Choice(self, -1, choices=['None','N-terminus','C-terminus'], size=(250, mwx.CHOICE_HEIGHT)) self.itemTermSpecifity_choice.SetStringSelection('None') itemGainFormula_label = wx.StaticText(self, -1, "Gain formula:") self.itemGainFormula_value = mwx.formulaCtrl(self, -1, "", size=(150, -1)) self.itemGainFormula_value.Bind(wx.EVT_TEXT, self.onFormulaEdited) itemLossFormula_label = wx.StaticText(self, -1, "Loss formula:") self.itemLossFormula_value = mwx.formulaCtrl(self, -1, "", size=(150, -1)) self.itemLossFormula_value.Bind(wx.EVT_TEXT, self.onFormulaEdited) itemMoMass_label = wx.StaticText(self, -1, "Mo. mass:") self.itemMoMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemMoMass_label.Enable(False) self.itemMoMass_value.Enable(False) itemAvMass_label = wx.StaticText(self, -1, "Av. mass:") self.itemAvMass_value = wx.TextCtrl(self, -1, "", size=(150, -1)) itemAvMass_label.Enable(False) self.itemAvMass_value.Enable(False) # buttons add_butt = wx.Button(self, -1, "Add", size=(80,-1)) add_butt.Bind(wx.EVT_BUTTON, self.onAddItem) delete_butt = wx.Button(self, -1, "Delete", size=(80,-1)) delete_butt.Bind(wx.EVT_BUTTON, self.onDeleteItem) # pack elements grid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE) grid.Add(itemName_label, (0,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemName_value, (0,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemDescription_label, (1,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemDescription_value, (1,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAminoSpecifity_label, (2,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAminoSpecifity_value, (2,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemTermSpecifity_label, (3,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemTermSpecifity_choice, (3,1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemGainFormula_label, (0,3), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemGainFormula_value, (0,4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemLossFormula_label, (1,3), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemLossFormula_value, (1,4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemMoMass_label, (2,3), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemMoMass_value, (2,4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemAvMass_label, (3,3), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemAvMass_value, (3,4), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(add_butt, (0,7), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) grid.Add(delete_butt, (1,7), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) mainSizer.Add(grid, 0, wx.ALIGN_CENTER|wx.ALL, 10) return mainSizer
def makeGUI(self): """Make GUI elements.""" labelBox = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.HORIZONTAL) formulaBox = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.HORIZONTAL) # make elements label_label = wx.StaticText(self, -1, "Label:", style=wx.ALIGN_RIGHT) self.label_value = wx.TextCtrl(self, -1, '', size=(300,-1), style=wx.TE_PROCESS_ENTER) self.label_value.Bind(wx.EVT_TEXT_ENTER, self.onOK) formula_label = wx.StaticText(self, -1, "Formula:", style=wx.ALIGN_RIGHT) self.formula_value = mwx.formulaCtrl(self, -1, '', size=(300,-1), style=wx.TE_PROCESS_ENTER) self.formula_value.Bind(wx.EVT_TEXT, self.onFormula) self.formula_value.Bind(wx.EVT_TEXT_ENTER, self.onOK) theoreticalMZ_label = wx.StaticText(self, -1, "Theoretical m/z:", style=wx.ALIGN_RIGHT) self.theoreticalMZ_value = wx.TextCtrl(self, -1, '', size=(120,-1), style=wx.TE_PROCESS_ENTER, validator=mwx.validator('float')) self.theoreticalMZ_value.Bind(wx.EVT_TEXT_ENTER, self.onOK) charge_label = wx.StaticText(self, -1, " z:") self.charge_value = wx.TextCtrl(self, -1, '', size=(30,-1), style=wx.TE_PROCESS_ENTER, validator=mwx.validator('int')) self.charge_value.Bind(wx.EVT_TEXT, self.onFormula) self.charge_value.Bind(wx.EVT_TEXT_ENTER, self.onOK) self.radical_check = wx.CheckBox(self, -1, "M*", size=(50,-1)) self.radical_check.Bind(wx.EVT_CHECKBOX, self.onMassType) self.mzByUser_radio = wx.RadioButton(self, -1, "Manual", style=wx.RB_GROUP) self.mzByUser_radio.SetFont(wx.SMALL_FONT) self.mzByUser_radio.Bind(wx.EVT_RADIOBUTTON, self.onMassType) self.mzByUser_radio.SetValue(True) self.mzByFormulaMo_radio = wx.RadioButton(self, -1, "Mo") self.mzByFormulaMo_radio.SetFont(wx.SMALL_FONT) self.mzByFormulaMo_radio.Bind(wx.EVT_RADIOBUTTON, self.onMassType) self.mzByFormulaAv_radio = wx.RadioButton(self, -1, "Av") self.mzByFormulaAv_radio.SetFont(wx.SMALL_FONT) self.mzByFormulaAv_radio.Bind(wx.EVT_RADIOBUTTON, self.onMassType) buttons = self.makeButtons() # pack elements labelBox.Add(label_label, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) labelBox.Add(self.label_value, 1, wx.TOP|wx.RIGHT|wx.BOTTOM|wx.ALIGN_CENTER_VERTICAL, 10) formulaGrid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE) formulaGrid.Add(formula_label, (0,0), flag=wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT) formulaGrid.Add(self.formula_value, (0,1), (1,7), flag=wx.EXPAND) formulaGrid.Add(theoreticalMZ_label, (1,0), flag=wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT) formulaGrid.Add(self.theoreticalMZ_value, (1,1)) formulaGrid.Add(charge_label, (1,2), flag=wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT) formulaGrid.Add(self.charge_value, (1,3)) formulaGrid.Add(self.radical_check, (1,4), flag=wx.ALIGN_CENTER_VERTICAL) formulaGrid.Add(self.mzByUser_radio, (1,5), flag=wx.ALIGN_CENTER_VERTICAL) formulaGrid.Add(self.mzByFormulaMo_radio, (1,6), flag=wx.ALIGN_CENTER_VERTICAL) formulaGrid.Add(self.mzByFormulaAv_radio, (1,7), flag=wx.ALIGN_CENTER_VERTICAL) formulaGrid.AddGrowableCol(1) formulaBox.Add(formulaGrid, 1, wx.EXPAND|wx.ALL, 10) mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(labelBox, 0, wx.EXPAND|wx.CENTER|wx.ALL, mwx.PANEL_SPACE_MAIN) mainSizer.Add(formulaBox, 0, wx.EXPAND|wx.CENTER|wx.LEFT|wx.RIGHT|wx.BOTTOM, mwx.PANEL_SPACE_MAIN) mainSizer.Add(buttons, 0, wx.CENTER|wx.LEFT|wx.RIGHT|wx.BOTTOM, mwx.PANEL_SPACE_MAIN) return mainSizer
def makeToolbar(self): """Make toolbar.""" # init toolbar panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT)) # make elements formula_label = wx.StaticText(panel, -1, "Formula:") formula_label.SetFont(wx.SMALL_FONT) self.formula_value = mwx.formulaCtrl(panel, -1, "", size=(220, -1)) charge_label = wx.StaticText(panel, -1, "Charge:") charge_label.SetFont(wx.SMALL_FONT) self.charge_value = wx.TextCtrl(panel, -1, str(config.envelopeFit['charge']), size=(35, -1), validator=mwx.validator('int')) exchange_label = wx.StaticText(panel, -1, "Exchange:") exchange_label.SetFont(wx.SMALL_FONT) self.exchangeLoss_value = mwx.formulaCtrl(panel, -1, str(config.envelopeFit['loss']), size=(60, -1)) exchangeVs_label = wx.StaticText(panel, -1, " vs.") exchangeVs_label.SetFont(wx.SMALL_FONT) self.exchangeGain_value = mwx.formulaCtrl(panel, -1, str(config.envelopeFit['gain']), size=(60, -1)) scale_label = wx.StaticText(panel, -1, "Range:") scale_label.SetFont(wx.SMALL_FONT) scaleDash_label = wx.StaticText(panel, -1, "-") scaleDash_label.SetFont(wx.SMALL_FONT) self.scaleMin_value = wx.TextCtrl(panel, -1, str(config.envelopeFit['scaleMin']), size=(35, -1), validator=mwx.validator('intPos')) self.scaleMax_value = wx.TextCtrl(panel, -1, str(config.envelopeFit['scaleMax']), size=(35, -1), validator=mwx.validator('intPos')) self.calculate_butt = wx.Button(panel, -1, "Calculate", size=(-1, mwx.SMALL_BUTTON_HEIGHT)) self.calculate_butt.Bind(wx.EVT_BUTTON, self.onCalculate) # pack elements sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.AddSpacer(mwx.CONTROLBAR_LSPACE) sizer.Add(formula_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(self.formula_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(20) sizer.Add(charge_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(self.charge_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(20) sizer.Add(exchange_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(self.exchangeLoss_value, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(exchangeVs_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(self.exchangeGain_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(20) sizer.Add(scale_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(self.scaleMin_value, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(scaleDash_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5) sizer.Add(self.scaleMax_value, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddStretchSpacer() sizer.AddSpacer(20) sizer.Add(self.calculate_butt, 0, wx.ALIGN_CENTER_VERTICAL) sizer.AddSpacer(mwx.CONTROLBAR_RSPACE) mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(sizer, 1, wx.EXPAND) mainSizer.Fit(panel) panel.SetSizer(mainSizer) return panel
def makeItemEditor(self): """Make items editor.""" mainSizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, ""), wx.VERTICAL) # make elements itemName_label = wx.StaticText(self, -1, "Name:") self.itemName_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemExpression_label = wx.StaticText(self, -1, "Expression:") self.itemExpression_value = wx.TextCtrl(self, -1, "", size=(200, -1)) itemCTerm_label = wx.StaticText(self, -1, "C-term formula:") self.itemCTerm_value = mwx.formulaCtrl(self, -1, "", size=(200, -1)) itemNTerm_label = wx.StaticText(self, -1, "N-term formula:") self.itemNTerm_value = mwx.formulaCtrl(self, -1, "", size=(200, -1)) self.itemModsBefore_check = wx.CheckBox( self, -1, "Allow modification before cut") self.itemModsAfter_check = wx.CheckBox(self, -1, "Allow modification after cut") # buttons add_butt = wx.Button(self, -1, "Add", size=(80, -1)) add_butt.Bind(wx.EVT_BUTTON, self.onAddItem) delete_butt = wx.Button(self, -1, "Delete", size=(80, -1)) delete_butt.Bind(wx.EVT_BUTTON, self.onDeleteItem) # pack elements grid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE) grid.Add(itemName_label, (0, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemName_value, (0, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemExpression_label, (1, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemExpression_value, (1, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemCTerm_label, (2, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemCTerm_value, (2, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(itemNTerm_label, (3, 0), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemNTerm_value, (3, 1), flag=wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemModsBefore_check, (0, 3), flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL) grid.Add(self.itemModsAfter_check, (1, 3), flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL) grid.Add(add_butt, (0, 7), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) grid.Add(delete_butt, (1, 7), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) mainSizer.Add(grid, 0, wx.ALIGN_CENTER | wx.ALL, 10) return mainSizer