Exemplo n.º 1
0
def Ctrl(*args, **kwargs):
    """
    Actually a factory function providing a unifying
    interface for generating masked controls.
    """
    if 'controlType' not in kwargs:
        controlType = TEXT
    else:
        controlType = kwargs['controlType']
        del kwargs['controlType']

    if controlType == TEXT:
        return TextCtrl(*args, **kwargs)

    elif controlType == COMBO:
        return ComboBox(*args, **kwargs)

    elif controlType == IPADDR:
        return IpAddrCtrl(*args, **kwargs)

    elif controlType == TIME:
        return TimeCtrl(*args, **kwargs)

    elif controlType == NUMBER:
        return NumCtrl(*args, **kwargs)

    else:
        raise AttributeError("invalid controlType specified: %s" %
                             repr(controlType))
Exemplo n.º 2
0
    def __init__(self, parent):
        wx.Dialog.__init__(self,
                           parent,
                           id=wx.ID_ANY,
                           title=_(u"Licenciamento de software"),
                           pos=wx.DefaultPosition,
                           size=wx.Size(485, 386),
                           style=wx.DEFAULT_DIALOG_STYLE)

        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)

        bSizer14 = wx.BoxSizer(wx.VERTICAL)

        bSizer15 = wx.BoxSizer(wx.VERTICAL)

        self.img_bg = wx.StaticBitmap(
            self, wx.ID_ANY,
            wx.Bitmap(u"../../../autosystem/share/images/visita_virtual.png",
                      wx.BITMAP_TYPE_ANY), wx.DefaultPosition, wx.DefaultSize,
            0)
        bSizer15.Add(self.img_bg, 0, wx.ALL | wx.EXPAND, 5)

        bSizer14.Add(bSizer15, 0, wx.EXPAND, 5)

        bSizer16 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_staticText9 = wx.StaticText(self, wx.ID_ANY, _(u"CNPJ :     "),
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText9.Wrap(-1)

        self.m_staticText9.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_BOLD, False, wx.EmptyString))

        bSizer16.Add(self.m_staticText9, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                     5)

        self.text_ident = MaskedTextCtrl(self,
                                         -1,
                                         '',
                                         mask='##.###.###/####-##')
        self.text_ident.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_NORMAL, False, wx.EmptyString))

        bSizer16.Add(self.text_ident, 0, wx.ALL, 5)

        self.m_staticText10 = wx.StaticText(self, wx.ID_ANY, _(u"Senha : "),
                                            wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.m_staticText10.Wrap(-1)

        self.m_staticText10.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_BOLD, False, wx.EmptyString))

        bSizer16.Add(self.m_staticText10, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                     5)

        self.text_password = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
                                         wx.DefaultPosition, wx.DefaultSize,
                                         wx.TE_PASSWORD)
        self.text_password.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_BOLD, False, wx.EmptyString))

        bSizer16.Add(self.text_password, 1, wx.ALL, 5)

        bSizer14.Add(bSizer16, 0, wx.EXPAND, 5)

        bSizer17 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_staticText11 = wx.StaticText(self, wx.ID_ANY, _(u"Estação : "),
                                            wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.m_staticText11.Wrap(-1)

        self.m_staticText11.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_BOLD, False, wx.EmptyString))

        bSizer17.Add(self.m_staticText11, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                     5)

        self.text_machine = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
                                        wx.DefaultPosition, wx.DefaultSize, 0)
        self.text_machine.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_BOLD, False, wx.EmptyString))

        bSizer17.Add(self.text_machine, 1, wx.ALL, 5)

        bSizer14.Add(bSizer17, 0, wx.EXPAND, 5)

        bSizer18 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_staticText12 = wx.StaticText(self, wx.ID_ANY,
                                            _(u"Serial :      "),
                                            wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.m_staticText12.Wrap(-1)

        self.m_staticText12.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_BOLD, False, wx.EmptyString))

        bSizer18.Add(self.m_staticText12, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                     5)

        self.text_serial = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
                                       wx.DefaultPosition, wx.DefaultSize,
                                       wx.TE_CENTER | wx.TE_READONLY)
        self.text_serial.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_BOLD, False, wx.EmptyString))

        bSizer18.Add(self.text_serial, 1, wx.ALL, 5)

        bSizer14.Add(bSizer18, 0, wx.EXPAND, 5)

        bSizer6 = wx.BoxSizer(wx.HORIZONTAL)

        self.btn_save = wx.Button(self, wx.ID_ANY, _(u"Registrar"),
                                  wx.DefaultPosition, wx.DefaultSize, 0)
        self.btn_save.SetFont(
            wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_NORMAL, False, wx.EmptyString))

        bSizer6.Add(self.btn_save, 0, wx.ALL, 5)

        bSizer14.Add(bSizer6, 1, wx.ALIGN_RIGHT, 5)

        self.SetSizer(bSizer14)
        self.Layout()

        self.Centre(wx.BOTH)

        # Connect Events
        self.btn_save.Bind(wx.EVT_BUTTON, self.get_license)
