def set_type(self, display): for toolId in self.extraTools: self.DeleteTool(toolId) self.extraTools = [] if not display == Display.PLOT: self.autoTId = wx.NewId() self.AddCheckTool(self.autoTId, load_bitmap('auto_t'), shortHelp='Auto range time') self.ToggleTool(self.autoTId, self.settings.autoT) wx.EVT_TOOL(self, self.autoTId, self.on_check_auto_t) self.extraTools.append(self.autoTId) self.extraTools.append(self.add_spacer()) if display == Display.PLOT: fadeId = wx.NewId() self.AddCheckTool(fadeId, load_bitmap('fade'), shortHelp='Fade plots') wx.EVT_TOOL(self, fadeId, self.on_check_fade) self.ToggleTool(fadeId, self.settings.fadeScans) self.extraTools.append(fadeId) avgId = wx.NewId() self.AddCheckTool(avgId, load_bitmap('average'), shortHelp='Average plots') wx.EVT_TOOL(self, avgId, self.on_check_avg) self.ToggleTool(avgId, self.settings.average) self.extraTools.append(avgId) self.extraTools.append(self.add_spacer()) colours = get_colours() colourId = wx.NewId() control = wx.Choice(self, id=colourId, choices=colours) control.SetSelection(colours.index(self.settings.colourMap)) self.AddControl(control) self.Bind(wx.EVT_CHOICE, self.on_colour, control) self.extraTools.append(colourId) if display == Display.SURFACE: self.extraTools.append(self.add_spacer()) wireId = wx.NewId() self.AddCheckTool(wireId, load_bitmap('wireframe'), shortHelp='Wireframe') wx.EVT_TOOL(self, wireId, self.on_check_wire) self.ToggleTool(wireId, self.settings.wireframe) self.extraTools.append(wireId) self.Realize()
def set_type(self, display): for toolId in self.extraTools: self.DeleteTool(toolId) self.extraTools = [] if not display == Display.PLOT: self.autoTId = wx.NewId() self.AddCheckTool(self.autoTId, load_bitmap('auto_t'), shortHelp='Auto range time') self.ToggleTool(self.autoTId, self.settings.autoT) wx.EVT_TOOL(self, self.autoTId, self.__on_check_auto_t) self.extraTools.append(self.autoTId) self.extraTools.append(self.__add_spacer()) if display == Display.PLOT: fadeId = wx.NewId() self.AddCheckTool(fadeId, load_bitmap('fade'), shortHelp='Fade plots') wx.EVT_TOOL(self, fadeId, self.__on_check_fade) self.ToggleTool(fadeId, self.settings.fadeScans) self.extraTools.append(fadeId) self.extraTools.append(self.__add_spacer()) self.avgId = wx.NewId() self.AddCheckTool(self.avgId, load_bitmap('average'), shortHelp='Show average') wx.EVT_TOOL(self, self.avgId, self.__on_check_avg) self.extraTools.append(self.avgId) self.minId = wx.NewId() self.AddCheckTool(self.minId, load_bitmap('min'), shortHelp='Show minimum') wx.EVT_TOOL(self, self.minId, self.__on_check_min) self.extraTools.append(self.minId) self.maxId = wx.NewId() self.AddCheckTool(self.maxId, load_bitmap('max'), shortHelp='Show maximum') wx.EVT_TOOL(self, self.maxId, self.__on_check_max) self.extraTools.append(self.maxId) self.varId = wx.NewId() self.AddCheckTool(self.varId, load_bitmap('variance'), shortHelp='Show variance') wx.EVT_TOOL(self, self.varId, self.__on_check_var) self.extraTools.append(self.varId) self.__set_func() self.extraTools.append(self.__add_spacer()) if display == Display.PLOT: colourUseId = wx.NewId() self.AddCheckTool(colourUseId, load_bitmap('colourmap'), shortHelp='Use colour maps') wx.EVT_TOOL(self, colourUseId, self.__on_colour_use) self.ToggleTool(colourUseId, self.settings.colourMapUse) self.extraTools.append(colourUseId) colours = get_colours() colourId = wx.NewId() self.colourId = wx.Choice(self, id=colourId, choices=colours) self.colourId.SetSelection(colours.index(self.settings.colourMap)) self.AddControl(self.colourId) if display == Display.PLOT: self.colourId.Enable(self.settings.colourMapUse) self.Bind(wx.EVT_CHOICE, self.__on_colour, self.colourId) self.extraTools.append(colourId) if display == Display.SURFACE: self.extraTools.append(self.__add_spacer()) wireId = wx.NewId() self.AddCheckTool(wireId, load_bitmap('wireframe'), shortHelp='Wireframe') wx.EVT_TOOL(self, wireId, self.__on_check_wire) self.ToggleTool(wireId, self.settings.wireframe) self.extraTools.append(wireId) self.Realize()
def __init__(self, parent, settings): self.settings = settings self.index = 0 wx.Dialog.__init__(self, parent=parent, title="Preferences") self.colours = get_colours() self.winFunc = settings.winFunc self.background = settings.background self.checkSaved = wx.CheckBox(self, wx.ID_ANY, "Save warning") self.checkSaved.SetValue(settings.saveWarn) self.checkSaved.SetToolTip(wx.ToolTip('Prompt to save scan on exit')) self.checkAlert = wx.CheckBox(self, wx.ID_ANY, "Level alert (dB)") self.checkAlert.SetValue(settings.alert) self.checkAlert.SetToolTip(wx.ToolTip('Play alert when level exceeded')) self.Bind(wx.EVT_CHECKBOX, self.on_alert, self.checkAlert) self.spinLevel = wx.SpinCtrl(self, wx.ID_ANY, min=-100, max=20) self.spinLevel.SetValue(settings.alertLevel) self.spinLevel.Enable(settings.alert) self.spinLevel.SetToolTip(wx.ToolTip('Alert threshold')) textBackground = wx.StaticText(self, label='Background colour') self.buttonBackground = wx.Button(self, wx.ID_ANY) self.buttonBackground.SetBackgroundColour(self.background) self.Bind(wx.EVT_BUTTON, self.on_background, self.buttonBackground) textColour = wx.StaticText(self, label="Colour map") self.choiceColour = wx.Choice(self, choices=self.colours) self.choiceColour.SetSelection(self.colours.index(settings.colourMap)) self.Bind(wx.EVT_CHOICE, self.on_choice, self.choiceColour) self.colourBar = PanelColourBar(self, settings.colourMap) self.checkPoints = wx.CheckBox(self, wx.ID_ANY, "Limit points") self.checkPoints.SetValue(settings.pointsLimit) self.checkPoints.SetToolTip(wx.ToolTip('Limit the resolution of plots')) self.Bind(wx.EVT_CHECKBOX, self.on_points, self.checkPoints) self.spinPoints = wx.SpinCtrl(self, wx.ID_ANY, min=1000, max=100000) self.spinPoints.Enable(settings.pointsLimit) self.spinPoints.SetValue(settings.pointsMax) self.spinPoints.SetToolTip(wx.ToolTip('Maximum number of points to plot')) self.radioAvg = wx.RadioButton(self, wx.ID_ANY, 'Average Scans', style=wx.RB_GROUP) self.radioAvg.SetToolTip(wx.ToolTip('Average level with each scan')) self.Bind(wx.EVT_RADIOBUTTON, self.on_radio, self.radioAvg) self.radioRetain = wx.RadioButton(self, wx.ID_ANY, 'Retain previous scans') self.radioRetain.SetToolTip(wx.ToolTip('Can be slow')) self.Bind(wx.EVT_RADIOBUTTON, self.on_radio, self.radioRetain) self.radioRetain.SetValue(settings.retainScans) textMaxScans = wx.StaticText(self, label="Max scans") self.spinCtrlMaxScans = wx.SpinCtrl(self) self.spinCtrlMaxScans.SetRange(1, 500) self.spinCtrlMaxScans.SetValue(settings.retainMax) self.spinCtrlMaxScans.SetToolTip(wx.ToolTip('Maximum previous scans' ' to display')) self.checkFade = wx.CheckBox(self, wx.ID_ANY, "Fade previous scans") self.checkFade.SetValue(settings.fadeScans) textWidth = wx.StaticText(self, label="Line width") self.ctrlWidth = NumCtrl(self, integerWidth=2, fractionWidth=1) self.ctrlWidth.SetValue(settings.lineWidth) self.on_radio(None) sizerButtons = wx.StdDialogButtonSizer() buttonOk = wx.Button(self, wx.ID_OK) buttonCancel = wx.Button(self, wx.ID_CANCEL) sizerButtons.AddButton(buttonOk) sizerButtons.AddButton(buttonCancel) sizerButtons.Realize() self.Bind(wx.EVT_BUTTON, self.on_ok, buttonOk) gengrid = wx.GridBagSizer(10, 10) gengrid.Add(self.checkSaved, pos=(0, 0)) gengrid.Add(self.checkAlert, pos=(1, 0), flag=wx.ALIGN_CENTRE) gengrid.Add(self.spinLevel, pos=(1, 1)) gengrid.Add(textBackground, pos=(2, 0), flag=wx.ALIGN_CENTRE) gengrid.Add(self.buttonBackground, pos=(2, 1)) gengrid.Add(textColour, pos=(3, 0)) gengrid.Add(self.choiceColour, pos=(3, 1)) gengrid.Add(self.colourBar, pos=(3, 2)) gengrid.Add(self.checkPoints, pos=(4, 0)) gengrid.Add(self.spinPoints, pos=(4, 1)) genbox = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, "General")) genbox.Add(gengrid, 0, wx.ALL | wx.ALIGN_CENTRE_VERTICAL, 10) congrid = wx.GridBagSizer(10, 10) congrid.Add(self.radioAvg, pos=(0, 0)) congrid.Add(self.radioRetain, pos=(1, 0)) congrid.Add(textMaxScans, pos=(2, 0), flag=wx.ALIGN_CENTRE_VERTICAL) congrid.Add(self.spinCtrlMaxScans, pos=(2, 1)) conbox = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, "Continuous Scans"), wx.VERTICAL) conbox.Add(congrid, 0, wx.ALL | wx.EXPAND, 10) plotgrid = wx.GridBagSizer(10, 10) plotgrid.Add(self.checkFade, pos=(0, 0)) plotgrid.Add(textWidth, pos=(1, 0)) plotgrid.Add(self.ctrlWidth, pos=(1, 1)) plotbox = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, "Plot View"), wx.HORIZONTAL) plotbox.Add(plotgrid, 0, wx.ALL | wx.EXPAND, 10) grid = wx.GridBagSizer(10, 10) grid.AddGrowableCol(0, 1) grid.AddGrowableCol(1, 0) grid.Add(genbox, pos=(0, 0), span=(1, 2), flag=wx.EXPAND) grid.Add(conbox, pos=(1, 0), span=(1, 2), flag=wx.EXPAND) grid.Add(plotbox, pos=(2, 0), span=(1, 2), flag=wx.EXPAND) grid.Add(sizerButtons, pos=(3, 1), flag=wx.EXPAND) box = wx.BoxSizer() box.Add(grid, flag=wx.ALL | wx.ALIGN_CENTRE, border=10) self.SetSizerAndFit(box)