def Configure(self, mesg=WM_COMMAND, wParam=0, lParam=0, kind=0): mesgValues, mesgNames = zip(*self.msgConstants) mesgValues, mesgNames = list(mesgValues), list(mesgNames) try: i = mesgValues.index(mesg) choice = mesgNames[i] except: choice = str(mesg) panel = eg.ConfigPanel() mesgCtrl = panel.ComboBox(choice, mesgNames, style=wx.CB_DROPDOWN, validator=eg.DigitOnlyValidator(mesgNames)) wParamCtrl = panel.SpinIntCtrl(wParam, max=65535) lParamCtrl = panel.SpinIntCtrl(lParam, max=4294967295) kindCB = panel.CheckBox(kind == 1, self.text.text1) panel.AddLine("Message:", mesgCtrl) panel.AddLine("wParam:", wParamCtrl) panel.AddLine("lParam:", lParamCtrl) #panel.AddLine() panel.AddLine(kindCB) while panel.Affirmed(): choice = mesgCtrl.GetValue() try: i = mesgNames.index(choice) mesg = mesgValues[i] except: mesg = int(choice) panel.SetResult(mesg, wParamCtrl.GetValue(), lParamCtrl.GetValue(), 1 if kindCB.GetValue() else 0)
def Configure( self, port=0, baudrate=9600, bytesize=3, parity=0, stopbits=0, handshake=0, generateEvents=False, terminator="\\r", prefix="Serial", encodingNum=0, ): text = self.text panel = eg.ConfigPanel() portCtrl = panel.SerialPortChoice(port) baudrateCtrl = panel.ComboBox(str(baudrate), BAUDRATES, style=wx.CB_DROPDOWN, validator=eg.DigitOnlyValidator()) bytesizeCtrl = panel.Choice(bytesize, ['5', '6', '7', '8']) parityCtrl = panel.Choice(parity, text.parities) stopbitsCtrl = panel.Choice(stopbits, ['1', '2']) handshakeCtrl = panel.Choice(handshake, text.handshakes) generateEventsCtrl = panel.CheckBox(generateEvents, text.generateEvents) terminatorCtrl = panel.TextCtrl(terminator) terminatorCtrl.Enable(generateEvents) prefixCtrl = panel.TextCtrl(prefix) prefixCtrl.Enable(generateEvents) encodingCtrl = panel.Choice(encodingNum, text.codecChoices) encodingCtrl.Enable(generateEvents) def OnCheckBox(event): flag = generateEventsCtrl.GetValue() terminatorCtrl.Enable(flag) prefixCtrl.Enable(flag) encodingCtrl.Enable(flag) event.Skip() generateEventsCtrl.Bind(wx.EVT_CHECKBOX, OnCheckBox) panel.SetColumnFlags(1, wx.EXPAND) portSettingsBox = panel.BoxedGroup( "Port settings", (text.port, portCtrl), (text.baudrate, baudrateCtrl), (text.bytesize, bytesizeCtrl), (text.parity, parityCtrl), (text.stopbits, stopbitsCtrl), (text.flowcontrol, handshakeCtrl), ) eventSettingsBox = panel.BoxedGroup( "Event generation", (generateEventsCtrl), (text.terminator, terminatorCtrl), (text.eventPrefix, prefixCtrl), (text.encoding, encodingCtrl), ) eg.EqualizeWidths(portSettingsBox.GetColumnItems(0)) eg.EqualizeWidths(portSettingsBox.GetColumnItems(1)) eg.EqualizeWidths(eventSettingsBox.GetColumnItems(0)[1:]) eg.EqualizeWidths(eventSettingsBox.GetColumnItems(1)) panel.sizer.Add( eg.HBoxSizer(portSettingsBox, (10, 10), eventSettingsBox)) while panel.Affirmed(): panel.SetResult( portCtrl.GetValue(), int(baudrateCtrl.GetValue()), bytesizeCtrl.GetValue(), parityCtrl.GetValue(), stopbitsCtrl.GetValue(), handshakeCtrl.GetValue(), generateEventsCtrl.GetValue(), terminatorCtrl.GetValue(), prefixCtrl.GetValue(), encodingCtrl.GetValue(), )
def Configure( self, port=0, baudrate=9600, bytesize=3, parity=0, stopbits=0, generate_events=True, prefix="Atric", init=True, bytecount=6, ): text = self.text panel = eg.ConfigPanel() port_ctrl = panel.SerialPortChoice(port) baudrate_ctrl = panel.ComboBox(str(baudrate), BAUDRATES, style=wx.CB_DROPDOWN, validator=eg.DigitOnlyValidator()) bytesize_ctrl = panel.Choice(bytesize, BYTESIZES) parity_ctrl = panel.Choice(parity, PARITIES_CHOICE) stopbits_ctrl = panel.Choice(stopbits, STOPBITS) init_ctrl = panel.CheckBox(init, text.init_ctrl_label) bytecount_ctrl = panel.SpinIntCtrl(bytecount, min=1, max=32) bytecount_ctrl.Enable(generate_events) prefix_ctrl = panel.TextCtrl(prefix) prefix_ctrl.Enable(generate_events) generate_events_ctrl = panel.CheckBox(generate_events, text.generate_events_ctrl_label) def on_checkbox(event): flag = generate_events_ctrl.GetValue() bytecount_ctrl.Enable(flag) prefix_ctrl.Enable(flag) event.Skip() generate_events_ctrl.Bind(wx.EVT_CHECKBOX, on_checkbox) panel.SetColumnFlags(1, wx.EXPAND) port_settings_box = panel.BoxedGroup( text.port_settings_box_label, (text.port_ctrl_label, port_ctrl), (text.baudrate_ctrl_label, baudrate_ctrl), (text.bytesize_ctrl_label, bytesize_ctrl), (text.parity_ctrl_label, parity_ctrl), (text.stopbits_ctrl_label, stopbits_ctrl), (init_ctrl)) event_settings_box = panel.BoxedGroup( text.event_settings_box_label, (generate_events_ctrl), (text.bytecount_ctrl_label, bytecount_ctrl), (text.prefix_ctrl_label, prefix_ctrl)) eg.EqualizeWidths(port_settings_box.GetColumnItems(0)[:-1]) eg.EqualizeWidths(port_settings_box.GetColumnItems(1)) eg.EqualizeWidths(event_settings_box.GetColumnItems(0)[1:]) eg.EqualizeWidths(event_settings_box.GetColumnItems(1)) Add = panel.sizer.Add Add(eg.HBoxSizer(port_settings_box, (5, 5), event_settings_box)) while panel.Affirmed(): panel.SetResult(port_ctrl.GetValue(), int(baudrate_ctrl.GetValue()), bytesize_ctrl.GetValue(), parity_ctrl.GetValue(), stopbits_ctrl.GetValue(), generate_events_ctrl.GetValue(), prefix_ctrl.GetValue(), init_ctrl.GetValue(), bytecount_ctrl.GetValue())