Exemplo n.º 3
0
    def Configure(
        self,
        mappings=None,
    ):
        #gui callbacks and helper methods
        def ValidChars(input):
            for char in input:
                if char != '1' and char != '2' and char != '3' and char != '4' and char != '?':
                    return False
            return True

        def ContainsItem(houseCode, deviceAddress, groupName):
            for i in range(0, mappingsList.GetItemCount()):
                if houseCode != mappingsList.GetItem(i, 0).GetText():
                    continue
                if deviceAddress != mappingsList.GetItem(i, 1).GetText():
                    continue
                if groupName != mappingsList.GetItem(i, 2).GetText():
                    continue
                return True
            return False

        def OnItemSelected(event):
            idx = mappingsList.GetFirstSelected()
            houseCodeTextCtrl.SetValue(mappingsList.GetItem(idx, 0).GetText())
            deviceAddressTextCtrl.SetValue(
                mappingsList.GetItem(idx, 1).GetText())
            groupNameCtrl.SetValue(mappingsList.GetItem(idx, 2).GetText())

        def EnableButtons(event):
            idx = mappingsList.GetFirstSelected()
            houseCode = houseCodeTextCtrl.GetValue()
            deviceAddress = deviceAddressTextCtrl.GetValue()
            groupName = groupNameCtrl.GetValue()
            valid = houseCodeTextCtrl.IsValid(
            ) and deviceAddressTextCtrl.IsValid() and len(groupName)

            itemSelected = idx != -1
            addButton.Enable(
                valid
                and not ContainsItem(houseCode, deviceAddress, groupName))
            updateButton.Enable(valid and itemSelected and \
                (houseCode != mappingsList.GetItem(idx, 0).GetText() \
                 or deviceAddress != mappingsList.GetItem(idx, 1).GetText() \
                 or groupName != mappingsList.GetItem(idx, 2).GetText()) \
                and not ContainsItem(houseCode, deviceAddress, groupName))
            deleteButton.Enable(itemSelected)
            event.Skip()

        def OnAddButton(event):
            idx = mappingsList.InsertStringItem(sys.maxint,
                                                houseCodeTextCtrl.GetValue())
            mappingsList.SetStringItem(idx, 1,
                                       deviceAddressTextCtrl.GetValue())
            mappingsList.SetStringItem(idx, 2, groupNameCtrl.GetValue())
            mappingsList.Select(idx)
            EnableButtons(event)
            event.Skip()

        def OnUpdateButton(event):
            idx = mappingsList.GetFirstSelected()
            mappingsList.SetStringItem(idx, 0, houseCodeTextCtrl.GetValue())
            mappingsList.SetStringItem(idx, 1,
                                       deviceAddressTextCtrl.GetValue())
            mappingsList.SetStringItem(idx, 2, groupNameCtrl.GetValue())
            EnableButtons(event)
            event.Skip()

        def OnDeleteButton(event):
            idx = mappingsList.GetFirstSelected()
            mappingsList.DeleteItem(idx)
            EnableButtons(event)
            event.Skip()

        panel = eg.ConfigPanel(self, resizable=True)

        #building dialog
        mappingsList = wx.ListCtrl(panel,
                                   -1,
                                   pos=wx.DefaultPosition,
                                   size=wx.DefaultSize,
                                   style=wx.LC_REPORT | wx.LC_SINGLE_SEL)

        #create list
        mappingsList.InsertColumn(0, Text.houseCode)
        mappingsList.InsertColumn(1, Text.deviceAddress)
        mappingsList.InsertColumn(2, Text.groupName)

        #add items
        if mappings:
            for item in mappings:
                idx = mappingsList.InsertStringItem(sys.maxint, item[0])
                mappingsList.SetStringItem(idx, 1, item[1])
                mappingsList.SetStringItem(idx, 2, item[2])

        #layout
        for i in range(mappingsList.GetColumnCount()):
            mappingsList.SetColumnWidth(i, wx.LIST_AUTOSIZE_USEHEADER)
            size = mappingsList.GetColumnWidth(i)
            mappingsList.SetColumnWidth(i, wx.LIST_AUTOSIZE)
            mappingsList.SetColumnWidth(
                i, max(size,
                       mappingsList.GetColumnWidth(i) + 5))

        houseCodeTextCtrl = TextCtrl(
            panel,
            mask="XXXXXXXX",
            choiceRequired=True,
            validFunc=ValidChars,
            defaultValue="????????",
            formatcodes="F",
        )

        deviceAddressTextCtrl = TextCtrl(
            panel,
            mask="XXXX",
            choiceRequired=True,
            validFunc=ValidChars,
            defaultValue="????",
            formatcodes="F",
        )

        groupNameCtrl = wx.TextCtrl(panel)

        editSizer = wx.GridSizer(3, 2)
        editSizer.Add(wx.StaticText(panel, -1, Text.houseCode + ":"),
                      wx.ALIGN_CENTER_VERTICAL)
        editSizer.Add(houseCodeTextCtrl, 0)
        editSizer.Add(wx.StaticText(panel, -1, Text.deviceAddress + ":"),
                      wx.ALIGN_CENTER_VERTICAL)
        editSizer.Add(deviceAddressTextCtrl, 0)
        editSizer.Add(wx.StaticText(panel, -1, Text.groupName + ":"),
                      wx.ALIGN_CENTER_VERTICAL)
        editSizer.Add(groupNameCtrl, 0)

        addButton = wx.Button(panel, -1, Text.add)
        updateButton = wx.Button(panel, -1, Text.update)
        deleteButton = wx.Button(panel, -1, Text.delete)

        buttonsSizer = wx.GridSizer(1, 3)
        buttonsSizer.Add(addButton)
        buttonsSizer.Add(deleteButton)
        buttonsSizer.Add(updateButton)

        houseCodeTextCtrl.Bind(wx.EVT_TEXT, EnableButtons)
        deviceAddressTextCtrl.Bind(wx.EVT_TEXT, EnableButtons)
        groupNameCtrl.Bind(wx.EVT_TEXT, EnableButtons)

        addButton.Bind(wx.EVT_BUTTON, OnAddButton)
        updateButton.Bind(wx.EVT_BUTTON, OnUpdateButton)
        deleteButton.Bind(wx.EVT_BUTTON, OnDeleteButton)

        mappingsList.Bind(wx.EVT_LIST_ITEM_SELECTED, OnItemSelected)
        mappingsList.Bind(wx.EVT_LIST_ITEM_SELECTED, EnableButtons)
        mappingsList.Bind(wx.EVT_LIST_ITEM_DESELECTED, EnableButtons)
        EnableButtons(wx.CommandEvent())

        panel.sizer.Add(wx.StaticText(panel, -1, Text.help0))
        panel.sizer.Add(wx.StaticText(panel, -1, Text.help1))
        panel.sizer.Add(mappingsList, 1, flag=wx.EXPAND)
        panel.sizer.Add(editSizer)
        panel.sizer.Add(buttonsSizer)

        while panel.Affirmed():
            newMappings = []
            for i in range(0, mappingsList.GetItemCount()):
                item = mappingsList.GetItem(i, 0).GetText(), \
                    mappingsList.GetItem(i, 1).GetText(), \
                    mappingsList.GetItem(i, 2).GetText()
                newMappings.append(item)
            panel.SetResult(newMappings)
