コード例 #1
0
 def makeToolbar(self):
     """Make bottom toolbar."""
     
     # init toolbar panel
     panel = mwx.bgrPanel(self, -1, images.lib['bgrBottombar'], size=(-1, mwx.BOTTOMBAR_HEIGHT))
     
     self.add_butt = wx.BitmapButton(panel, -1, images.lib['documentsAdd'], size=(mwx.BOTTOMBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.add_butt.SetToolTip(wx.ToolTip("Add..."))
     self.add_butt.Bind(wx.EVT_BUTTON, self.onAdd)
     
     self.delete_butt = wx.BitmapButton(panel, -1, images.lib['documentsDelete'], size=(mwx.BOTTOMBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.delete_butt.SetToolTip(wx.ToolTip("Remove..."))
     self.delete_butt.Bind(wx.EVT_BUTTON, self.onDelete)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.BOTTOMBAR_LSPACE)
     sizer.Add(self.add_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.Add(self.delete_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     sizer.AddSpacer(mwx.BOTTOMBAR_RSPACE)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(sizer, 1, wx.EXPAND)
     
     panel.SetSizer(mainSizer)
     mainSizer.Fit(panel)
     
     return panel
コード例 #2
0
 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
コード例 #3
0
ファイル: panel_profound.py プロジェクト: wwissdorf/mmass
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make tools
     self.pmf_butt = wx.BitmapButton(panel, ID_profoundPMF, images.lib['profoundPMFOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.pmf_butt.SetToolTip(wx.ToolTip("Peptide mass fingerprint"))
     self.pmf_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.query_butt = wx.BitmapButton(panel, ID_profoundQuery, images.lib['profoundQueryOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.query_butt.SetToolTip(wx.ToolTip("Peak list"))
     self.query_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.search_butt = wx.Button(panel, -1, "Search", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.search_butt.Bind(wx.EVT_BUTTON, self.onSearch)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
     sizer.Add(self.pmf_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.Add(self.query_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     sizer.AddStretchSpacer()
     sizer.AddSpacer(20)
     sizer.Add(self.search_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
コード例 #4
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbarNoBorder'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make elements
     if wx.Platform == '__WXMAC__':
         self.search_value = wx.SearchCtrl(panel, -1, size=(150, mwx.SMALL_SEARCH_HEIGHT), style=wx.TE_PROCESS_ENTER)
         self.search_value.ShowCancelButton(True)
         self.search_value.SetDescriptiveText('Search')
         self.search_value.Bind(wx.EVT_TEXT, self.onSearch)
         self.search_value.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, lambda evt: self.search_value.SetValue(''))
     else:
         self.search_value = wx.TextCtrl(panel, -1, size=(150, mwx.SMALL_SEARCH_HEIGHT), style=wx.TE_PROCESS_ENTER)
         self.search_value.Bind(wx.EVT_TEXT, self.onSearch)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
     sizer.Add(self.search_value, 1, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(sizer, 1, wx.EXPAND)
     panel.SetSizer(mainSizer)
     mainSizer.Fit(panel)
     
     return panel
コード例 #5
0
 def makeIonseriesPanel(self):
     """Make controls for ionseries."""
     
     # init panel
     ctrlPanel = mwx.bgrPanel(self, -1, images.lib['bgrControlbar'], size=(-1, mwx.CONTROLBAR_HEIGHT))
     
     # make controls
     ionseriesAgent_label = wx.StaticText(ctrlPanel, -1, "Agent:")
     ionseriesAgent_label.SetFont(wx.SMALL_FONT)
     self.ionseriesAgentFormula_value = wx.TextCtrl(ctrlPanel, -1, config.massCalculator['ionseriesAgent'], size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
     self.ionseriesAgentFormula_value.SetFont(wx.SMALL_FONT)
     self.ionseriesAgentFormula_value.Bind(wx.EVT_TEXT, self.onCompoundChanged)
     
     ionseriesAgentCharge_label = wx.StaticText(ctrlPanel, -1, "Agent charge:")
     ionseriesAgentCharge_label.SetFont(wx.SMALL_FONT)
     self.ionseriesAgentCharge_value = wx.TextCtrl(ctrlPanel, -1, str(config.massCalculator['ionseriesAgentCharge']), size=(40, mwx.SMALL_TEXTCTRL_HEIGHT), validator=mwx.validator('int'))
     self.ionseriesAgentCharge_value.SetFont(wx.SMALL_FONT)
     self.ionseriesAgentCharge_value.Bind(wx.EVT_TEXT, self.onCompoundChanged)
     
     ionseriesPolarity_label = wx.StaticText(ctrlPanel, -1, "Polarity:")
     ionseriesPolarity_label.SetFont(wx.SMALL_FONT)
     
     self.ionseriesPositive_radio = wx.RadioButton(ctrlPanel, -1, "Positive", style=wx.RB_GROUP)
     self.ionseriesPositive_radio.SetFont(wx.SMALL_FONT)
     self.ionseriesPositive_radio.Bind(wx.EVT_RADIOBUTTON, self.onCompoundChanged)
     
     self.ionseriesNegative_radio = wx.RadioButton(ctrlPanel, -1, "Negative")
     self.ionseriesNegative_radio.SetFont(wx.SMALL_FONT)
     self.ionseriesNegative_radio.Bind(wx.EVT_RADIOBUTTON, self.onCompoundChanged)
     
     if config.massCalculator['ionseriesPolarity'] == -1:
         self.ionseriesNegative_radio.SetValue(True)
     else:
         self.ionseriesPositive_radio.SetValue(True)
     
     # pack controls
     controls = wx.BoxSizer(wx.HORIZONTAL)
     controls.AddSpacer(mwx.CONTROLBAR_LSPACE)
     controls.Add(ionseriesAgent_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.ionseriesAgentFormula_value, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(20)
     controls.Add(ionseriesAgentCharge_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.ionseriesAgentCharge_value, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(20)
     controls.Add(ionseriesPolarity_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.ionseriesPositive_radio, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.ionseriesNegative_radio, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(mwx.CONTROLBAR_RSPACE)
     controls.Fit(ctrlPanel)
     ctrlPanel.SetSizer(controls)
     
     # make ions list
     self.makeIonsList()
     
     # pack main
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(ctrlPanel, 0, wx.EXPAND)
     mainSizer.Add(self.ionsList, 1, wx.EXPAND|wx.ALL, mwx.LISTCTRL_NO_SPACE)
     
     return mainSizer
コード例 #6
0
    def makeControlbar(self):
        """Make controlbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrControlbar'],
                             size=(-1, mwx.CONTROLBAR_HEIGHT))

        # make elements
        filter_label = wx.StaticText(panel, -1, "Remove:")
        filter_label.SetFont(wx.SMALL_FONT)

        self.filterAnnotations_check = wx.CheckBox(panel, -1, "Annotated")
        self.filterAnnotations_check.SetFont(wx.SMALL_FONT)
        self.filterAnnotations_check.SetValue(
            config.match['filterAnnotations'])
        self.filterAnnotations_check.Bind(wx.EVT_CHECKBOX, self.onFilter)

        self.filterMatches_check = wx.CheckBox(panel, -1, "Matched")
        self.filterMatches_check.SetFont(wx.SMALL_FONT)
        self.filterMatches_check.SetValue(config.match['filterMatches'])
        self.filterMatches_check.Bind(wx.EVT_CHECKBOX, self.onFilter)

        self.filterUnselected_check = wx.CheckBox(panel, -1, "Unselected")
        self.filterUnselected_check.SetFont(wx.SMALL_FONT)
        self.filterUnselected_check.SetValue(config.match['filterUnselected'])
        self.filterUnselected_check.Bind(wx.EVT_CHECKBOX, self.onFilter)

        self.filterIsotopes_check = wx.CheckBox(panel, -1, "Isotopes")
        self.filterIsotopes_check.SetFont(wx.SMALL_FONT)
        self.filterIsotopes_check.SetValue(config.match['filterIsotopes'])
        self.filterIsotopes_check.Bind(wx.EVT_CHECKBOX, self.onFilter)

        self.filterUnknown_check = wx.CheckBox(panel, -1, "Unknown")
        self.filterUnknown_check.SetFont(wx.SMALL_FONT)
        self.filterUnknown_check.SetValue(config.match['filterUnknown'])
        self.filterUnknown_check.Bind(wx.EVT_CHECKBOX, self.onFilter)

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(filter_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.filterAnnotations_check, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.filterMatches_check, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.filterUnselected_check, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.filterIsotopes_check, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.filterUnknown_check, 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
コード例 #7
0
    def makeReferencesPanel(self):
        """Make references selection panel."""

        # init panel
        ctrlPanel = mwx.bgrPanel(self, -1, images.lib["bgrControlbar"], size=(-1, mwx.CONTROLBAR_HEIGHT))

        # make controls
        references_label = wx.StaticText(ctrlPanel, -1, "References:")
        references_label.SetFont(wx.SMALL_FONT)
        choices = libs.references.keys()
        choices.sort()
        choices.insert(0, "Reference lists")
        self.references_choice = wx.Choice(ctrlPanel, -1, choices=choices, size=(250, mwx.SMALL_CHOICE_HEIGHT))
        self.references_choice.Select(0)
        self.references_choice.Bind(wx.EVT_CHOICE, self.onReferencesSelected)

        tolerance_label = wx.StaticText(ctrlPanel, -1, "Tolerance:")
        tolerance_label.SetFont(wx.SMALL_FONT)
        self.tolerance_value = wx.TextCtrl(
            ctrlPanel,
            -1,
            str(config.calibration["tolerance"]),
            size=(50, mwx.SMALL_TEXTCTRL_HEIGHT),
            validator=mwx.validator("floatPos"),
        )
        self.tolerance_value.SetFont(wx.SMALL_FONT)
        self.toleranceUnits_label = wx.StaticText(ctrlPanel, -1, config.calibration["units"])
        self.toleranceUnits_label.SetFont(wx.SMALL_FONT)

        self.statCalibration_check = wx.CheckBox(ctrlPanel, -1, "Statistical only")
        self.statCalibration_check.SetFont(wx.SMALL_FONT)
        self.statCalibration_check.Bind(wx.EVT_CHECKBOX, self.onStatCalibration)

        self.makeReferencesList()

        # pack controls
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(references_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.references_choice, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.toleranceUnits_label, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.statCalibration_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)

        controls = wx.BoxSizer(wx.VERTICAL)
        controls.Add(sizer, 1, wx.EXPAND)
        controls.Fit(ctrlPanel)
        ctrlPanel.SetSizer(controls)

        # pack main
        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(ctrlPanel, 0, wx.EXPAND, 0)
        mainSizer.Add(self.referencesList, 1, wx.EXPAND | wx.ALL, mwx.LISTCTRL_NO_SPACE)

        return mainSizer
コード例 #8
0
 def makeControlbar2(self):
     """Make rules controlbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrControlbar'], size=(-1, mwx.CONTROLBAR_HEIGHT))
     
     # make controls
     rules_label = wx.StaticText(panel, -1, "Composition rules:")
     rules_label.SetFont(wx.SMALL_FONT)
     
     self.ruleHC_check = wx.CheckBox(panel, -1, "H/C")
     self.ruleHC_check.SetFont(wx.SMALL_FONT)
     self.ruleHC_check.SetValue(('HC' in config.massToFormula['rules']))
     self.ruleHC_check.Bind(wx.EVT_CHECKBOX, self.onApplyRules)
     
     self.ruleNOPSC_check = wx.CheckBox(panel, -1, "NOPS/C")
     self.ruleNOPSC_check.SetFont(wx.SMALL_FONT)
     self.ruleNOPSC_check.SetValue(('NOPSC' in config.massToFormula['rules']))
     self.ruleNOPSC_check.Bind(wx.EVT_CHECKBOX, self.onApplyRules)
     
     self.ruleNOPS_check = wx.CheckBox(panel, -1, "NOPS")
     self.ruleNOPS_check.SetFont(wx.SMALL_FONT)
     self.ruleNOPS_check.SetValue(('NOPS' in config.massToFormula['rules']))
     self.ruleNOPS_check.Bind(wx.EVT_CHECKBOX, self.onApplyRules)
     
     self.ruleRDBE_check = wx.CheckBox(panel, -1, "RDBE")
     self.ruleRDBE_check.SetFont(wx.SMALL_FONT)
     self.ruleRDBE_check.SetValue(('RDBE' in config.massToFormula['rules']))
     self.ruleRDBE_check.Bind(wx.EVT_CHECKBOX, self.onApplyRules)
     
     self.ruleRDBEInt_check = wx.CheckBox(panel, -1, "Integer RDBE")
     self.ruleRDBEInt_check.SetFont(wx.SMALL_FONT)
     self.ruleRDBEInt_check.SetValue(('RDBEInt' in config.massToFormula['rules']))
     self.ruleRDBEInt_check.Bind(wx.EVT_CHECKBOX, self.onApplyRules)
     
     self.checkPattern_check = wx.CheckBox(panel, -1, "Check isotopic pattern")
     self.checkPattern_check.SetFont(wx.SMALL_FONT)
     self.checkPattern_check.SetValue(config.massToFormula['checkPattern'])
     
     # pack controls
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(rules_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.ruleHC_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.ruleNOPSC_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.ruleNOPS_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.ruleRDBE_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.ruleRDBEInt_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 40)
     sizer.Add(self.checkPattern_check, 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
コード例 #9
0
ファイル: panel_match.py プロジェクト: jojoelfe/mMass_HDX
 def makeControlbar(self):
     """Make controlbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrControlbar'], size=(-1, mwx.CONTROLBAR_HEIGHT))
     
     # make elements
     filter_label = wx.StaticText(panel, -1, "Remove:")
     filter_label.SetFont(wx.SMALL_FONT)
     
     self.filterAnnotations_check = wx.CheckBox(panel, -1, "Annotated")
     self.filterAnnotations_check.SetFont(wx.SMALL_FONT)
     self.filterAnnotations_check.SetValue(config.match['filterAnnotations'])
     self.filterAnnotations_check.Bind(wx.EVT_CHECKBOX, self.onFilter)
     
     self.filterMatches_check = wx.CheckBox(panel, -1, "Matched")
     self.filterMatches_check.SetFont(wx.SMALL_FONT)
     self.filterMatches_check.SetValue(config.match['filterMatches'])
     self.filterMatches_check.Bind(wx.EVT_CHECKBOX, self.onFilter)
     
     self.filterUnselected_check = wx.CheckBox(panel, -1, "Unselected")
     self.filterUnselected_check.SetFont(wx.SMALL_FONT)
     self.filterUnselected_check.SetValue(config.match['filterUnselected'])
     self.filterUnselected_check.Bind(wx.EVT_CHECKBOX, self.onFilter)
     
     self.filterIsotopes_check = wx.CheckBox(panel, -1, "Isotopes")
     self.filterIsotopes_check.SetFont(wx.SMALL_FONT)
     self.filterIsotopes_check.SetValue(config.match['filterIsotopes'])
     self.filterIsotopes_check.Bind(wx.EVT_CHECKBOX, self.onFilter)
     
     self.filterUnknown_check = wx.CheckBox(panel, -1, "Unknown")
     self.filterUnknown_check.SetFont(wx.SMALL_FONT)
     self.filterUnknown_check.SetValue(config.match['filterUnknown'])
     self.filterUnknown_check.Bind(wx.EVT_CHECKBOX, self.onFilter)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(filter_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.filterAnnotations_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.filterMatches_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.filterUnselected_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.filterIsotopes_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.filterUnknown_check, 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
コード例 #10
0
 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
コード例 #11
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbarNoBorder'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make tools
     references_label = wx.StaticText(panel, -1, "References:")
     references_label.SetFont(wx.SMALL_FONT)
     
     choices = libs.references.keys()
     choices.sort()
     choices.insert(0,'Reference lists')
     self.references_choice = wx.Choice(panel, -1, choices=choices, size=(200, mwx.SMALL_CHOICE_HEIGHT))
     self.references_choice.Select(0)
     self.references_choice.Bind(wx.EVT_CHOICE, self.onReferencesSelected)
     
     # make buttons
     self.match_butt = wx.Button(panel, -1, "Match", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.match_butt.Bind(wx.EVT_BUTTON, self.onMatch)
     
     self.annotate_butt = wx.Button(panel, -1, "Annotate", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.annotate_butt.Bind(wx.EVT_BUTTON, self.onAnnotate)
     
     self.remove_butt = wx.Button(panel, -1, "Remove", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.remove_butt.Bind(wx.EVT_BUTTON, self.onRemove)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(references_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.references_choice, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddStretchSpacer()
     sizer.AddSpacer(20)
     sizer.Add(self.match_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     sizer.Add(self.annotate_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     sizer.Add(self.remove_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
コード例 #12
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make highlights
     highlight_label = wx.StaticText(panel, -1, "Highlight:")
     highlight_label.SetFont(wx.SMALL_FONT)
     choices = ['None', '---', 'Metals', 'Alkali Metals', 'Alkaline Earth Metals', 'Inner Transition Metals', 'Lanthanides', 'Actinides', 'Transition Metals', 'Post-Transition Metals', '---', 'Nonmetals', 'Halogens', 'Noble Gasses', 'Other Nonmetals', '---', 'Metalloids']
     self.highlight_choice = wx.Choice(panel, -1, choices=choices, size=(-1, mwx.SMALL_CHOICE_HEIGHT))
     self.highlight_choice.Select(0)
     self.highlight_choice.Bind(wx.EVT_CHOICE, self.onHighlightGroup)
     
     # make buttons
     self.isotopes_butt = wx.Button(panel, -1, "Isotopes", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.isotopes_butt.Bind(wx.EVT_BUTTON, self.onIsotopes)
     self.isotopes_butt.Enable(False)
     
     self.wiki_butt = wx.Button(panel, -1, "Wikipedia", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.wiki_butt.Bind(wx.EVT_BUTTON, self.onWiki)
     
     self.photos_butt = wx.Button(panel, -1, "Photos", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.photos_butt.Bind(wx.EVT_BUTTON, self.onPhotos)
     self.photos_butt.Enable(False)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(highlight_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.highlight_choice, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddStretchSpacer()
     sizer.AddSpacer(20)
     sizer.Add(self.isotopes_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     sizer.Add(self.wiki_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     sizer.Add(self.photos_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(sizer, 1, wx.EXPAND)
     panel.SetSizer(mainSizer)
     mainSizer.Fit(panel)
     
     return panel
コード例 #13
0
 def makeToolbar(self):
     """Make bottom toolbar."""
     
     # init toolbar panel
     panel = mwx.bgrPanel(self, -1, images.lib['bgrBottombar'], size=(-1, mwx.BOTTOMBAR_HEIGHT))
     
     self.addPeak_butt = wx.BitmapButton(panel, -1, images.lib['peaklistAdd'], size=(mwx.BOTTOMBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.addPeak_butt.SetToolTip(wx.ToolTip("Add peak manually..."))
     self.addPeak_butt.Bind(wx.EVT_BUTTON, self.onAdd)
     
     self.deletePeak_butt = wx.BitmapButton(panel, -1, images.lib['peaklistDelete'], size=(mwx.BOTTOMBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.deletePeak_butt.SetToolTip(wx.ToolTip("Remove peaks..."))
     self.deletePeak_butt.Bind(wx.EVT_BUTTON, self.onDelete)
     
     self.annotatePeak_butt = wx.BitmapButton(panel, -1, images.lib['peaklistAnnotate'], size=(mwx.BOTTOMBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.annotatePeak_butt.SetToolTip(wx.ToolTip("Annotate peak..."))
     self.annotatePeak_butt.Bind(wx.EVT_BUTTON, self.onAnnotate)
     
     self.editPeak_butt = wx.BitmapButton(panel, -1, images.lib['peaklistEditorOff'], size=(mwx.BOTTOMBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.editPeak_butt.SetToolTip(wx.ToolTip("Show / hide peak editor"))
     self.editPeak_butt.Bind(wx.EVT_BUTTON, self.onEdit)
     
     self.peaksCount = wx.StaticText(panel, -1, "")
     self.peaksCount.SetFont(wx.SMALL_FONT)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.BOTTOMBAR_LSPACE)
     sizer.Add(self.addPeak_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.Add(self.deletePeak_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     sizer.Add(self.annotatePeak_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     sizer.Add(self.editPeak_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     sizer.AddSpacer(10)
     sizer.Add(self.peaksCount, 0, wx.ALIGN_CENTER_VERTICAL, 0)
     sizer.AddSpacer(mwx.BOTTOMBAR_RSPACE)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(sizer, 1, wx.EXPAND)
     
     panel.SetSizer(mainSizer)
     mainSizer.Fit(panel)
     
     return panel
コード例 #14
0
 def makeControlbar(self):
     """Make controlbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrControlbar'], size=(-1, mwx.CONTROLBAR_HEIGHT))
     
     # make elements
     self.collapse_butt = wx.BitmapButton(panel, -1, images.lib['arrowsDown'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.collapse_butt.Bind(wx.EVT_BUTTON, self.onCollapse)
     
     self.showPeaks_check = wx.CheckBox(panel, -1, "Show peaks")
     self.showPeaks_check.SetFont(wx.SMALL_FONT)
     self.showPeaks_check.SetValue(config.spectrumGenerator['showPeaks'])
     self.showPeaks_check.Bind(wx.EVT_CHECKBOX, self.onShowPeaks)
     
     self.showOverlay_check = wx.CheckBox(panel, -1, "Show overlay")
     self.showOverlay_check.SetFont(wx.SMALL_FONT)
     self.showOverlay_check.SetValue(config.spectrumGenerator['showOverlay'])
     self.showOverlay_check.Bind(wx.EVT_CHECKBOX, self.onShowOverlay)
     
     self.showFlipped_check = wx.CheckBox(panel, -1, "Flip overlay")
     self.showFlipped_check.SetFont(wx.SMALL_FONT)
     self.showFlipped_check.SetValue(config.spectrumGenerator['showFlipped'])
     self.showFlipped_check.Bind(wx.EVT_CHECKBOX, self.onShowFlipped)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(self.collapse_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(10)
     sizer.Add(self.showPeaks_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.showOverlay_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.showFlipped_check, 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
コード例 #15
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbarNoBorder'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make elements
        if wx.Platform == '__WXMAC__':
            self.search_value = wx.SearchCtrl(panel,
                                              -1,
                                              size=(150,
                                                    mwx.SMALL_SEARCH_HEIGHT),
                                              style=wx.TE_PROCESS_ENTER)
            self.search_value.ShowCancelButton(True)
            self.search_value.SetDescriptiveText('Search')
            self.search_value.Bind(wx.EVT_TEXT, self.onSearch)
            self.search_value.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN,
                                   lambda evt: self.search_value.SetValue(''))
        else:
            self.search_value = wx.TextCtrl(panel,
                                            -1,
                                            size=(150,
                                                  mwx.SMALL_SEARCH_HEIGHT),
                                            style=wx.TE_PROCESS_ENTER)
            self.search_value.Bind(wx.EVT_TEXT, self.onSearch)

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
        sizer.Add(self.search_value, 1, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(mwx.TOOLBAR_LSPACE)

        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(sizer, 1, wx.EXPAND)
        panel.SetSizer(mainSizer)
        mainSizer.Fit(panel)

        return panel
コード例 #16
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make buttons
     self.image_butt = wx.BitmapButton(panel, ID_documentExportImage, images.lib['documentExportImageOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.image_butt.SetToolTip(wx.ToolTip("Export spectrum image"))
     self.image_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.peaklist_butt = wx.BitmapButton(panel, ID_documentExportPeaklist, images.lib['documentExportPeaklistOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.peaklist_butt.SetToolTip(wx.ToolTip("Export peak list"))
     self.peaklist_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.spectrum_butt = wx.BitmapButton(panel, ID_documentExportSpectrum, images.lib['documentExportSpectrumOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.spectrum_butt.SetToolTip(wx.ToolTip("Export spectrum data"))
     self.spectrum_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     # make controls
     self.export_butt = wx.Button(panel, -1, "Export", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.export_butt.Bind(wx.EVT_BUTTON, self.onExport)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
     sizer.Add(self.image_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.Add(self.peaklist_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     sizer.Add(self.spectrum_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     sizer.AddStretchSpacer()
     sizer.AddSpacer(20)
     sizer.Add(self.export_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
コード例 #17
0
 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_documentInfoSummary, images.lib['documentInfoSummaryOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.summary_butt.SetToolTip(wx.ToolTip("Document summary"))
     self.summary_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.spectrum_butt = wx.BitmapButton(panel, ID_documentInfoSpectrum, images.lib['documentInfoSpectrumOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.spectrum_butt.SetToolTip(wx.ToolTip("Spectrum information"))
     self.spectrum_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.notes_butt = wx.BitmapButton(panel, ID_documentInfoNotes, images.lib['documentInfoNotesOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.notes_butt.SetToolTip(wx.ToolTip("Analysis notes"))
     self.notes_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.presets_butt = wx.BitmapButton(panel, -1, images.lib['toolsPresets'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.presets_butt.SetToolTip(wx.ToolTip("Operator presets"))
     self.presets_butt.Bind(wx.EVT_BUTTON, self.onPresets)
     
     # 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.spectrum_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     self.toolbar.Add(self.notes_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     self.toolbar.AddSpacer(20)
     self.toolbar.Add(self.presets_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
コード例 #18
0
ファイル: panel_calibration.py プロジェクト: wwissdorf/mmass
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbar'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make buttons
        self.references_butt = wx.BitmapButton(
            panel,
            ID_calibrationReferences,
            images.lib['calibrationReferencesOff'],
            size=(mwx.TOOLBAR_TOOLSIZE),
            style=wx.BORDER_NONE)
        self.references_butt.SetToolTip(wx.ToolTip("Calibration references"))
        self.references_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        self.errors_butt = wx.BitmapButton(panel,
                                           ID_calibrationErrors,
                                           images.lib['calibrationErrorsOff'],
                                           size=(mwx.TOOLBAR_TOOLSIZE),
                                           style=wx.BORDER_NONE)
        self.errors_butt.SetToolTip(wx.ToolTip("Calibration error plot"))
        self.errors_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        # make controls
        fitting_label = wx.StaticText(panel, -1, "Fitting:")
        fitting_label.SetFont(wx.SMALL_FONT)

        self.linearFit_radio = wx.RadioButton(panel,
                                              -1,
                                              "Linear",
                                              style=wx.RB_GROUP)
        self.linearFit_radio.SetFont(wx.SMALL_FONT)
        self.linearFit_radio.SetValue(True)
        self.linearFit_radio.Bind(wx.EVT_RADIOBUTTON, self.onModelChanged)

        self.quadraticFit_radio = wx.RadioButton(panel, -1, "Quadratic")
        self.quadraticFit_radio.SetFont(wx.SMALL_FONT)
        self.quadraticFit_radio.SetValue(
            (config.calibration['fitting'] == 'quadratic'))
        self.quadraticFit_radio.Bind(wx.EVT_RADIOBUTTON, self.onModelChanged)

        units_label = wx.StaticText(panel, -1, "Units:")
        units_label.SetFont(wx.SMALL_FONT)

        self.unitsDa_radio = wx.RadioButton(panel, -1, "Da", style=wx.RB_GROUP)
        self.unitsDa_radio.SetFont(wx.SMALL_FONT)
        self.unitsDa_radio.SetValue(True)
        self.unitsDa_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)

        self.unitsPpm_radio = wx.RadioButton(panel, -1, "ppm")
        self.unitsPpm_radio.SetFont(wx.SMALL_FONT)
        self.unitsPpm_radio.SetValue((config.calibration['units'] == 'ppm'))
        self.unitsPpm_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)

        self.assign_butt = wx.Button(panel,
                                     -1,
                                     "Assign",
                                     size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.assign_butt.Bind(wx.EVT_BUTTON, self.onAssign)

        self.apply_butt = wx.Button(panel,
                                    -1,
                                    "Apply",
                                    size=(100, mwx.SMALL_BUTTON_HEIGHT))
        self.apply_butt.Bind(wx.EVT_BUTTON, self.onApply)
        self.apply_butt.Disable()

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
        sizer.Add(self.references_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.errors_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
                  mwx.BUTTON_SIZE_CORRECTION)
        sizer.AddSpacer(20)
        sizer.Add(fitting_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.linearFit_radio, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.quadraticFit_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(units_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.unitsDa_radio, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.unitsPpm_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddStretchSpacer()
        sizer.AddSpacer(20)
        sizer.Add(self.assign_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10)
        sizer.Add(self.apply_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
コード例 #19
0
    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
コード例 #20
0
ファイル: panel_calibration.py プロジェクト: wwissdorf/mmass
    def makeReferencesPanel(self):
        """Make references selection panel."""

        # init panel
        ctrlPanel = mwx.bgrPanel(self,
                                 -1,
                                 images.lib['bgrControlbar'],
                                 size=(-1, mwx.CONTROLBAR_HEIGHT))

        # make controls
        references_label = wx.StaticText(ctrlPanel, -1, "References:")
        references_label.SetFont(wx.SMALL_FONT)
        choices = libs.references.keys()
        choices.sort()
        choices.insert(0, 'Reference lists')
        self.references_choice = wx.Choice(ctrlPanel,
                                           -1,
                                           choices=choices,
                                           size=(250, mwx.SMALL_CHOICE_HEIGHT))
        self.references_choice.Select(0)
        self.references_choice.Bind(wx.EVT_CHOICE, self.onReferencesSelected)

        tolerance_label = wx.StaticText(ctrlPanel, -1, "Tolerance:")
        tolerance_label.SetFont(wx.SMALL_FONT)
        self.tolerance_value = wx.TextCtrl(
            ctrlPanel,
            -1,
            str(config.calibration['tolerance']),
            size=(50, mwx.SMALL_TEXTCTRL_HEIGHT),
            validator=mwx.validator('floatPos'))
        self.tolerance_value.SetFont(wx.SMALL_FONT)
        self.toleranceUnits_label = wx.StaticText(ctrlPanel, -1,
                                                  config.calibration['units'])
        self.toleranceUnits_label.SetFont(wx.SMALL_FONT)

        self.statCalibration_check = wx.CheckBox(ctrlPanel, -1,
                                                 "Statistical only")
        self.statCalibration_check.SetFont(wx.SMALL_FONT)
        self.statCalibration_check.Bind(wx.EVT_CHECKBOX,
                                        self.onStatCalibration)

        self.makeReferencesList()

        # pack controls
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(references_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.references_choice, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.toleranceUnits_label, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.statCalibration_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)

        controls = wx.BoxSizer(wx.VERTICAL)
        controls.Add(sizer, 1, wx.EXPAND)
        controls.Fit(ctrlPanel)
        ctrlPanel.SetSizer(controls)

        # pack main
        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(ctrlPanel, 0, wx.EXPAND, 0)
        mainSizer.Add(self.referencesList, 1, wx.EXPAND | wx.ALL,
                      mwx.LISTCTRL_NO_SPACE)

        return mainSizer
コード例 #21
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbarNoBorder'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make match fields
     difference_label = wx.StaticText(panel, -1, "Difference:")
     difference_label.SetFont(wx.SMALL_FONT)
     
     self.difference_value = wx.TextCtrl(panel, -1, '', size=(100, -1), style=wx.TE_PROCESS_ENTER, validator=mwx.validator('floatPos'))
     self.difference_value.Bind(wx.EVT_TEXT_ENTER, self.onSearch)
     
     self.aminoacids_check = wx.CheckBox(panel, -1, "Amino acids")
     self.aminoacids_check.SetFont(wx.SMALL_FONT)
     self.aminoacids_check.SetValue(config.peakDifferences['aminoacids'])
     
     self.dipeptides_check = wx.CheckBox(panel, -1, "Dipeptides")
     self.dipeptides_check.SetFont(wx.SMALL_FONT)
     self.dipeptides_check.SetValue(config.peakDifferences['dipeptides'])
     
     massType_label = wx.StaticText(panel, -1, "Mass:")
     massType_label.SetFont(wx.SMALL_FONT)
     
     self.massTypeMo_radio = wx.RadioButton(panel, -1, "Mo", style=wx.RB_GROUP)
     self.massTypeMo_radio.SetFont(wx.SMALL_FONT)
     self.massTypeMo_radio.SetValue(True)
     
     self.massTypeAv_radio = wx.RadioButton(panel, -1, "Av")
     self.massTypeAv_radio.SetFont(wx.SMALL_FONT)
     self.massTypeAv_radio.SetValue(config.peakDifferences['massType'])
     
     tolerance_label = wx.StaticText(panel, -1, "Tolerance:")
     tolerance_label.SetFont(wx.SMALL_FONT)
     
     self.tolerance_value = wx.TextCtrl(panel, -1, str(config.peakDifferences['tolerance']), size=(50, -1), validator=mwx.validator('floatPos'))
     
     toleranceUnits_label = wx.StaticText(panel, -1, "m/z")
     toleranceUnits_label.SetFont(wx.SMALL_FONT)
     
     self.consolidate_check = wx.CheckBox(panel, -1, "Hide umatched")
     self.consolidate_check.SetFont(wx.SMALL_FONT)
     self.consolidate_check.SetValue(config.peakDifferences['consolidate'])
     
     self.search_butt = wx.Button(panel, -1, "Search", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.search_butt.Bind(wx.EVT_BUTTON, self.onSearch)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(difference_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.difference_value, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.aminoacids_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.dipeptides_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(massType_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.massTypeMo_radio, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.massTypeAv_radio, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(toleranceUnits_label, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.consolidate_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddStretchSpacer()
     sizer.AddSpacer(20)
     sizer.Add(self.search_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(sizer, 1, wx.EXPAND)
     panel.SetSizer(mainSizer)
     mainSizer.Fit(panel)
     
     return panel
コード例 #22
0
    def makeControlbar(self):
        """Make controlbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrControlbar'],
                             size=(-1, mwx.CONTROLBAR_HEIGHT))

        # make elements
        massType_label = wx.StaticText(panel, -1, "Mass:")
        massType_label.SetFont(wx.SMALL_FONT)

        self.massTypeMo_radio = wx.RadioButton(panel,
                                               -1,
                                               "Mo",
                                               style=wx.RB_GROUP)
        self.massTypeMo_radio.SetFont(wx.SMALL_FONT)
        self.massTypeMo_radio.SetValue(True)

        self.massTypeAv_radio = wx.RadioButton(panel, -1, "Av")
        self.massTypeAv_radio.SetFont(wx.SMALL_FONT)
        self.massTypeAv_radio.SetValue(config.compoundsSearch['massType'])

        maxCharge_label = wx.StaticText(panel, -1, "Max charge:")
        maxCharge_label.SetFont(wx.SMALL_FONT)

        self.maxCharge_value = wx.TextCtrl(
            panel,
            -1,
            str(config.compoundsSearch['maxCharge']),
            size=(30, mwx.SMALL_TEXTCTRL_HEIGHT),
            validator=mwx.validator('int'))
        self.maxCharge_value.SetFont(wx.SMALL_FONT)

        self.radicals_check = wx.CheckBox(panel, -1, "M*")
        self.radicals_check.SetFont(wx.SMALL_FONT)
        self.radicals_check.SetValue(config.compoundsSearch['radicals'])

        adducts_label = wx.StaticText(panel, -1, "Adducts:")
        adducts_label.SetFont(wx.SMALL_FONT)

        self.adductNa_check = wx.CheckBox(panel, -1, "Na")
        self.adductNa_check.SetFont(wx.SMALL_FONT)
        self.adductNa_check.SetValue(
            config.compoundsSearch['adducts'].count('Na'))

        self.adductK_check = wx.CheckBox(panel, -1, "K")
        self.adductK_check.SetFont(wx.SMALL_FONT)
        self.adductK_check.SetValue(
            config.compoundsSearch['adducts'].count('K'))

        self.adductLi_check = wx.CheckBox(panel, -1, "Li")
        self.adductLi_check.SetFont(wx.SMALL_FONT)
        self.adductLi_check.SetValue(
            config.compoundsSearch['adducts'].count('Li'))

        self.adductNH4_check = wx.CheckBox(panel, -1, "NH4")
        self.adductNH4_check.SetFont(wx.SMALL_FONT)
        self.adductNH4_check.SetValue(
            config.compoundsSearch['adducts'].count('NH4'))

        self.adductH2O_check = wx.CheckBox(panel, -1, "-H2O")
        self.adductH2O_check.SetFont(wx.SMALL_FONT)
        self.adductH2O_check.SetValue(
            config.compoundsSearch['adducts'].count('-H2O'))

        self.adductACN_check = wx.CheckBox(panel, -1, "ACN")
        self.adductACN_check.SetFont(wx.SMALL_FONT)
        self.adductACN_check.SetValue(
            config.compoundsSearch['adducts'].count('ACN'))

        self.adductMeOH_check = wx.CheckBox(panel, -1, "MeOH")
        self.adductMeOH_check.SetFont(wx.SMALL_FONT)
        self.adductMeOH_check.SetValue(
            config.compoundsSearch['adducts'].count('MeOH'))

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(massType_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.massTypeMo_radio, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.massTypeAv_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(maxCharge_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.maxCharge_value, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.radicals_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(adducts_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.adductNa_check, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.adductK_check, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.adductLi_check, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.adductNH4_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.adductH2O_check, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.adductACN_check, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.adductMeOH_check, 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
コード例 #23
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbarNoBorder'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make elements
     compare_label = wx.StaticText(panel, -1, "Compare:")
     compare_label.SetFont(wx.SMALL_FONT)
     
     choices = ['Peak Lists', 'Notations (measured)', 'Notations (theoretical)']
     self.compare_choice = wx.Choice(panel, -1, choices=choices, size=(180, mwx.SMALL_CHOICE_HEIGHT))
     self.compare_choice.Bind(wx.EVT_CHOICE, self.onUpdatePeaklist)
     self.compare_choice.Select(0)
     if config.comparePeaklists['compare'] == 'measured':
         self.compare_choice.Select(1)
     elif config.comparePeaklists['compare'] == 'theoretical':
         self.compare_choice.Select(2)
     
     tolerance_label = wx.StaticText(panel, -1, "Tolerance:")
     tolerance_label.SetFont(wx.SMALL_FONT)
     
     self.tolerance_value = wx.TextCtrl(panel, -1, str(config.comparePeaklists['tolerance']), size=(60, -1), style=wx.TE_PROCESS_ENTER, validator=mwx.validator('floatPos'))
     self.tolerance_value.Bind(wx.EVT_TEXT_ENTER, self.onCompare)
     
     self.unitsDa_radio = wx.RadioButton(panel, -1, "Da", style=wx.RB_GROUP)
     self.unitsDa_radio.SetFont(wx.SMALL_FONT)
     self.unitsDa_radio.SetValue(True)
     
     self.unitsPpm_radio = wx.RadioButton(panel, -1, "ppm")
     self.unitsPpm_radio.SetFont(wx.SMALL_FONT)
     self.unitsPpm_radio.SetValue((config.comparePeaklists['units'] == 'ppm'))
     
     self.ignoreCharge_check = wx.CheckBox(panel, -1, "Ignore charge")
     self.ignoreCharge_check.SetFont(wx.SMALL_FONT)
     self.ignoreCharge_check.SetValue(config.comparePeaklists['ignoreCharge'])
     
     self.ratioCheck_check = wx.CheckBox(panel, -1, "Int. ratio:")
     self.ratioCheck_check.SetFont(wx.SMALL_FONT)
     self.ratioCheck_check.SetValue(config.comparePeaklists['ratioCheck'])
     self.ratioCheck_check.Bind(wx.EVT_CHECKBOX, self.onRatioCheckChanged)
     
     self.ratioDirection_choice = wx.Choice(panel, -1, choices=['Above', 'Below'], size=(80, mwx.SMALL_CHOICE_HEIGHT))
     self.ratioDirection_choice.Select(0)
     if config.comparePeaklists['ratioDirection'] == -1:
         self.ratioDirection_choice.Select(1)
     
     self.ratioThreshold_value = wx.TextCtrl(panel, -1, str(config.comparePeaklists['ratioThreshold']), size=(50, -1), validator=mwx.validator('floatPos'))
     
     self.compare_butt = wx.Button(panel, -1, "Compare", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.compare_butt.Bind(wx.EVT_BUTTON, self.onCompare)
     
     self.onRatioCheckChanged()
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(compare_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.compare_choice, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(10)
     sizer.Add(self.unitsDa_radio, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.unitsPpm_radio, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.ignoreCharge_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.ratioCheck_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.ratioDirection_choice, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     sizer.Add(self.ratioThreshold_value, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddStretchSpacer()
     sizer.AddSpacer(20)
     sizer.Add(self.compare_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(sizer, 1, wx.EXPAND)
     panel.SetSizer(mainSizer)
     mainSizer.Fit(panel)
     
     return panel
コード例 #24
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make tools
     self.compounds_butt = wx.BitmapButton(panel, ID_compoundsSearchCompounds, images.lib['compoundsSearchCompoundsOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.compounds_butt.SetToolTip(wx.ToolTip("Compounds search"))
     self.compounds_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.formula_butt = wx.BitmapButton(panel, ID_compoundsSearchFormula, images.lib['compoundsSearchFormulaOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.formula_butt.SetToolTip(wx.ToolTip("Formula search"))
     self.formula_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.tool_label = wx.StaticText(panel, -1, "Compounds:")
     self.tool_label.SetFont(wx.SMALL_FONT)
     
     choices = libs.compounds.keys()
     choices.sort()
     choices.insert(0,'Compounds lists')
     self.compounds_choice = wx.Choice(panel, -1, choices=choices, size=(250, mwx.SMALL_CHOICE_HEIGHT))
     self.compounds_choice.Select(0)
     self.compounds_choice.Bind(wx.EVT_CHOICE, self.onGenerate)
     
     self.formula_value = wx.TextCtrl(panel, -1, "", size=(270,-1))
     
     # make buttons
     self.generate_butt = wx.Button(panel, -1, "Generate", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.generate_butt.Bind(wx.EVT_BUTTON, self.onGenerate)
     
     self.match_butt = wx.Button(panel, -1, "Match", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.match_butt.Bind(wx.EVT_BUTTON, self.onMatch)
     
     self.annotate_butt = wx.Button(panel, -1, "Annotate", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.annotate_butt.Bind(wx.EVT_BUTTON, self.onAnnotate)
     
     # pack elements
     self.toolbar = wx.BoxSizer(wx.HORIZONTAL)
     self.toolbar.AddSpacer(mwx.TOOLBAR_LSPACE)
     self.toolbar.Add(self.compounds_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     self.toolbar.Add(self.formula_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     self.toolbar.AddSpacer(20)
     self.toolbar.Add(self.tool_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     self.toolbar.Add(self.compounds_choice, 0, wx.ALIGN_CENTER_VERTICAL)
     self.toolbar.Add(self.formula_value, 0, wx.ALIGN_CENTER_VERTICAL)
     self.toolbar.AddStretchSpacer()
     self.toolbar.AddSpacer(20)
     self.toolbar.Add(self.generate_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     self.toolbar.Add(self.match_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     self.toolbar.Add(self.annotate_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     self.toolbar.AddSpacer(mwx.TOOLBAR_RSPACE)
     
     self.toolbar.Hide(5)
     self.toolbar.Hide(6)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(self.toolbar, 1, wx.EXPAND)
     panel.SetSizer(mainSizer)
     mainSizer.Fit(panel)
     
     return panel
コード例 #25
0
ファイル: panel_envelope_fit.py プロジェクト: wwissdorf/mmass
 def makeControlbar(self):
     """Make controlbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrControlbar'], size=(-1, mwx.CONTROLBAR_HEIGHT))
     
     # make elements
     self.collapse_butt = wx.BitmapButton(panel, -1, images.lib['arrowsDown'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.collapse_butt.Bind(wx.EVT_BUTTON, self.onCollapse)
     
     fitTo_label = wx.StaticText(panel, -1, "Fit to:")
     fitTo_label.SetFont(wx.SMALL_FONT)
     
     self.fitToPeaklist_radio = wx.RadioButton(panel, -1, "Peak list", style=wx.RB_GROUP)
     self.fitToPeaklist_radio.SetFont(wx.SMALL_FONT)
     
     self.fitToSpectrum_radio = wx.RadioButton(panel, -1, "Spectrum")
     self.fitToSpectrum_radio.SetFont(wx.SMALL_FONT)
     
     self.fitToPeaklist_radio.SetValue(True)
     if config.envelopeFit['fit'] == 'spectrum':
         self.fitToSpectrum_radio.SetValue(True)
     
     fwhm_label = wx.StaticText(panel, -1, "Default FWHM:")
     fwhm_label.SetFont(wx.SMALL_FONT)
     self.fwhm_value = wx.TextCtrl(panel, -1, str(config.envelopeFit['fwhm']), size=(50, mwx.SMALL_TEXTCTRL_HEIGHT), validator=mwx.validator('floatPos'))
     self.fwhm_value.SetFont(wx.SMALL_FONT)
     
     self.forceFwhm_check = wx.CheckBox(panel, -1, "Force")
     self.forceFwhm_check.SetFont(wx.SMALL_FONT)
     self.forceFwhm_check.SetValue(config.envelopeFit['forceFwhm'])
     
     relThreshold_label = wx.StaticText(panel, -1, "Rel. int. threshold:")
     relThreshold_label.SetFont(wx.SMALL_FONT)
     relThresholdUnits_label = wx.StaticText(panel, -1, "%")
     relThresholdUnits_label.SetFont(wx.SMALL_FONT)
     self.relThreshold_value = wx.TextCtrl(panel, -1, str(config.envelopeFit['relThreshold']*100), size=(50, mwx.SMALL_TEXTCTRL_HEIGHT), validator=mwx.validator('floatPos'))
     self.relThreshold_value.SetFont(wx.SMALL_FONT)
     
     self.autoAlign_check = wx.CheckBox(panel, -1, "Auto align")
     self.autoAlign_check.SetFont(wx.SMALL_FONT)
     self.autoAlign_check.SetValue(config.envelopeFit['autoAlign'])
     
     self.average_label = wx.StaticText(panel, -1, "", size=(100, -1))
     self.average_label.SetFont(wx.SMALL_FONT)
     self.updateAverageLabel()
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(self.collapse_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(10)
     sizer.Add(fitTo_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.fitToPeaklist_radio, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.fitToSpectrum_radio, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(fwhm_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.fwhm_value, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.forceFwhm_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(relThreshold_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.relThreshold_value, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(relThresholdUnits_label, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.autoAlign_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.average_label, 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
コード例 #26
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbar'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make highlights
        highlight_label = wx.StaticText(panel, -1, "Highlight:")
        highlight_label.SetFont(wx.SMALL_FONT)
        choices = [
            'None', '---', 'Metals', 'Alkali Metals', 'Alkaline Earth Metals',
            'Inner Transition Metals', 'Lanthanides', 'Actinides',
            'Transition Metals', 'Post-Transition Metals', '---', 'Nonmetals',
            'Halogens', 'Noble Gasses', 'Other Nonmetals', '---', 'Metalloids'
        ]
        self.highlight_choice = wx.Choice(panel,
                                          -1,
                                          choices=choices,
                                          size=(-1, mwx.SMALL_CHOICE_HEIGHT))
        self.highlight_choice.Select(0)
        self.highlight_choice.Bind(wx.EVT_CHOICE, self.onHighlightGroup)

        # make buttons
        self.isotopes_butt = wx.Button(panel,
                                       -1,
                                       "Isotopes",
                                       size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.isotopes_butt.Bind(wx.EVT_BUTTON, self.onIsotopes)
        self.isotopes_butt.Enable(False)

        self.wiki_butt = wx.Button(panel,
                                   -1,
                                   "Wikipedia",
                                   size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.wiki_butt.Bind(wx.EVT_BUTTON, self.onWiki)

        self.photos_butt = wx.Button(panel,
                                     -1,
                                     "Photos",
                                     size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.photos_butt.Bind(wx.EVT_BUTTON, self.onPhotos)
        self.photos_butt.Enable(False)

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(highlight_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.highlight_choice, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddStretchSpacer()
        sizer.AddSpacer(20)
        sizer.Add(self.isotopes_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  10)
        sizer.Add(self.wiki_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10)
        sizer.Add(self.photos_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)

        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(sizer, 1, wx.EXPAND)
        panel.SetSizer(mainSizer)
        mainSizer.Fit(panel)

        return panel
コード例 #27
0
    def makeControlbar(self):
        """Make controlbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrControlbar'],
                             size=(-1, mwx.CONTROLBAR_HEIGHT))

        # make elements
        relIntCutoff_label = wx.StaticText(panel, -1, "Int. threshold:")
        relIntCutoff_label.SetFont(wx.SMALL_FONT)
        relIntCutoffUnits_label = wx.StaticText(panel, -1, "%")
        relIntCutoffUnits_label.SetFont(wx.SMALL_FONT)
        self.relIntCutoff_value = wx.TextCtrl(
            panel,
            -1,
            str(config.massDefectPlot['relIntCutoff'] * 100),
            size=(50, mwx.SMALL_TEXTCTRL_HEIGHT),
            validator=mwx.validator('floatPos'))
        self.relIntCutoff_value.SetFont(wx.SMALL_FONT)

        self.removeIsotopes_check = wx.CheckBox(panel, -1, "Remove isotopes")
        self.removeIsotopes_check.SetFont(wx.SMALL_FONT)
        self.removeIsotopes_check.SetValue(
            config.massDefectPlot['removeIsotopes'])

        self.ignoreCharge_check = wx.CheckBox(panel, -1, "Ignore charge")
        self.ignoreCharge_check.SetFont(wx.SMALL_FONT)
        self.ignoreCharge_check.SetValue(config.massDefectPlot['ignoreCharge'])

        self.showNotations_check = wx.CheckBox(panel, -1,
                                               "Highlight annotated")
        self.showNotations_check.SetFont(wx.SMALL_FONT)
        self.showNotations_check.SetValue(
            config.massDefectPlot['showNotations'])
        self.showNotations_check.Bind(wx.EVT_CHECKBOX, self.onShowNotations)

        self.showAllDocuments_check = wx.CheckBox(panel, -1,
                                                  "Show all documents")
        self.showAllDocuments_check.SetFont(wx.SMALL_FONT)
        self.showAllDocuments_check.SetValue(False)
        self.showAllDocuments_check.Bind(wx.EVT_CHECKBOX,
                                         self.onShowAllDocuments)

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(relIntCutoff_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.relIntCutoff_value, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(relIntCutoffUnits_label, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.removeIsotopes_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.ignoreCharge_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.showNotations_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.showAllDocuments_check, 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
コード例 #28
0
ファイル: panel_envelope_fit.py プロジェクト: wwissdorf/mmass
 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
コード例 #29
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make elements
     mass_label = wx.StaticText(panel, -1, "Mo. mass:")
     mass_label.SetFont(wx.SMALL_FONT)
     self.mass_value = wx.TextCtrl(panel, -1, "", size=(120, -1), style=wx.TE_PROCESS_ENTER, validator=mwx.validator('floatPos'))
     self.mass_value.Bind(wx.EVT_TEXT_ENTER, self.onGenerate)
     
     charge_label = wx.StaticText(panel, -1, "Charge:")
     charge_label.SetFont(wx.SMALL_FONT)
     self.charge_value = wx.TextCtrl(panel, -1, str(config.massToFormula['charge']), size=(40, -1), validator=mwx.validator('int'))
     
     choices = ['M', 'M*', 'H+', 'Na+', 'K+', 'Li+', 'NH4+']
     self.ionization_choice = wx.Choice(panel, -1, choices=choices, size=(80, mwx.SMALL_CHOICE_HEIGHT))
     choices = ['', 'e', 'H', 'Na', 'K', 'Li', 'NH4']
     if config.massToFormula['ionization'] in choices:
         self.ionization_choice.Select(choices.index(config.massToFormula['ionization']))
     
     tolerance_label = wx.StaticText(panel, -1, "Tolerance:")
     tolerance_label.SetFont(wx.SMALL_FONT)
     self.tolerance_value = wx.TextCtrl(panel, -1, str(config.massToFormula['tolerance']), size=(50, -1), validator=mwx.validator('floatPos'))
     self.tolerance_value.Bind(wx.EVT_TEXT_ENTER, self.onGenerate)
     
     self.unitsDa_radio = wx.RadioButton(panel, -1, "Da", style=wx.RB_GROUP)
     self.unitsDa_radio.SetFont(wx.SMALL_FONT)
     self.unitsDa_radio.SetValue(True)
     self.unitsDa_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)
     
     self.unitsPpm_radio = wx.RadioButton(panel, -1, "ppm")
     self.unitsPpm_radio.SetFont(wx.SMALL_FONT)
     self.unitsPpm_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)
     self.unitsPpm_radio.SetValue((config.massToFormula['units'] == 'ppm'))
     
     self.generate_butt = wx.Button(panel, -1, "Generate", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.generate_butt.Bind(wx.EVT_BUTTON, self.onGenerate)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(mass_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.mass_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|wx.RIGHT, 10)
     sizer.Add(self.ionization_choice, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(10)
     sizer.Add(self.unitsDa_radio, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.unitsPpm_radio, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddStretchSpacer()
     sizer.AddSpacer(20)
     sizer.Add(self.generate_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
コード例 #30
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbarNoBorder'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make elements
        compare_label = wx.StaticText(panel, -1, "Compare:")
        compare_label.SetFont(wx.SMALL_FONT)

        choices = [
            'Peak Lists', 'Notations (measured)', 'Notations (theoretical)'
        ]
        self.compare_choice = wx.Choice(panel,
                                        -1,
                                        choices=choices,
                                        size=(180, mwx.SMALL_CHOICE_HEIGHT))
        self.compare_choice.Bind(wx.EVT_CHOICE, self.onUpdatePeaklist)
        self.compare_choice.Select(0)
        if config.comparePeaklists['compare'] == 'measured':
            self.compare_choice.Select(1)
        elif config.comparePeaklists['compare'] == 'theoretical':
            self.compare_choice.Select(2)

        tolerance_label = wx.StaticText(panel, -1, "Tolerance:")
        tolerance_label.SetFont(wx.SMALL_FONT)

        self.tolerance_value = wx.TextCtrl(
            panel,
            -1,
            str(config.comparePeaklists['tolerance']),
            size=(60, -1),
            style=wx.TE_PROCESS_ENTER,
            validator=mwx.validator('floatPos'))
        self.tolerance_value.Bind(wx.EVT_TEXT_ENTER, self.onCompare)

        self.unitsDa_radio = wx.RadioButton(panel, -1, "Da", style=wx.RB_GROUP)
        self.unitsDa_radio.SetFont(wx.SMALL_FONT)
        self.unitsDa_radio.SetValue(True)

        self.unitsPpm_radio = wx.RadioButton(panel, -1, "ppm")
        self.unitsPpm_radio.SetFont(wx.SMALL_FONT)
        self.unitsPpm_radio.SetValue(
            (config.comparePeaklists['units'] == 'ppm'))

        self.ignoreCharge_check = wx.CheckBox(panel, -1, "Ignore charge")
        self.ignoreCharge_check.SetFont(wx.SMALL_FONT)
        self.ignoreCharge_check.SetValue(
            config.comparePeaklists['ignoreCharge'])

        self.ratioCheck_check = wx.CheckBox(panel, -1, "Int. ratio:")
        self.ratioCheck_check.SetFont(wx.SMALL_FONT)
        self.ratioCheck_check.SetValue(config.comparePeaklists['ratioCheck'])
        self.ratioCheck_check.Bind(wx.EVT_CHECKBOX, self.onRatioCheckChanged)

        self.ratioDirection_choice = wx.Choice(panel,
                                               -1,
                                               choices=['Above', 'Below'],
                                               size=(80,
                                                     mwx.SMALL_CHOICE_HEIGHT))
        self.ratioDirection_choice.Select(0)
        if config.comparePeaklists['ratioDirection'] == -1:
            self.ratioDirection_choice.Select(1)

        self.ratioThreshold_value = wx.TextCtrl(
            panel,
            -1,
            str(config.comparePeaklists['ratioThreshold']),
            size=(50, -1),
            validator=mwx.validator('floatPos'))

        self.compare_butt = wx.Button(panel,
                                      -1,
                                      "Compare",
                                      size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.compare_butt.Bind(wx.EVT_BUTTON, self.onCompare)

        self.onRatioCheckChanged()

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(compare_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.compare_choice, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(10)
        sizer.Add(self.unitsDa_radio, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.unitsPpm_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.ignoreCharge_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.ratioCheck_check, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.ratioDirection_choice, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10)
        sizer.Add(self.ratioThreshold_value, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddStretchSpacer()
        sizer.AddSpacer(20)
        sizer.Add(self.compare_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)

        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(sizer, 1, wx.EXPAND)
        panel.SetSizer(mainSizer)
        mainSizer.Fit(panel)

        return panel
コード例 #31
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbarNoBorder'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make tools
        references_label = wx.StaticText(panel, -1, "References:")
        references_label.SetFont(wx.SMALL_FONT)

        choices = libs.references.keys()
        choices.sort()
        choices.insert(0, 'Reference lists')
        self.references_choice = wx.Choice(panel,
                                           -1,
                                           choices=choices,
                                           size=(200, mwx.SMALL_CHOICE_HEIGHT))
        self.references_choice.Select(0)
        self.references_choice.Bind(wx.EVT_CHOICE, self.onReferencesSelected)

        # make buttons
        self.match_butt = wx.Button(panel,
                                    -1,
                                    "Match",
                                    size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.match_butt.Bind(wx.EVT_BUTTON, self.onMatch)

        self.annotate_butt = wx.Button(panel,
                                       -1,
                                       "Annotate",
                                       size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.annotate_butt.Bind(wx.EVT_BUTTON, self.onAnnotate)

        self.remove_butt = wx.Button(panel,
                                     -1,
                                     "Remove",
                                     size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.remove_butt.Bind(wx.EVT_BUTTON, self.onRemove)

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(references_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.references_choice, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddStretchSpacer()
        sizer.AddSpacer(20)
        sizer.Add(self.match_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10)
        sizer.Add(self.annotate_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  10)
        sizer.Add(self.remove_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
コード例 #32
0
    def makeControlbar(self):
        """Make controlbar."""

        # init toolbar
        panel = mwx.bgrPanel(self, -1, images.lib["bgrControlbar"], size=(-1, mwx.CONTROLBAR_HEIGHT))

        # make elements
        self.collapse_butt = wx.BitmapButton(
            panel, -1, images.lib["arrowsDown"], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE
        )
        self.collapse_butt.Bind(wx.EVT_BUTTON, self.onCollapse)

        fitTo_label = wx.StaticText(panel, -1, "Fit to:")
        fitTo_label.SetFont(wx.SMALL_FONT)

        self.fitToPeaklist_radio = wx.RadioButton(panel, -1, "Peak list", style=wx.RB_GROUP)
        self.fitToPeaklist_radio.SetFont(wx.SMALL_FONT)

        self.fitToSpectrum_radio = wx.RadioButton(panel, -1, "Spectrum")
        self.fitToSpectrum_radio.SetFont(wx.SMALL_FONT)

        self.fitToPeaklist_radio.SetValue(True)
        if config.envelopeFit["fit"] == "spectrum":
            self.fitToSpectrum_radio.SetValue(True)

        fwhm_label = wx.StaticText(panel, -1, "Default FWHM:")
        fwhm_label.SetFont(wx.SMALL_FONT)
        self.fwhm_value = wx.TextCtrl(
            panel,
            -1,
            str(config.envelopeFit["fwhm"]),
            size=(50, mwx.SMALL_TEXTCTRL_HEIGHT),
            validator=mwx.validator("floatPos"),
        )
        self.fwhm_value.SetFont(wx.SMALL_FONT)

        self.forceFwhm_check = wx.CheckBox(panel, -1, "Force")
        self.forceFwhm_check.SetFont(wx.SMALL_FONT)
        self.forceFwhm_check.SetValue(config.envelopeFit["forceFwhm"])

        relThreshold_label = wx.StaticText(panel, -1, "Rel. int. threshold:")
        relThreshold_label.SetFont(wx.SMALL_FONT)
        relThresholdUnits_label = wx.StaticText(panel, -1, "%")
        relThresholdUnits_label.SetFont(wx.SMALL_FONT)
        self.relThreshold_value = wx.TextCtrl(
            panel,
            -1,
            str(config.envelopeFit["relThreshold"] * 100),
            size=(50, mwx.SMALL_TEXTCTRL_HEIGHT),
            validator=mwx.validator("floatPos"),
        )
        self.relThreshold_value.SetFont(wx.SMALL_FONT)

        self.autoAlign_check = wx.CheckBox(panel, -1, "Auto align")
        self.autoAlign_check.SetFont(wx.SMALL_FONT)
        self.autoAlign_check.SetValue(config.envelopeFit["autoAlign"])

        self.average_label = wx.StaticText(panel, -1, "", size=(100, -1))
        self.average_label.SetFont(wx.SMALL_FONT)
        self.updateAverageLabel()

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(self.collapse_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(10)
        sizer.Add(fitTo_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.fitToPeaklist_radio, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.fitToSpectrum_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(fwhm_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.fwhm_value, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.forceFwhm_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(relThreshold_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.relThreshold_value, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(relThresholdUnits_label, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.autoAlign_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.average_label, 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
コード例 #33
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbar'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make tools
        self.compounds_butt = wx.BitmapButton(
            panel,
            ID_compoundsSearchCompounds,
            images.lib['compoundsSearchCompoundsOff'],
            size=(mwx.TOOLBAR_TOOLSIZE),
            style=wx.BORDER_NONE)
        self.compounds_butt.SetToolTip(wx.ToolTip("Compounds search"))
        self.compounds_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        self.formula_butt = wx.BitmapButton(
            panel,
            ID_compoundsSearchFormula,
            images.lib['compoundsSearchFormulaOff'],
            size=(mwx.TOOLBAR_TOOLSIZE),
            style=wx.BORDER_NONE)
        self.formula_butt.SetToolTip(wx.ToolTip("Formula search"))
        self.formula_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        self.tool_label = wx.StaticText(panel, -1, "Compounds:")
        self.tool_label.SetFont(wx.SMALL_FONT)

        choices = libs.compounds.keys()
        choices.sort()
        choices.insert(0, 'Compounds lists')
        self.compounds_choice = wx.Choice(panel,
                                          -1,
                                          choices=choices,
                                          size=(250, mwx.SMALL_CHOICE_HEIGHT))
        self.compounds_choice.Select(0)
        self.compounds_choice.Bind(wx.EVT_CHOICE, self.onGenerate)

        self.formula_value = wx.TextCtrl(panel, -1, "", size=(270, -1))

        # make buttons
        self.generate_butt = wx.Button(panel,
                                       -1,
                                       "Generate",
                                       size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.generate_butt.Bind(wx.EVT_BUTTON, self.onGenerate)

        self.match_butt = wx.Button(panel,
                                    -1,
                                    "Match",
                                    size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.match_butt.Bind(wx.EVT_BUTTON, self.onMatch)

        self.annotate_butt = wx.Button(panel,
                                       -1,
                                       "Annotate",
                                       size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.annotate_butt.Bind(wx.EVT_BUTTON, self.onAnnotate)

        # pack elements
        self.toolbar = wx.BoxSizer(wx.HORIZONTAL)
        self.toolbar.AddSpacer(mwx.TOOLBAR_LSPACE)
        self.toolbar.Add(self.compounds_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        self.toolbar.Add(self.formula_butt, 0,
                         wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
                         mwx.BUTTON_SIZE_CORRECTION)
        self.toolbar.AddSpacer(20)
        self.toolbar.Add(self.tool_label, 0,
                         wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        self.toolbar.Add(self.compounds_choice, 0, wx.ALIGN_CENTER_VERTICAL)
        self.toolbar.Add(self.formula_value, 0, wx.ALIGN_CENTER_VERTICAL)
        self.toolbar.AddStretchSpacer()
        self.toolbar.AddSpacer(20)
        self.toolbar.Add(self.generate_butt, 0,
                         wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10)
        self.toolbar.Add(self.match_butt, 0,
                         wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10)
        self.toolbar.Add(self.annotate_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        self.toolbar.AddSpacer(mwx.TOOLBAR_RSPACE)

        self.toolbar.Hide(5)
        self.toolbar.Hide(6)

        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(self.toolbar, 1, wx.EXPAND)
        panel.SetSizer(mainSizer)
        mainSizer.Fit(panel)

        return panel
コード例 #34
0
    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
コード例 #35
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self, -1, images.lib["bgrToolbar"], size=(-1, mwx.TOOLBAR_HEIGHT))

        # make buttons
        self.references_butt = wx.BitmapButton(
            panel,
            ID_calibrationReferences,
            images.lib["calibrationReferencesOff"],
            size=(mwx.TOOLBAR_TOOLSIZE),
            style=wx.BORDER_NONE,
        )
        self.references_butt.SetToolTip(wx.ToolTip("Calibration references"))
        self.references_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        self.errors_butt = wx.BitmapButton(
            panel,
            ID_calibrationErrors,
            images.lib["calibrationErrorsOff"],
            size=(mwx.TOOLBAR_TOOLSIZE),
            style=wx.BORDER_NONE,
        )
        self.errors_butt.SetToolTip(wx.ToolTip("Calibration error plot"))
        self.errors_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        # make controls
        fitting_label = wx.StaticText(panel, -1, "Fitting:")
        fitting_label.SetFont(wx.SMALL_FONT)

        self.linearFit_radio = wx.RadioButton(panel, -1, "Linear", style=wx.RB_GROUP)
        self.linearFit_radio.SetFont(wx.SMALL_FONT)
        self.linearFit_radio.SetValue(True)
        self.linearFit_radio.Bind(wx.EVT_RADIOBUTTON, self.onModelChanged)

        self.quadraticFit_radio = wx.RadioButton(panel, -1, "Quadratic")
        self.quadraticFit_radio.SetFont(wx.SMALL_FONT)
        self.quadraticFit_radio.SetValue((config.calibration["fitting"] == "quadratic"))
        self.quadraticFit_radio.Bind(wx.EVT_RADIOBUTTON, self.onModelChanged)

        units_label = wx.StaticText(panel, -1, "Units:")
        units_label.SetFont(wx.SMALL_FONT)

        self.unitsDa_radio = wx.RadioButton(panel, -1, "Da", style=wx.RB_GROUP)
        self.unitsDa_radio.SetFont(wx.SMALL_FONT)
        self.unitsDa_radio.SetValue(True)
        self.unitsDa_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)

        self.unitsPpm_radio = wx.RadioButton(panel, -1, "ppm")
        self.unitsPpm_radio.SetFont(wx.SMALL_FONT)
        self.unitsPpm_radio.SetValue((config.calibration["units"] == "ppm"))
        self.unitsPpm_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)

        self.assign_butt = wx.Button(panel, -1, "Assign", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.assign_butt.Bind(wx.EVT_BUTTON, self.onAssign)

        self.apply_butt = wx.Button(panel, -1, "Apply", size=(100, mwx.SMALL_BUTTON_HEIGHT))
        self.apply_butt.Bind(wx.EVT_BUTTON, self.onApply)
        self.apply_butt.Disable()

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
        sizer.Add(self.references_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.errors_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
        sizer.AddSpacer(20)
        sizer.Add(fitting_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.linearFit_radio, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.quadraticFit_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(units_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.unitsDa_radio, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.unitsPpm_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddStretchSpacer()
        sizer.AddSpacer(20)
        sizer.Add(self.assign_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10)
        sizer.Add(self.apply_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
コード例 #36
0
 def makeEditor(self):
     """Make panel for peak editing."""
     
     # init panel
     panel = mwx.bgrPanel(self, -1, images.lib['bgrPeakEditor'])
     
     # make elements
     peakMz_label = wx.StaticText(panel, -1, "m/z:")
     self.peakMz_value = wx.TextCtrl(panel, -1, '', size=(80, mwx.SMALL_TEXTCTRL_HEIGHT), validator=mwx.validator('floatPos'))
     peakMz_label.SetFont(wx.SMALL_FONT)
     self.peakMz_value.SetFont(wx.SMALL_FONT)
     
     peakAi_label = wx.StaticText(panel, -1, "a.i.:")
     self.peakAi_value = wx.TextCtrl(panel, -1, '', size=(80, mwx.SMALL_TEXTCTRL_HEIGHT), validator=mwx.validator('floatPos'))
     peakAi_label.SetFont(wx.SMALL_FONT)
     self.peakAi_value.SetFont(wx.SMALL_FONT)
     
     peakBase_label = wx.StaticText(panel, -1, "base:")
     self.peakBase_value = wx.TextCtrl(panel, -1, '', size=(80, mwx.SMALL_TEXTCTRL_HEIGHT), style=wx.TE_PROCESS_ENTER, validator=mwx.validator('floatPos'))
     peakBase_label.SetFont(wx.SMALL_FONT)
     self.peakBase_value.SetFont(wx.SMALL_FONT)
     
     peakSN_label = wx.StaticText(panel, -1, "s/n:")
     self.peakSN_value = wx.TextCtrl(panel, -1, '', size=(80, mwx.SMALL_TEXTCTRL_HEIGHT), validator=mwx.validator('floatPos'))
     peakSN_label.SetFont(wx.SMALL_FONT)
     self.peakSN_value.SetFont(wx.SMALL_FONT)
     
     peakCharge_label = wx.StaticText(panel, -1, "charge:")
     self.peakCharge_value = wx.TextCtrl(panel, -1, '', size=(80, mwx.SMALL_TEXTCTRL_HEIGHT), validator=mwx.validator('int'))
     peakCharge_label.SetFont(wx.SMALL_FONT)
     self.peakCharge_value.SetFont(wx.SMALL_FONT)
     
     peakFwhm_label = wx.StaticText(panel, -1, "fwhm:")
     self.peakFwhm_value = wx.TextCtrl(panel, -1, '', size=(80, mwx.SMALL_TEXTCTRL_HEIGHT), style=wx.TE_PROCESS_ENTER, validator=mwx.validator('floatPos'))
     peakFwhm_label.SetFont(wx.SMALL_FONT)
     self.peakFwhm_value.SetFont(wx.SMALL_FONT)
     
     peakGroup_label = wx.StaticText(panel, -1, "group:")
     self.peakGroup_value = wx.TextCtrl(panel, -1, '', size=(80, mwx.SMALL_TEXTCTRL_HEIGHT), style=wx.TE_PROCESS_ENTER)
     peakGroup_label.SetFont(wx.SMALL_FONT)
     self.peakGroup_value.SetFont(wx.SMALL_FONT)
     
     self.peakMonoisotopic_check = wx.CheckBox(panel, -1, "monoisotopic")
     self.peakMonoisotopic_check.SetValue(True)
     self.peakMonoisotopic_check.SetFont(wx.SMALL_FONT)
     
     self.peakAdd_butt = wx.Button(panel, -1, "Add", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.peakAdd_butt.Bind(wx.EVT_BUTTON, self.onAddPeak)
     
     self.peakReplace_butt = wx.Button(panel, -1, "Update", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.peakReplace_butt.Bind(wx.EVT_BUTTON, self.onReplacePeak)
     self.peakReplace_butt.Enable(False)
     
     # pack elements
     grid = wx.GridBagSizer(mwx.GRIDBAG_VSPACE, mwx.GRIDBAG_HSPACE)
     grid.Add(peakMz_label, (0,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
     grid.Add(self.peakMz_value, (0,1), flag=wx.EXPAND)
     grid.Add(peakAi_label, (1,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
     grid.Add(self.peakAi_value, (1,1), flag=wx.EXPAND)
     grid.Add(peakBase_label, (2,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
     grid.Add(self.peakBase_value, (2,1), flag=wx.EXPAND)
     grid.Add(peakSN_label, (3,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
     grid.Add(self.peakSN_value, (3,1), flag=wx.EXPAND)
     grid.Add(peakCharge_label, (4,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
     grid.Add(self.peakCharge_value, (4,1), flag=wx.EXPAND)
     grid.Add(peakFwhm_label, (5,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
     grid.Add(self.peakFwhm_value, (5,1), flag=wx.EXPAND)
     grid.Add(peakGroup_label, (6,0), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
     grid.Add(self.peakGroup_value, (6,1), flag=wx.EXPAND)
     grid.Add(self.peakMonoisotopic_check, (7,1), flag=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
     grid.AddGrowableCol(1)
     
     buttons = wx.BoxSizer(wx.HORIZONTAL)
     buttons.Add(self.peakAdd_butt, 0, wx.RIGHT, 10)
     buttons.Add(self.peakReplace_butt, 0)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(grid, 0, wx.EXPAND|wx.ALIGN_CENTER|wx.ALL, 10)
     mainSizer.Add(buttons, 0, wx.ALIGN_CENTER|wx.RIGHT|wx.LEFT|wx.BOTTOM, 10)
     
     # fit layout
     mainSizer.Fit(panel)
     panel.SetSizer(mainSizer)
     
     return panel
コード例 #37
0
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make elements
     peakShape_label = wx.StaticText(panel, -1, "Peak shape:")
     peakShape_label.SetFont(wx.SMALL_FONT)
     self.peakShape_choice = wx.Choice(panel, -1, choices=['Symmetrical', 'Asymmetrical'], size=(125, mwx.CHOICE_HEIGHT))
     self.peakShape_choice.Select(0)
     if config.spectrumGenerator['peakShape'] == 'gausslorentzian':
         self.peakShape_choice.Select(1)
     
     fwhm_label = wx.StaticText(panel, -1, "Default FWHM:")
     fwhm_label.SetFont(wx.SMALL_FONT)
     self.fwhm_value = wx.TextCtrl(panel, -1, str(config.spectrumGenerator['fwhm']), size=(60, -1), validator=mwx.validator('floatPos'))
     
     self.forceFwhm_check = wx.CheckBox(panel, -1, "Force")
     self.forceFwhm_check.SetFont(wx.SMALL_FONT)
     self.forceFwhm_check.SetValue(config.spectrumGenerator['forceFwhm'])
     
     points_label = wx.StaticText(panel, -1, "Points/peak:")
     points_label.SetFont(wx.SMALL_FONT)
     self.points_value = wx.TextCtrl(panel, -1, str(config.spectrumGenerator['points']), size=(60, -1), validator=mwx.validator('intPos'))
     
     noise_label = wx.StaticText(panel, -1, "Noise width:")
     noise_label.SetFont(wx.SMALL_FONT)
     self.noise_value = wx.TextCtrl(panel, -1, str(config.spectrumGenerator['noise']), size=(80, -1), validator=mwx.validator('floatPos'))
     
     self.generate_butt = wx.Button(panel, -1, "Generate", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.generate_butt.Bind(wx.EVT_BUTTON, self.onGenerate)
     
     self.apply_butt = wx.Button(panel, -1, "Apply", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.apply_butt.Bind(wx.EVT_BUTTON, self.onApply)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(peakShape_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.peakShape_choice, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(fwhm_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.fwhm_value, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.forceFwhm_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(points_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.points_value, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(noise_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.noise_value, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.AddStretchSpacer()
     sizer.Add(self.generate_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     sizer.Add(self.apply_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(sizer, 1, wx.EXPAND)
     panel.SetSizer(mainSizer)
     mainSizer.Fit(panel)
     
     return panel
コード例 #38
0
 def makeControlbar(self):
     """Make controlbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrControlbar'], size=(-1, mwx.CONTROLBAR_HEIGHT))
     
     # make elements
     massType_label = wx.StaticText(panel, -1, "Mass:")
     massType_label.SetFont(wx.SMALL_FONT)
     
     self.massTypeMo_radio = wx.RadioButton(panel, -1, "Mo", style=wx.RB_GROUP)
     self.massTypeMo_radio.SetFont(wx.SMALL_FONT)
     self.massTypeMo_radio.SetValue(True)
     
     self.massTypeAv_radio = wx.RadioButton(panel, -1, "Av")
     self.massTypeAv_radio.SetFont(wx.SMALL_FONT)
     self.massTypeAv_radio.SetValue(config.compoundsSearch['massType'])
     
     maxCharge_label = wx.StaticText(panel, -1, "Max charge:")
     maxCharge_label.SetFont(wx.SMALL_FONT)
     
     self.maxCharge_value = wx.TextCtrl(panel, -1, str(config.compoundsSearch['maxCharge']), size=(30, mwx.SMALL_TEXTCTRL_HEIGHT), validator=mwx.validator('int'))
     self.maxCharge_value.SetFont(wx.SMALL_FONT)
     
     self.radicals_check = wx.CheckBox(panel, -1, "M*")
     self.radicals_check.SetFont(wx.SMALL_FONT)
     self.radicals_check.SetValue(config.compoundsSearch['radicals'])
     
     adducts_label = wx.StaticText(panel, -1, "Adducts:")
     adducts_label.SetFont(wx.SMALL_FONT)
     
     self.adductNa_check = wx.CheckBox(panel, -1, "Na")
     self.adductNa_check.SetFont(wx.SMALL_FONT)
     self.adductNa_check.SetValue(config.compoundsSearch['adducts'].count('Na'))
     
     self.adductK_check = wx.CheckBox(panel, -1, "K")
     self.adductK_check.SetFont(wx.SMALL_FONT)
     self.adductK_check.SetValue(config.compoundsSearch['adducts'].count('K'))
     
     self.adductLi_check = wx.CheckBox(panel, -1, "Li")
     self.adductLi_check.SetFont(wx.SMALL_FONT)
     self.adductLi_check.SetValue(config.compoundsSearch['adducts'].count('Li'))
     
     self.adductNH4_check = wx.CheckBox(panel, -1, "NH4")
     self.adductNH4_check.SetFont(wx.SMALL_FONT)
     self.adductNH4_check.SetValue(config.compoundsSearch['adducts'].count('NH4'))
     
     self.adductH2O_check = wx.CheckBox(panel, -1, "-H2O")
     self.adductH2O_check.SetFont(wx.SMALL_FONT)
     self.adductH2O_check.SetValue(config.compoundsSearch['adducts'].count('-H2O'))
     
     self.adductACN_check = wx.CheckBox(panel, -1, "ACN")
     self.adductACN_check.SetFont(wx.SMALL_FONT)
     self.adductACN_check.SetValue(config.compoundsSearch['adducts'].count('ACN'))
     
     self.adductMeOH_check = wx.CheckBox(panel, -1, "MeOH")
     self.adductMeOH_check.SetFont(wx.SMALL_FONT)
     self.adductMeOH_check.SetValue(config.compoundsSearch['adducts'].count('MeOH'))
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     sizer.Add(massType_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.massTypeMo_radio, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.massTypeAv_radio, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(maxCharge_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.maxCharge_value, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.radicals_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(adducts_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.adductNa_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.adductK_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.adductLi_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.adductNH4_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.adductH2O_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.adductACN_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.adductMeOH_check, 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
コード例 #39
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbar'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make buttons
        self.errors_butt = wx.BitmapButton(panel,
                                           ID_matchErrors,
                                           images.lib['matchErrorsOff'],
                                           size=(mwx.TOOLBAR_TOOLSIZE),
                                           style=wx.BORDER_NONE)
        self.errors_butt.SetToolTip(wx.ToolTip("Error plot"))
        self.errors_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        self.summary_butt = wx.BitmapButton(panel,
                                            ID_matchSummary,
                                            images.lib['matchSummaryOff'],
                                            size=(mwx.TOOLBAR_TOOLSIZE),
                                            style=wx.BORDER_NONE)
        self.summary_butt.SetToolTip(wx.ToolTip("Match summary"))
        self.summary_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        # make match fields
        tolerance_label = wx.StaticText(panel, -1, "Tolerance:")
        tolerance_label.SetFont(wx.SMALL_FONT)

        self.tolerance_value = wx.TextCtrl(panel,
                                           -1,
                                           str(config.match['tolerance']),
                                           size=(60, -1),
                                           validator=mwx.validator('floatPos'))

        self.unitsDa_radio = wx.RadioButton(panel, -1, "Da", style=wx.RB_GROUP)
        self.unitsDa_radio.SetFont(wx.SMALL_FONT)
        self.unitsDa_radio.SetValue(True)
        self.unitsDa_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)

        self.unitsPpm_radio = wx.RadioButton(panel, -1, "ppm")
        self.unitsPpm_radio.SetFont(wx.SMALL_FONT)
        self.unitsPpm_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)
        self.unitsPpm_radio.SetValue((config.match['units'] == 'ppm'))

        self.ignoreCharge_check = wx.CheckBox(panel, -1, "Ignore charge")
        self.ignoreCharge_check.SetFont(wx.SMALL_FONT)
        self.ignoreCharge_check.SetValue(config.match['ignoreCharge'])
        if self.currentModule == 'massfilter':
            self.ignoreCharge_check.Disable()

        self.match_butt = wx.Button(panel,
                                    -1,
                                    "Match",
                                    size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.match_butt.Bind(wx.EVT_BUTTON, self.onMatch)

        self.calibrate_butt = wx.Button(panel,
                                        -1,
                                        "Calibrate",
                                        size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.calibrate_butt.Bind(wx.EVT_BUTTON, self.onCalibrate)

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
        sizer.Add(self.errors_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.summary_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
                  mwx.BUTTON_SIZE_CORRECTION)
        sizer.AddSpacer(20)
        sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(10)
        sizer.Add(self.unitsDa_radio, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(self.unitsPpm_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.ignoreCharge_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddStretchSpacer()
        sizer.AddSpacer(20)
        sizer.Add(self.match_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 10)
        sizer.Add(self.calibrate_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
コード例 #40
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbarNoBorder'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make match fields
        difference_label = wx.StaticText(panel, -1, "Difference:")
        difference_label.SetFont(wx.SMALL_FONT)

        self.difference_value = wx.TextCtrl(
            panel,
            -1,
            '',
            size=(100, -1),
            style=wx.TE_PROCESS_ENTER,
            validator=mwx.validator('floatPos'))
        self.difference_value.Bind(wx.EVT_TEXT_ENTER, self.onSearch)

        self.aminoacids_check = wx.CheckBox(panel, -1, "Amino acids")
        self.aminoacids_check.SetFont(wx.SMALL_FONT)
        self.aminoacids_check.SetValue(config.peakDifferences['aminoacids'])

        self.dipeptides_check = wx.CheckBox(panel, -1, "Dipeptides")
        self.dipeptides_check.SetFont(wx.SMALL_FONT)
        self.dipeptides_check.SetValue(config.peakDifferences['dipeptides'])

        massType_label = wx.StaticText(panel, -1, "Mass:")
        massType_label.SetFont(wx.SMALL_FONT)

        self.massTypeMo_radio = wx.RadioButton(panel,
                                               -1,
                                               "Mo",
                                               style=wx.RB_GROUP)
        self.massTypeMo_radio.SetFont(wx.SMALL_FONT)
        self.massTypeMo_radio.SetValue(True)

        self.massTypeAv_radio = wx.RadioButton(panel, -1, "Av")
        self.massTypeAv_radio.SetFont(wx.SMALL_FONT)
        self.massTypeAv_radio.SetValue(config.peakDifferences['massType'])

        tolerance_label = wx.StaticText(panel, -1, "Tolerance:")
        tolerance_label.SetFont(wx.SMALL_FONT)

        self.tolerance_value = wx.TextCtrl(
            panel,
            -1,
            str(config.peakDifferences['tolerance']),
            size=(50, -1),
            validator=mwx.validator('floatPos'))

        toleranceUnits_label = wx.StaticText(panel, -1, "m/z")
        toleranceUnits_label.SetFont(wx.SMALL_FONT)

        self.consolidate_check = wx.CheckBox(panel, -1, "Hide umatched")
        self.consolidate_check.SetFont(wx.SMALL_FONT)
        self.consolidate_check.SetValue(config.peakDifferences['consolidate'])

        self.search_butt = wx.Button(panel,
                                     -1,
                                     "Search",
                                     size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.search_butt.Bind(wx.EVT_BUTTON, self.onSearch)

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
        sizer.Add(difference_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.difference_value, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.aminoacids_check, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.dipeptides_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(massType_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.massTypeMo_radio, 0,
                  wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.massTypeAv_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                  5)
        sizer.Add(toleranceUnits_label, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(20)
        sizer.Add(self.consolidate_check, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddStretchSpacer()
        sizer.AddSpacer(20)
        sizer.Add(self.search_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.AddSpacer(mwx.CONTROLBAR_RSPACE)

        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(sizer, 1, wx.EXPAND)
        panel.SetSizer(mainSizer)
        mainSizer.Fit(panel)

        return panel
コード例 #41
0
 def makePatternPanel(self):
     """Make controls for pattern simulation."""
     
     # init panel
     ctrlPanel = mwx.bgrPanel(self, -1, images.lib['bgrControlbar'], size=(-1, mwx.CONTROLBAR_HEIGHT))
     
     # make controls
     self.patternCollapse_butt = wx.BitmapButton(ctrlPanel, ID_massCalculatorCollapse, images.lib['arrowsDown'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.patternCollapse_butt.Bind(wx.EVT_BUTTON, self.onCollapse)
     
     patternPeakShape_label = wx.StaticText(ctrlPanel, -1, "Shape:")
     patternPeakShape_label.SetFont(wx.SMALL_FONT)
     self.patternPeakShape_choice = wx.Choice(ctrlPanel, -1, choices=['Symmetrical', 'Asymmetrical'], size=(125, mwx.CHOICE_HEIGHT))
     self.patternPeakShape_choice.Select(0)
     if config.massCalculator['patternPeakShape'] == 'gausslorentzian':
         self.patternPeakShape_choice.Select(1)
     self.patternPeakShape_choice.Bind(wx.EVT_CHOICE, self.onProfileChanged)
     
     patternFwhm_label = wx.StaticText(ctrlPanel, -1, "FWHM:")
     patternFwhm_label.SetFont(wx.SMALL_FONT)
     self.patternFwhm_value = mwx.scrollTextCtrl(ctrlPanel, -1, str(config.massCalculator['patternFwhm']), multiplier=0.1, limits=(0.001,10), digits=4, size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
     self.patternFwhm_value.SetFont(wx.SMALL_FONT)
     self.patternFwhm_value.Bind(wx.EVT_TEXT, self.onPatternChanged)
     
     patternIntensity_label = wx.StaticText(ctrlPanel, -1, "Intensity:")
     patternIntensity_label.SetFont(wx.SMALL_FONT)
     self.patternIntensity_value = mwx.scrollTextCtrl(ctrlPanel, -1, str(config.massCalculator['patternIntensity']), multiplier=0.1, limits=(1,None), size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
     self.patternIntensity_value.SetFont(wx.SMALL_FONT)
     self.patternIntensity_value.Bind(wx.EVT_TEXT, self.onProfileChanged)
     
     patternBaseline_label = wx.StaticText(ctrlPanel, -1, "Baseline:")
     patternBaseline_label.SetFont(wx.SMALL_FONT)
     self.patternBaseline_value = mwx.scrollTextCtrl(ctrlPanel, -1, str(config.massCalculator['patternBaseline']), multiplier=0.1, limits=(0,None), size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
     self.patternBaseline_value.SetFont(wx.SMALL_FONT)
     self.patternBaseline_value.Bind(wx.EVT_TEXT, self.onProfileChanged)
     
     patternShift_label = wx.StaticText(ctrlPanel, -1, "Shift:")
     patternShift_label.SetFont(wx.SMALL_FONT)
     self.patternShift_value = mwx.scrollTextCtrl(ctrlPanel, -1, "0", step=0.001, digits=3, limits=(-1.,1.), size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
     self.patternShift_value.SetFont(wx.SMALL_FONT)
     self.patternShift_value.Bind(wx.EVT_TEXT, self.onProfileChanged)
     
     self.showPeaks_check = wx.CheckBox(ctrlPanel, -1, "Peaks")
     self.showPeaks_check.SetFont(wx.SMALL_FONT)
     self.showPeaks_check.SetValue(config.massCalculator['patternShowPeaks'])
     self.showPeaks_check.Bind(wx.EVT_CHECKBOX, self.onProfileChanged)
     
     # pack controls
     controls = wx.BoxSizer(wx.HORIZONTAL)
     controls.AddSpacer(mwx.CONTROLBAR_RSPACE)
     controls.Add(self.patternCollapse_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(10)
     controls.Add(patternPeakShape_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.patternPeakShape_choice, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(20)
     controls.Add(patternFwhm_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.patternFwhm_value, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(20)
     controls.Add(patternIntensity_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.patternIntensity_value, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(20)
     controls.Add(patternBaseline_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.patternBaseline_value, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(20)
     controls.Add(patternShift_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     controls.Add(self.patternShift_value, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(20)
     controls.Add(self.showPeaks_check, 0, wx.ALIGN_CENTER_VERTICAL)
     controls.AddSpacer(mwx.CONTROLBAR_RSPACE)
     controls.Fit(ctrlPanel)
     ctrlPanel.SetSizer(controls)
     
     # make plot canvas
     self.makePatternCanvas()
     
     # pack main
     self.patternSizer = wx.BoxSizer(wx.VERTICAL)
     self.patternSizer.Add(ctrlPanel, 0, wx.EXPAND, 0)
     self.patternSizer.Add(self.patternCanvas, 1, wx.EXPAND)
     
     return self.patternSizer
コード例 #42
0
    def makeIonseriesPanel(self):
        """Make controls for ionseries."""

        # init panel
        ctrlPanel = mwx.bgrPanel(self,
                                 -1,
                                 images.lib['bgrControlbar'],
                                 size=(-1, mwx.CONTROLBAR_HEIGHT))

        # make controls
        ionseriesAgent_label = wx.StaticText(ctrlPanel, -1, "Agent:")
        ionseriesAgent_label.SetFont(wx.SMALL_FONT)
        self.ionseriesAgentFormula_value = wx.TextCtrl(
            ctrlPanel,
            -1,
            config.massCalculator['ionseriesAgent'],
            size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
        self.ionseriesAgentFormula_value.SetFont(wx.SMALL_FONT)
        self.ionseriesAgentFormula_value.Bind(wx.EVT_TEXT,
                                              self.onCompoundChanged)

        ionseriesAgentCharge_label = wx.StaticText(ctrlPanel, -1,
                                                   "Agent charge:")
        ionseriesAgentCharge_label.SetFont(wx.SMALL_FONT)
        self.ionseriesAgentCharge_value = wx.TextCtrl(
            ctrlPanel,
            -1,
            str(config.massCalculator['ionseriesAgentCharge']),
            size=(40, mwx.SMALL_TEXTCTRL_HEIGHT),
            validator=mwx.validator('int'))
        self.ionseriesAgentCharge_value.SetFont(wx.SMALL_FONT)
        self.ionseriesAgentCharge_value.Bind(wx.EVT_TEXT,
                                             self.onCompoundChanged)

        ionseriesPolarity_label = wx.StaticText(ctrlPanel, -1, "Polarity:")
        ionseriesPolarity_label.SetFont(wx.SMALL_FONT)

        self.ionseriesPositive_radio = wx.RadioButton(ctrlPanel,
                                                      -1,
                                                      "Positive",
                                                      style=wx.RB_GROUP)
        self.ionseriesPositive_radio.SetFont(wx.SMALL_FONT)
        self.ionseriesPositive_radio.Bind(wx.EVT_RADIOBUTTON,
                                          self.onCompoundChanged)

        self.ionseriesNegative_radio = wx.RadioButton(ctrlPanel, -1,
                                                      "Negative")
        self.ionseriesNegative_radio.SetFont(wx.SMALL_FONT)
        self.ionseriesNegative_radio.Bind(wx.EVT_RADIOBUTTON,
                                          self.onCompoundChanged)

        if config.massCalculator['ionseriesPolarity'] == -1:
            self.ionseriesNegative_radio.SetValue(True)
        else:
            self.ionseriesPositive_radio.SetValue(True)

        # pack controls
        controls = wx.BoxSizer(wx.HORIZONTAL)
        controls.AddSpacer(mwx.CONTROLBAR_LSPACE)
        controls.Add(ionseriesAgent_label, 0,
                     wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        controls.Add(self.ionseriesAgentFormula_value, 0,
                     wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(20)
        controls.Add(ionseriesAgentCharge_label, 0,
                     wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        controls.Add(self.ionseriesAgentCharge_value, 0,
                     wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(20)
        controls.Add(ionseriesPolarity_label, 0,
                     wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        controls.Add(self.ionseriesPositive_radio, 0,
                     wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        controls.Add(self.ionseriesNegative_radio, 0, wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(mwx.CONTROLBAR_RSPACE)
        controls.Fit(ctrlPanel)
        ctrlPanel.SetSizer(controls)

        # make ions list
        self.makeIonsList()

        # pack main
        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(ctrlPanel, 0, wx.EXPAND)
        mainSizer.Add(self.ionsList, 1, wx.EXPAND | wx.ALL,
                      mwx.LISTCTRL_NO_SPACE)

        return mainSizer
コード例 #43
0
    def makePatternPanel(self):
        """Make controls for pattern simulation."""

        # init panel
        ctrlPanel = mwx.bgrPanel(self,
                                 -1,
                                 images.lib['bgrControlbar'],
                                 size=(-1, mwx.CONTROLBAR_HEIGHT))

        # make controls
        self.patternCollapse_butt = wx.BitmapButton(
            ctrlPanel,
            ID_massCalculatorCollapse,
            images.lib['arrowsDown'],
            size=(mwx.TOOLBAR_TOOLSIZE),
            style=wx.BORDER_NONE)
        self.patternCollapse_butt.Bind(wx.EVT_BUTTON, self.onCollapse)

        patternPeakShape_label = wx.StaticText(ctrlPanel, -1, "Shape:")
        patternPeakShape_label.SetFont(wx.SMALL_FONT)
        self.patternPeakShape_choice = wx.Choice(
            ctrlPanel,
            -1,
            choices=['Symmetrical', 'Asymmetrical'],
            size=(125, mwx.CHOICE_HEIGHT))
        self.patternPeakShape_choice.Select(0)
        if config.massCalculator['patternPeakShape'] == 'gausslorentzian':
            self.patternPeakShape_choice.Select(1)
        self.patternPeakShape_choice.Bind(wx.EVT_CHOICE, self.onProfileChanged)

        patternFwhm_label = wx.StaticText(ctrlPanel, -1, "FWHM:")
        patternFwhm_label.SetFont(wx.SMALL_FONT)
        self.patternFwhm_value = mwx.scrollTextCtrl(
            ctrlPanel,
            -1,
            str(config.massCalculator['patternFwhm']),
            multiplier=0.1,
            limits=(0.001, 10),
            digits=4,
            size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
        self.patternFwhm_value.SetFont(wx.SMALL_FONT)
        self.patternFwhm_value.Bind(wx.EVT_TEXT, self.onPatternChanged)

        patternIntensity_label = wx.StaticText(ctrlPanel, -1, "Intensity:")
        patternIntensity_label.SetFont(wx.SMALL_FONT)
        self.patternIntensity_value = mwx.scrollTextCtrl(
            ctrlPanel,
            -1,
            str(config.massCalculator['patternIntensity']),
            multiplier=0.1,
            limits=(1, None),
            size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
        self.patternIntensity_value.SetFont(wx.SMALL_FONT)
        self.patternIntensity_value.Bind(wx.EVT_TEXT, self.onProfileChanged)

        patternBaseline_label = wx.StaticText(ctrlPanel, -1, "Baseline:")
        patternBaseline_label.SetFont(wx.SMALL_FONT)
        self.patternBaseline_value = mwx.scrollTextCtrl(
            ctrlPanel,
            -1,
            str(config.massCalculator['patternBaseline']),
            multiplier=0.1,
            limits=(0, None),
            size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
        self.patternBaseline_value.SetFont(wx.SMALL_FONT)
        self.patternBaseline_value.Bind(wx.EVT_TEXT, self.onProfileChanged)

        patternShift_label = wx.StaticText(ctrlPanel, -1, "Shift:")
        patternShift_label.SetFont(wx.SMALL_FONT)
        self.patternShift_value = mwx.scrollTextCtrl(
            ctrlPanel,
            -1,
            "0",
            step=0.001,
            digits=3,
            limits=(-1., 1.),
            size=(60, mwx.SMALL_TEXTCTRL_HEIGHT))
        self.patternShift_value.SetFont(wx.SMALL_FONT)
        self.patternShift_value.Bind(wx.EVT_TEXT, self.onProfileChanged)

        self.showPeaks_check = wx.CheckBox(ctrlPanel, -1, "Peaks")
        self.showPeaks_check.SetFont(wx.SMALL_FONT)
        self.showPeaks_check.SetValue(
            config.massCalculator['patternShowPeaks'])
        self.showPeaks_check.Bind(wx.EVT_CHECKBOX, self.onProfileChanged)

        # pack controls
        controls = wx.BoxSizer(wx.HORIZONTAL)
        controls.AddSpacer(mwx.CONTROLBAR_RSPACE)
        controls.Add(self.patternCollapse_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(10)
        controls.Add(patternPeakShape_label, 0,
                     wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        controls.Add(self.patternPeakShape_choice, 0, wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(20)
        controls.Add(patternFwhm_label, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT,
                     5)
        controls.Add(self.patternFwhm_value, 0, wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(20)
        controls.Add(patternIntensity_label, 0,
                     wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        controls.Add(self.patternIntensity_value, 0, wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(20)
        controls.Add(patternBaseline_label, 0,
                     wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        controls.Add(self.patternBaseline_value, 0, wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(20)
        controls.Add(patternShift_label, 0,
                     wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)
        controls.Add(self.patternShift_value, 0, wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(20)
        controls.Add(self.showPeaks_check, 0, wx.ALIGN_CENTER_VERTICAL)
        controls.AddSpacer(mwx.CONTROLBAR_RSPACE)
        controls.Fit(ctrlPanel)
        ctrlPanel.SetSizer(controls)

        # make plot canvas
        self.makePatternCanvas()

        # pack main
        self.patternSizer = wx.BoxSizer(wx.VERTICAL)
        self.patternSizer.Add(ctrlPanel, 0, wx.EXPAND, 0)
        self.patternSizer.Add(self.patternCanvas, 1, wx.EXPAND)

        return self.patternSizer
コード例 #44
0
ファイル: panel_match.py プロジェクト: jojoelfe/mMass_HDX
 def makeToolbar(self):
     """Make toolbar."""
     
     # init toolbar
     panel = mwx.bgrPanel(self, -1, images.lib['bgrToolbar'], size=(-1, mwx.TOOLBAR_HEIGHT))
     
     # make buttons
     self.errors_butt = wx.BitmapButton(panel, ID_matchErrors, images.lib['matchErrorsOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.errors_butt.SetToolTip(wx.ToolTip("Error plot"))
     self.errors_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     self.summary_butt = wx.BitmapButton(panel, ID_matchSummary, images.lib['matchSummaryOff'], size=(mwx.TOOLBAR_TOOLSIZE), style=wx.BORDER_NONE)
     self.summary_butt.SetToolTip(wx.ToolTip("Match summary"))
     self.summary_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)
     
     # make match fields
     tolerance_label = wx.StaticText(panel, -1, "Tolerance:")
     tolerance_label.SetFont(wx.SMALL_FONT)
     
     self.tolerance_value = wx.TextCtrl(panel, -1, str(config.match['tolerance']), size=(60, -1), validator=mwx.validator('floatPos'))
     
     self.unitsDa_radio = wx.RadioButton(panel, -1, "Da", style=wx.RB_GROUP)
     self.unitsDa_radio.SetFont(wx.SMALL_FONT)
     self.unitsDa_radio.SetValue(True)
     self.unitsDa_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)
     
     self.unitsPpm_radio = wx.RadioButton(panel, -1, "ppm")
     self.unitsPpm_radio.SetFont(wx.SMALL_FONT)
     self.unitsPpm_radio.Bind(wx.EVT_RADIOBUTTON, self.onUnitsChanged)
     self.unitsPpm_radio.SetValue((config.match['units'] == 'ppm'))
     
     self.ignoreCharge_check = wx.CheckBox(panel, -1, "Ignore charge")
     self.ignoreCharge_check.SetFont(wx.SMALL_FONT)
     self.ignoreCharge_check.SetValue(config.match['ignoreCharge'])
     if self.currentModule == 'massfilter':
         self.ignoreCharge_check.Disable()
     
     self.match_butt = wx.Button(panel, -1, "Match", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.match_butt.Bind(wx.EVT_BUTTON, self.onMatch)
     
     self.calibrate_butt = wx.Button(panel, -1, "Calibrate", size=(-1, mwx.SMALL_BUTTON_HEIGHT))
     self.calibrate_butt.Bind(wx.EVT_BUTTON, self.onCalibrate)
     
     # pack elements
     sizer = wx.BoxSizer(wx.HORIZONTAL)
     sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
     sizer.Add(self.errors_butt, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.Add(self.summary_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.LEFT, mwx.BUTTON_SIZE_CORRECTION)
     sizer.AddSpacer(20)
     sizer.Add(tolerance_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.tolerance_value, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(10)
     sizer.Add(self.unitsDa_radio, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     sizer.Add(self.unitsPpm_radio, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddSpacer(20)
     sizer.Add(self.ignoreCharge_check, 0, wx.ALIGN_CENTER_VERTICAL)
     sizer.AddStretchSpacer()
     sizer.AddSpacer(20)
     sizer.Add(self.match_butt, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 10)
     sizer.Add(self.calibrate_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
コード例 #45
0
    def makeToolbar(self):
        """Make toolbar."""

        # init toolbar
        panel = mwx.bgrPanel(self,
                             -1,
                             images.lib['bgrToolbar'],
                             size=(-1, mwx.TOOLBAR_HEIGHT))

        # make buttons
        self.image_butt = wx.BitmapButton(panel,
                                          ID_documentExportImage,
                                          images.lib['documentExportImageOff'],
                                          size=(mwx.TOOLBAR_TOOLSIZE),
                                          style=wx.BORDER_NONE)
        self.image_butt.SetToolTip(wx.ToolTip("Export spectrum image"))
        self.image_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        self.peaklist_butt = wx.BitmapButton(
            panel,
            ID_documentExportPeaklist,
            images.lib['documentExportPeaklistOff'],
            size=(mwx.TOOLBAR_TOOLSIZE),
            style=wx.BORDER_NONE)
        self.peaklist_butt.SetToolTip(wx.ToolTip("Export peak list"))
        self.peaklist_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        self.spectrum_butt = wx.BitmapButton(
            panel,
            ID_documentExportSpectrum,
            images.lib['documentExportSpectrumOff'],
            size=(mwx.TOOLBAR_TOOLSIZE),
            style=wx.BORDER_NONE)
        self.spectrum_butt.SetToolTip(wx.ToolTip("Export spectrum data"))
        self.spectrum_butt.Bind(wx.EVT_BUTTON, self.onToolSelected)

        # make controls
        self.export_butt = wx.Button(panel,
                                     -1,
                                     "Export",
                                     size=(-1, mwx.SMALL_BUTTON_HEIGHT))
        self.export_butt.Bind(wx.EVT_BUTTON, self.onExport)

        # pack elements
        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.AddSpacer(mwx.TOOLBAR_LSPACE)
        sizer.Add(self.image_butt, 0, wx.ALIGN_CENTER_VERTICAL)
        sizer.Add(self.peaklist_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
                  mwx.BUTTON_SIZE_CORRECTION)
        sizer.Add(self.spectrum_butt, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
                  mwx.BUTTON_SIZE_CORRECTION)
        sizer.AddStretchSpacer()
        sizer.AddSpacer(20)
        sizer.Add(self.export_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
コード例 #46
0
    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
コード例 #47
0
ファイル: panel_profound.py プロジェクト: wwissdorf/mmass
 def makeQueryPanel(self):
     """Make controls for query."""
     
     # init panels
     ctrlPanel = mwx.bgrPanel(self, -1, images.lib['bgrControlbar'], size=(-1, mwx.CONTROLBAR_HEIGHT))
     pklPanel = wx.Panel(self, -1)
     
     # make elements
     filter_label = wx.StaticText(ctrlPanel, -1, "Remove:")
     filter_label.SetFont(wx.SMALL_FONT)
     
     self.filterAnnotations_check = wx.CheckBox(ctrlPanel, -1, "Annotated")
     self.filterAnnotations_check.SetFont(wx.SMALL_FONT)
     self.filterAnnotations_check.SetValue(config.profound['filterAnnotations'])
     self.filterAnnotations_check.Bind(wx.EVT_CHECKBOX, self.onGetPeaklist)
     
     self.filterMatches_check = wx.CheckBox(ctrlPanel, -1, "Matched")
     self.filterMatches_check.SetFont(wx.SMALL_FONT)
     self.filterMatches_check.SetValue(config.profound['filterMatches'])
     self.filterMatches_check.Bind(wx.EVT_CHECKBOX, self.onGetPeaklist)
     
     self.filterUnselected_check = wx.CheckBox(ctrlPanel, -1, "Unselected")
     self.filterUnselected_check.SetFont(wx.SMALL_FONT)
     self.filterUnselected_check.SetValue(config.profound['filterUnselected'])
     self.filterUnselected_check.Bind(wx.EVT_CHECKBOX, self.onGetPeaklist)
     
     self.filterIsotopes_check = wx.CheckBox(ctrlPanel, -1, "Isotopes")
     self.filterIsotopes_check.SetFont(wx.SMALL_FONT)
     self.filterIsotopes_check.SetValue(config.profound['filterIsotopes'])
     self.filterIsotopes_check.Bind(wx.EVT_CHECKBOX, self.onGetPeaklist)
     
     self.filterUnknown_check = wx.CheckBox(ctrlPanel, -1, "Unknown")
     self.filterUnknown_check.SetFont(wx.SMALL_FONT)
     self.filterUnknown_check.SetValue(config.profound['filterUnknown'])
     self.filterUnknown_check.Bind(wx.EVT_CHECKBOX, self.onGetPeaklist)
     
     self.paramQuery_value = wx.TextCtrl(pklPanel, -1, "", size=(300, 300), style=wx.TE_MULTILINE)
     self.paramQuery_value.SetFont(wx.SMALL_FONT)
     
     # pack elements
     ctrlSizer = wx.BoxSizer(wx.HORIZONTAL)
     ctrlSizer.AddSpacer(mwx.CONTROLBAR_LSPACE)
     ctrlSizer.Add(filter_label, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     ctrlSizer.Add(self.filterAnnotations_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     ctrlSizer.Add(self.filterMatches_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     ctrlSizer.Add(self.filterUnselected_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     ctrlSizer.Add(self.filterIsotopes_check, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 5)
     ctrlSizer.Add(self.filterUnknown_check, 0, wx.ALIGN_CENTER_VERTICAL)
     ctrlSizer.AddSpacer(mwx.CONTROLBAR_RSPACE)
     ctrlSizer.Fit(ctrlPanel)
     ctrlPanel.SetSizer(ctrlSizer)
     
     pklSizer = wx.BoxSizer(wx.VERTICAL)
     if wx.Platform == '__WXMAC__': pklSizer.AddSpacer(mwx.PANEL_SPACE_MAIN)
     pklSizer.Add(self.paramQuery_value, 1, wx.EXPAND|wx.ALIGN_CENTER|wx.LEFT|wx.RIGHT|wx.BOTTOM, mwx.PANEL_SPACE_MAIN)
     pklSizer.Fit(pklPanel)
     pklPanel.SetSizer(pklSizer)
     
     mainSizer = wx.BoxSizer(wx.VERTICAL)
     mainSizer.Add(ctrlPanel, 0, wx.EXPAND|wx.ALIGN_CENTER)
     mainSizer.Add(pklPanel, 1, wx.EXPAND|wx.ALIGN_CENTER)
     
     return mainSizer