63 lines
1.6 KiB
Python
63 lines
1.6 KiB
Python
|
|
import wx
|
|
from configtool.page import Page
|
|
|
|
|
|
class CommunicationsPage(wx.Panel, Page):
|
|
def __init__(self, parent, nb, idPg, font):
|
|
wx.Panel.__init__(self, nb, wx.ID_ANY)
|
|
Page.__init__(self, font)
|
|
self.parent = parent
|
|
self.id = idPg
|
|
self.defaultBaud = '115200'
|
|
|
|
self.bauds = ['19200', '38400', '57600', '115200', '230400', '250000']
|
|
|
|
self.labels = {'XONXOFF': "XON/XOFF Flow Control", 'BAUD': "Baud Rate:",
|
|
'USB_SERIAL': "USB Serial"}
|
|
|
|
sz = wx.GridBagSizer()
|
|
sz.AddSpacer((20, 40), pos = (0, 0))
|
|
|
|
k = 'USB_SERIAL'
|
|
cb = self.addCheckBox(k, self.onUSBCheckBox)
|
|
sz.Add(cb, pos = (1, 1))
|
|
|
|
ch = self.addChoice('BAUD', self.bauds, self.bauds.index(self.defaultBaud),
|
|
80, self.onChoice)
|
|
sz.Add(ch, pos = (1, 3))
|
|
|
|
cb = self.addCheckBox('XONXOFF', self.onCheckBox)
|
|
sz.Add(cb, pos = (3, 3))
|
|
|
|
sz.AddSpacer((100, 10), pos = (2, 2))
|
|
|
|
self.SetSizer(sz)
|
|
self.enableAll(False)
|
|
|
|
def onUSBCheckBox(self, evt):
|
|
self.assertModified(True)
|
|
f = not self.checkBoxes['USB_SERIAL'].IsChecked()
|
|
self.checkBoxes['XONXOFF'].Enable(f)
|
|
self.choices['BAUD'].Enable(f)
|
|
evt.Skip()
|
|
|
|
def insertValues(self, cfgValues):
|
|
Page.insertValues(self, cfgValues)
|
|
|
|
k = 'BAUD'
|
|
self.setChoice(k, cfgValues, self.defaultBaud)
|
|
|
|
if self.checkBoxes['USB_SERIAL'].IsChecked():
|
|
self.checkBoxes['XONXOFF'].Enable(False)
|
|
self.choices['BAUD'].Enable(False)
|
|
|
|
def getValues(self):
|
|
result = Page.getValues(self)
|
|
|
|
if result['USB_SERIAL']:
|
|
result['BAUD'] = result['BAUD'][0], False
|
|
result['XONXOFF'] = False
|
|
|
|
return result
|