Exemplo n.º 4
0
    def __init__(self,
                 parent=None,
                 id=wx.ID_ANY,
                 bgColor="ghostwhite",
                 penColor="black"):
        wx.Panel.__init__(self,
                          parent=parent,
                          id=id,
                          style=wx.FULL_REPAINT_ON_RESIZE)
        self.SetMinSize((-1, 30))
        self.SetMaxSize((-1, 30))

        # The logging logger instance.
        loggerName = __name__ + "." + self.__class__.__name__
        self.logger = logging.getLogger(loggerName)

        self.startTime = None
        self.endTime = None
        self.scale = None

        sizer = wx.GridBagSizer(0, 0)

        self.dummy80 = wx.StaticText(self, wx.ID_ANY, '', size=(80, 10))
        self.dummy100 = wx.StaticText(self, wx.ID_ANY, '', size=(100, 10))
        #self.startTimeButton = platebtn.PlateButton(self, wx.ID_ANY, str(self.startTime),
        #                                            style=platebtn.PB_STYLE_DEFAULT|platebtn.PB_STYLE_SQUARE
        #                                           )

        self.startDatePicker = DatePickerCtrl(self,
                                              id=wx.ID_ANY,
                                              style=wx.DP_DEFAULT
                                              | wx.DP_SHOWCENTURY)

        self.startTimePicker = MaskedTextCtrl(self,
                                              wx.ID_ANY,
                                              '',
                                              mask='##:##:##.######',
                                              excludeChars='',
                                              formatcodes='F!',
                                              includeChars='')

        size = self.startTimePicker.GetSize()
        self.startTimeGoButton = wx.Button(self,
                                           id=wx.ID_ANY,
                                           label="go",
                                           size=(40, size[1]))

        self.durationFloatSpin = floatspin.FloatSpin(
            self,
            wx.ID_ANY,
            min_val=0,
            max_val=None,
            increment=1,
            value=60,
            agwStyle=floatspin.FS_RIGHT)
        self.durationFloatSpin.SetDigits(3)
        self.durationFloatSpin.SetFormat('%f')
        self.durationFloatSpin.SetRange(min_val=0.1, max_val=None)

        sizer.Add(self.dummy80, pos=(0, 0), flag=wx.ALL, border=0)
        sizer.Add(self.startDatePicker,
                  pos=(0, 1),
                  flag=wx.ALL | wx.ALIGN_BOTTOM,
                  border=0)
        sizer.Add(self.startTimePicker,
                  pos=(0, 2),
                  flag=wx.ALL | wx.ALIGN_BOTTOM,
                  border=0)
        sizer.Add(self.startTimeGoButton,
                  pos=(0, 3),
                  flag=wx.ALL | wx.ALIGN_BOTTOM,
                  border=0)
        sizer.Add(self.durationFloatSpin,
                  pos=(0, 4),
                  flag=wx.ALL | wx.ALIGN_BOTTOM,
                  border=0)
        sizer.Add(self.dummy100, pos=(0, 5), flag=wx.ALL, border=0)

        sizer.AddGrowableRow(0)
        sizer.AddGrowableCol(3)

        self.SetSizer(sizer)

        self.SetBackgroundColour(bgColor)

        self.Bind(floatspin.EVT_FLOATSPIN, self.onDurationFloatSpin,
                  self.durationFloatSpin)
        #self.Bind(wx.EVT_TEXT, self.onStartTimePicker, self.startTimePicker)
        self.Bind(wx.EVT_BUTTON, self.onStartTimeGo, self.startTimeGoButton)
