def initRateControls(self):
"""Initialize the poll size control.
"""
rateSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
# poll rate
pollSizeControlBox = widgets.ControlBox(self, label='Poll Size', orient=wx.HORIZONTAL)
self.pollSizeSpinCtrl = wx.SpinCtrl(self, style=wx.SP_WRAP,
value=str(self.src.pollSize), min=1, max=32)
pollSizeControlBox.Add(self.pollSizeSpinCtrl, flag=wx.ALL | wx.EXPAND, border=10)
self.Bind(wx.EVT_SPINCTRL, self.setPollSize, self.pollSizeSpinCtrl)
rateSizer.Add(pollSizeControlBox, proportion=0,
flag=wx.ALL | wx.EXPAND, border=10)
# speed mode
speedModeControlBox = widgets.ControlBox(self, label='Speed Mode', orient=wx.HORIZONTAL)
self.speedModeSpinCtrl = wx.SpinCtrl(self, style=wx.SP_WRAP,
value=str(self.src.speedMode.value), min=4, max=7)
speedModeControlBox.Add(self.speedModeSpinCtrl, flag=wx.ALL | wx.EXPAND, border=10)
self.Bind(wx.EVT_SPINCTRL, self.setSpeedMode, self.speedModeSpinCtrl)
rateSizer.Add(speedModeControlBox, proportion=0,
flag=wx.BOTTOM | wx.RIGHT | wx.TOP | wx.EXPAND, border=10)
# number of channels
nChans = (32, 64)
self.nChanRadios = [wx.RadioButton(self, label=str(nChans[0]), style=wx.RB_GROUP)] +\
[wx.RadioButton(self, label=str(sr)) for sr in nChans[1:]]
self.nChanRadios[-1].SetValue(True)
nChanControlBox = widgets.ControlBox(self, label='Num Chans', orient=wx.HORIZONTAL)
for nc,rbtn in zip(nChans, self.nChanRadios):
def nChanRadioWrapper(event, nc=nc):
try:
self.src.setNChan(nc)
except Exception as e:
wx.LogError('Failed to set number of channels: ' + str(e.message))
self.Bind(wx.EVT_RADIOBUTTON, nChanRadioWrapper, id=rbtn.GetId())
nChanControlBox.Add(self.nChanRadios[0], proportion=0,
flag=wx.ALL | wx.EXPAND, border=10)
for rbtn in self.nChanRadios[1:]:
nChanControlBox.Add(rbtn, proportion=0,
flag=wx.BOTTOM | wx.RIGHT | wx.TOP | wx.EXPAND, border=10)
rateSizer.Add(nChanControlBox, proportion=0,
flag=wx.BOTTOM | wx.RIGHT | wx.TOP | wx.EXPAND, border=10)
self.sizer.Add(rateSizer)
评论列表
文章目录