Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
    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)