Exemplo n.º 5
0
class TdDatetimeInfo(wx.Panel):
    def __init__(self,
                 parent=None,
                 id=wx.ID_ANY,
                 bgColor="ghostwhite",
                 penColor="black"):
        wx.Panel.__init__(self,
                          parent=parent,
                          id=id,
                          style=wx.FULL_REPAINT_ON_RESIZE)
        self.SetMinSize((-1, 30))
        self.SetMaxSize((-1, 30))

        # The logging logger instance.
        loggerName = __name__ + "." + self.__class__.__name__
        self.logger = logging.getLogger(loggerName)

        self.startTime = None
        self.endTime = None
        self.scale = None

        sizer = wx.GridBagSizer(0, 0)

        self.dummy80 = wx.StaticText(self, wx.ID_ANY, '', size=(80, 10))
        self.dummy100 = wx.StaticText(self, wx.ID_ANY, '', size=(100, 10))
        #self.startTimeButton = platebtn.PlateButton(self, wx.ID_ANY, str(self.startTime),
        #                                            style=platebtn.PB_STYLE_DEFAULT|platebtn.PB_STYLE_SQUARE
        #                                           )

        self.startDatePicker = DatePickerCtrl(self,
                                              id=wx.ID_ANY,
                                              style=wx.DP_DEFAULT
                                              | wx.DP_SHOWCENTURY)

        self.startTimePicker = MaskedTextCtrl(self,
                                              wx.ID_ANY,
                                              '',
                                              mask='##:##:##.######',
                                              excludeChars='',
                                              formatcodes='F!',
                                              includeChars='')

        size = self.startTimePicker.GetSize()
        self.startTimeGoButton = wx.Button(self,
                                           id=wx.ID_ANY,
                                           label="go",
                                           size=(40, size[1]))

        self.durationFloatSpin = floatspin.FloatSpin(
            self,
            wx.ID_ANY,
            min_val=0,
            max_val=None,
            increment=1,
            value=60,
            agwStyle=floatspin.FS_RIGHT)
        self.durationFloatSpin.SetDigits(3)
        self.durationFloatSpin.SetFormat('%f')
        self.durationFloatSpin.SetRange(min_val=0.1, max_val=None)

        sizer.Add(self.dummy80, pos=(0, 0), flag=wx.ALL, border=0)
        sizer.Add(self.startDatePicker,
                  pos=(0, 1),
                  flag=wx.ALL | wx.ALIGN_BOTTOM,
                  border=0)
        sizer.Add(self.startTimePicker,
                  pos=(0, 2),
                  flag=wx.ALL | wx.ALIGN_BOTTOM,
                  border=0)
        sizer.Add(self.startTimeGoButton,
                  pos=(0, 3),
                  flag=wx.ALL | wx.ALIGN_BOTTOM,
                  border=0)
        sizer.Add(self.durationFloatSpin,
                  pos=(0, 4),
                  flag=wx.ALL | wx.ALIGN_BOTTOM,
                  border=0)
        sizer.Add(self.dummy100, pos=(0, 5), flag=wx.ALL, border=0)

        sizer.AddGrowableRow(0)
        sizer.AddGrowableCol(3)

        self.SetSizer(sizer)

        self.SetBackgroundColour(bgColor)

        self.Bind(floatspin.EVT_FLOATSPIN, self.onDurationFloatSpin,
                  self.durationFloatSpin)
        #self.Bind(wx.EVT_TEXT, self.onStartTimePicker, self.startTimePicker)
        self.Bind(wx.EVT_BUTTON, self.onStartTimeGo, self.startTimeGoButton)
        #self.Bind(wx.EVT_PAINT, self.onPaint)

    def onStartTimePicker(self, event):
        self.logger.debug('onStartTimePicker')

    def onStartTimeGo(self, event):
        self.logger.debug('GO startTime GO')
        curDate = _wxdate2pydate(self.startDatePicker.GetValue())
        if self.startTimePicker.IsValid():
            curTime = self.startTimePicker.GetValue().replace('.',
                                                              ':').split(':')
            curDateTime = UTCDateTime(curDate.year, curDate.month, curDate.day,
                                      int(curTime[0]), int(curTime[1]),
                                      int(curTime[2]), int(curTime[3]))
            self.logger.debug('startTime: %s', curDateTime)
            self.GetParent().GetParent().setStartTime(curDateTime)

    def onDurationFloatSpin(self, event):
        #dlg = wx.TextEntryDialog(
        #        self, 'Duration:',
        #        'Enter new duration')

        #dlg.SetValue(str(self.endTime - self.startTime))

        #if dlg.ShowModal() == wx.ID_OK:
        #    self.logger.debug('New duration: %f', float(dlg.GetValue()))
        #    self.logger.debug('Parent: %s', self.GetParent().GetParent())
        #    self.GetParent().GetParent().setDuration(float(dlg.GetValue()))
        floatSpin = event.GetEventObject()
        value = floatSpin.GetValue()
        self.logger.debug('New duration: %f', value)
        self.GetParent().GetParent().setDuration(value)

    def onPaint(self, event):
        #print "OnPaint"
        winSize = self.GetClientSize()
        width = winSize[0]
        height = winSize[1]
        btnSize = self.durationButton.GetSize()
        pos = (width - 100 - btnSize[1], height / 2)
        self.durationButton.SetPosition(pos)
        event.Skip()
        #dc = wx.PaintDC(self)
        #gc = self.makeGC(dc)
        #self.draw(gc)

    def makeGC(self, dc):
        try:
            gc = wx.GraphicsContext.Create(dc)
        except NotImplementedError:
            dc.DrawText(
                "This build of wxPython does not support the wx.GraphicsContext "
                "family of classes.", 25, 25)
            return None
        return gc

    def draw(self, gc):
        self.logger.debug('Draw datetime')
        winSize = self.GetClientSize()
        width = winSize[0]
        height = winSize[1]

        font = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)
        font.SetWeight(wx.BOLD)
        gc.SetFont(font)
        if self.startTime:
            gc.PushState()
            gc.Translate(80, height / 2.0)

            spanText = str(self.endTime - self.startTime) + ' s'
            text = str(self.startTime) + '      length: ' + spanText
            gc.DrawText(text, 0, 0)

            #gc.PopState()
            #gc.PushState()
            #text = str(self.endTime - self.startTime) + ' s'
            #(textWidth, textHeight) = gc.GetTextExtent(text)
            #gc.Translate(width - 100 - textWidth, height/2.0)
            #gc.DrawText(text, 0, 0)

            #gc.PopState()

            #gc.Translate(width/2.0, height/2.0)
            #penSize = 2
            #pen = wx.Pen('black', penSize)
            #pen.SetJoin(wx.JOIN_ROUND)
            #path = gc.CreatePath()
            #scalebarLength = 10
            #path.MoveToPoint(0, 0)
            #path.AddLineToPoint(scalebarLength * self.scale, 0)
            #path.CloseSubpath()

            #gc.Translate(width/2.0, height/2.0)
            #gc.SetPen(pen)
            #gc.DrawPath(path)

            #gc.PopState()

    def setTime(self, startTime, endTime, scale):

        # TODO: Add a check for the correct data type.
        self.startTime = startTime
        self.endTime = endTime
        self.scale = scale

        # Set the datePicker value.
        self.startDatePicker.SetValue(_pydate2wxdate(self.startTime))
        self.startTimePicker.SetValue(self.startTime.strftime('%H%M%S%f'))

        #self.startTimeButton.SetLabel(str(self.startTime))
        #self.startTimeButton.SetSize(self.startTimeButton.DoGetBestSize())

        #self.durationButton.SetLabel(str(self.endTime - self.startTime) + ' s')
        #self.durationButton.SetSize(self.durationButton.DoGetBestSize())
        self.durationFloatSpin.SetValue(self.endTime - self.startTime)
Exemplo n.º 6
0
    def createControls(self):
        sizer = wx.BoxSizer(wx.VERTICAL)

        staticBox = wx.StaticBoxSizer(wx.StaticBox(self, -1, " Driver " ), wx.VERTICAL )

        gridsizer = wx.FlexGridSizer(3 ,2)

        self.radioTcp = wx.RadioButton(self, ID_RB_TCPIP, " Arduino / TCP ", style = wx.RB_GROUP)
        gridsizer.Add(self.radioTcp, 1, wx.ALL, 5)

        gridsizer2 = wx.FlexGridSizer(3 ,2)
        self.addr = createLabeledControl(self, 'Server IP-address', ipaddrctrl.IpAddrCtrl(self, id = ID_IPADDR), gridsizer2, self.tcpControls)
        self.mask = createLabeledControl(self, 'Subnet-mask', ipaddrctrl.IpAddrCtrl(self, id = ID_SUBNET),gridsizer2, self.tcpControls )
        self.port = createLabeledControl(self, 'Server-port', TextCtrl(self, id = ID_PORT, mask = '#####'), gridsizer2, self.tcpControls)
        gridsizer.Add(gridsizer2, 1, wx.ALL | wx.ALIGN_TOP, 5)

        self.radioSerial = wx.RadioButton(self, ID_RB_SERIAL, " Serial Port ")
        gridsizer.Add(self.radioSerial, 1, wx.ALL, 5)

        boxSizer2 = wx.BoxSizer(wx.HORIZONTAL)
        self.serialPort = createLabeledControl(self, 'Port', TextCtrl(self, id = ID_SERIAL_PORT), boxSizer2, self.serialControls)
        gridsizer.Add(boxSizer2, 1, wx.ALL, 5)

        self.radioSim = wx.RadioButton(self, ID_RB_SIM, " Simulator ")
        gridsizer.Add(self.radioSim, 1, wx.ALL, 5)
        st = wx.StaticText(self, label = '')
        gridsizer.Add(st, 1, wx.ALL, 5)

        staticBox.Add(gridsizer)
        sizer.Add(staticBox, 1, wx.ALL, 5)

        boxSizer3 = wx.BoxSizer(wx.HORIZONTAL)
        self.poll = createLabeledControl(self, 'Polling interval', TextCtrl(self, id = ID_POLL, mask = '#####'), boxSizer3)
        sizer.Add(boxSizer3, flag=wx.ALL, border=5)

        self.logfile = wx.CheckBox(self, label='Write logfile')
        self.logfile.SetValue(False)
        sizer.Add(self.logfile, flag=wx.ALL, border=5)
  
        self.Bind(wx.EVT_CHECKBOX, self.SetLogWrite, self.logfile)

        line = wx.StaticLine(self, style = wx.LI_HORIZONTAL)
        sizer.Add(line, 0, wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.TOP, 5)
        btnsizer = wx.StdDialogButtonSizer()
        okButton = wx.Button(self, id = wx.ID_OK)
        okButton.SetDefault()
        btnsizer.Add(okButton)

        cancelButton = wx.Button(self, id = wx.ID_CANCEL)
        btnsizer.AddButton(cancelButton)

        btnsizer.Realize()
        sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)

        if not serialAvailable:
            radioSerial.Enable(False)

        self.Bind(wx.EVT_RADIOBUTTON, self.onDriverSelected, self.radioTcp)
        self.Bind(wx.EVT_RADIOBUTTON, self.onDriverSelected, self.radioSerial)
        self.Bind(wx.EVT_RADIOBUTTON, self.onDriverSelected, self.radioSim)

        self.SetSizerAndFit(sizer)