def __init__(self, parent=None, sizer=None, label=None, value=None, converter=identity_converter(), callback=None, weight=1, choices=None, major_dimension=1, specify_rows=False): new_id = wx.NewId() if specify_rows: style = wx.RA_SPECIFY_ROWS | wx.RA_HORIZONTAL else: style = wx.RA_SPECIFY_COLS | wx.RA_HORIZONTAL w = wx.RadioBox(parent, new_id, label=label, style=style, majorDimension=major_dimension, choices=choices) self.f = self._pair_with_label(w, parent=parent, sizer=sizer, label=None, weight=weight) if callback: wx.EVT_RADIOBOX(w, new_id, lambda evt: callback(evt.GetString())) field.__init__(self, converter, value)
def __init__(self, parent, vsProc): wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS) self.parent = parent self.vsProc = vsProc # the grid gbs = wx.GridBagSizer(3, 4) # source chooser # static text label = wx.StaticText(self, -1, _("Source file:")) gbs.Add(label, (0,0)) # text entry id = wx.NewId() self.teSource = wx.TextCtrl(self, id, "", size=(200,-1), style=wx.TE_PROCESS_ENTER) wx.EVT_TEXT_ENTER(self.teSource, id, self.enteredSourceText) gbs.Add(self.teSource, (0,1), flag=wx.EXPAND) self.vsProc.registerEditor(self.teSource, "") # button sBtn = wx.Button(self, wx.ID_OPEN) wx.EVT_BUTTON(sBtn, wx.ID_OPEN, parent.onFileOpen) gbs.Add(sBtn, (0,2)) # destination chooser # static text label = wx.StaticText(self, -1, _("Destination file:")) gbs.Add(label, (1,0)) # text entry id = wx.NewId() self.teDestin = wx.TextCtrl(self, id, "", size=(200,-1), style=wx.TE_PROCESS_ENTER) wx.EVT_TEXT_ENTER(self.teDestin, id, self.enteredDestinText) gbs.Add(self.teDestin, (1,1), flag=wx.EXPAND) self.vsProc.registerEditor(self.teDestin, "") # button dBtn = wx.Button(self, wx.ID_SAVE) wx.EVT_BUTTON(dBtn, wx.ID_SAVE, parent.onDestChooser) gbs.Add(dBtn, (1,2)) # format chooser id = wx.NewId() self.options = ["HTML", "LaTeX", "XML"] self.rbFormat = wx.RadioBox(self, id, _("Destination format"), wx.DefaultPosition, wx.DefaultSize, self.options, 1, style=wx.RA_SPECIFY_COLS) wx.EVT_RADIOBOX(self.rbFormat, id, self.rbSelection) gbs.Add(self.rbFormat, (0,3), (3,1)) # process button id = wx.NewId() procBtn = wx.Button(self, id, _("Process")) wx.EVT_BUTTON(procBtn, id, parent.goProcess) vsProc.registerAction(procBtn) gbs.Add(procBtn, (2,4)) self.SetSizer(gbs) return
def make_state_gui (self, parent): "Create the state methods. (SetAToB methods)" panel = wx.Panel(parent, id=-1) vert_sizer = wx.BoxSizer(wx.VERTICAL) panel.SetAutoLayout(True) panel.SetSizer(vert_sizer) internalSizer = wx.BoxSizer(wx.VERTICAL) vert_sizer.Add(internalSizer, 1, wx.ALL, 7) # self.state_meths is a list of lists # each of the contained lists is the collection of SetBlaToBlaat # methods, where Bla is constant for each contained list n_meth = len (self.state_meths) rw = 0 for i in range (0, n_meth): meths = self.state_meths[i] # a subgroup must have more than 1 member, else it's not a state method if len(meths) > 1: self.state_var[i] = self.get_state (meths) # these 2 lines ripped from get_state end = self.state_patn.search (meths[0]).start () get_m = 'G'+meths[0][1:end] rb_id = wx.NewId() rb = wx.RadioBox(parent=panel, id=rb_id, label=get_m, choices=meths, majorDimension=2, style=wx.RA_SPECIFY_COLS) rb.SetSelection(self.state_var[i]) set_m = meths[0][0:end] try: docString = eval('self._vtk_obj.%s.__doc__' % (set_m,)) except AttributeError: pass else: rb.SetToolTip(wx.ToolTip(docString)) wx.EVT_RADIOBOX(panel, rb_id, lambda event, s=self, i=i: s.radiobox_cb(event, i)) internalSizer.Add(rb, 0, wx.EXPAND|wx.BOTTOM, 7) self.state_radioboxes[i] = rb return panel
def fillOptSizer(twk, init=False): val = optionid if init else (0, 7)[twk] autoCloseLbl0.Enable(twk) autoCloseLbl1.Enable(twk) autoCloseCtrl.Enable(twk) waitCtrl.Enable(twk) optionSizer.Clear(True) if twk: stBox = wx.StaticBox(panel, -1, text.options) box1 = wx.StaticBoxSizer(stBox, wx.VERTICAL) optionSizer.Add(box1, 1, wx.EXPAND) ctrl0 = wx.CheckBox(panel, ids[0], text.modal) ctrl0.SetValue(val & 1) wx.EVT_CHECKBOX(ctrl0, ids[0], onCheckBox) ctrl1 = wx.CheckBox(panel, ids[1], text.aot) ctrl1.SetValue(val & 2) ctrl2 = wx.CheckBox(panel, ids[2], text.play) ctrl2.SetValue(val & 4) box1.Add(ctrl0, 0, wx.TOP, 5) box1.Add(ctrl1, 0, wx.TOP, 5) box1.Add(ctrl2, 0, wx.TOP, 5) if ctrl0.GetValue(): ctrl1.Enable(False) ctrl1.SetValue(True) else: ctrl1.Enable(True) else: autoCloseCtrl.SetValue(0) optionCtrl = wx.RadioBox(panel, ids[0], label=text.options, choices=text.radioBoxOptions, style=wx.RA_SPECIFY_ROWS) wx.EVT_RADIOBOX(optionCtrl, ids[0], onRadioBox) optionCtrl.SetSelection(val) if val == 1: waitCtrl.Enable(False) waitCtrl.SetValue(False) else: waitCtrl.Enable(True) optionSizer.Add(optionCtrl, 0, wx.EXPAND) panel.sizer.Layout()
def __init__(self, parent, id): wx.Panel.__init__(self, parent, id) self.quote = wx.StaticText(self, -1, "Your quote is", wx.Point(20, 30)) self.logger = wx.TextCtrl(self, 5, "", wx.Point(300, 20), wx.Size(200, 300), wx.TE_MULTILINE | wx.TE_READONLY) # Button self.button = wx.Button(self, 10, "Save", wx.Point(200, 325)) wx.EVT_BUTTON(self, 10, self.OnClick) # Edit controls self.labelname = wx.StaticText(self, -1, "Your name:", wx.Point(20, 60)) self.editname = wx.TextCtrl(self, 20, "Enter your name here", wx.Point(150, 60), wx.Size(140, -1)) wx.EVT_TEXT(self, 20, self.EvtText) wx.EVT_CHAR(self.editname, self.EvtChar) # Combo box self.samplelist = ['friends', 'bop', 'things'] self.edithear = wx.ComboBox(self, 30, '', wx.Point(150, 90), wx.Size(95, -1), self.samplelist, wx.CB_DROPDOWN) wx.EVT_COMBOBOX(self, 30, self.EvtComboBox) wx.EVT_TEXT(self, 30, self.EvtText) # Checkbox self.insure = wx.CheckBox(self, 40, "Do you want foo?", wx.Point(20, 180)) wx.EVT_CHECKBOX(self, 40, self.EvtCheckBox) # Radio boxes self.radioList = ['blue', 'red', 'yellow', 'orange'] rb = wx.RadioBox(self, 50, "What color?", wx.Point(20, 210), wx.DefaultSize, self.radioList, 3, wx.RA_SPECIFY_COLS) wx.EVT_RADIOBOX(self, 50, self.EvtRadioBox)
def __init_gui(self, frame, panel, vbox): self.frame = frame self.frame.CreateStatusBar() self.panel = panel self.vbox = vbox # setup the menu bar menubar = self.frame.GetMenuBar() # setup the "File" menu file_menu = menubar.GetMenu(0) self.file_new = file_menu.Insert(0, wx.ID_NEW) self.frame.Bind(wx.EVT_MENU, self._on_file_new, self.file_new) self.file_open = file_menu.Insert(1, wx.ID_OPEN) self.frame.Bind(wx.EVT_MENU, self._on_file_open, self.file_open) file_menu.InsertSeparator(2) self.file_properties = file_menu.Insert(3, wx.ID_PROPERTIES) self.frame.Bind(wx.EVT_MENU, self._on_file_properties, self.file_properties) file_menu.InsertSeparator(4) self.file_close = file_menu.Insert(5, wx.ID_CLOSE) self.frame.Bind(wx.EVT_MENU, self._on_file_close, self.file_close) # setup the "Edit" menu edit_menu = wx.Menu() self.edit_undo = edit_menu.Insert(0, wx.ID_UNDO) self.frame.Bind(wx.EVT_MENU, self._on_edit_undo, self.edit_undo) self.edit_redo = edit_menu.Insert(1, wx.ID_REDO) self.frame.Bind(wx.EVT_MENU, self._on_edit_redo, self.edit_redo) edit_menu.InsertSeparator(2) self.edit_cut = edit_menu.Insert(3, wx.ID_CUT) self.frame.Bind(wx.EVT_MENU, self._on_edit_cut, self.edit_cut) self.edit_copy = edit_menu.Insert(4, wx.ID_COPY) self.frame.Bind(wx.EVT_MENU, self._on_edit_copy, self.edit_copy) self.edit_paste = edit_menu.Insert(5, wx.ID_PASTE) self.frame.Bind(wx.EVT_MENU, self._on_edit_paste, self.edit_paste) self.edit_delete = edit_menu.Insert(6, wx.ID_DELETE) self.frame.Bind(wx.EVT_MENU, self._on_edit_delete, self.edit_delete) edit_menu.InsertSeparator(7) self.edit_select_all = edit_menu.Insert(8, wx.ID_SELECTALL) self.frame.Bind(wx.EVT_MENU, self._on_edit_select_all, self.edit_select_all) edit_menu.InsertSeparator(9) self.edit_prefs = edit_menu.Insert(10, wx.ID_PREFERENCES) self.frame.Bind(wx.EVT_MENU, self._on_edit_prefs, self.edit_prefs) menubar.Append(edit_menu, "&Edit") # ToDo use wx.ID_EDIT stuff # setup the toolbar if True: self.toolbar = wx.ToolBar(frame, -1, style=wx.TB_DOCKABLE | wx.TB_HORIZONTAL) frame.SetToolBar(self.toolbar) icon_size = wx.Size(24, 24) new_icon = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, icon_size) toolbar_new = self.toolbar.AddSimpleTool(wx.ID_NEW, new_icon, "New Capture") open_icon = wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_TOOLBAR, icon_size) toolbar_open = self.toolbar.AddSimpleTool(wx.ID_OPEN, open_icon, "Open") # self.toolbar.AddSeparator() self.gain_control = wx.Slider(self.toolbar, 11101, 1, 1, 150, size=(200, 50), style=wx.SL_HORIZONTAL) self.gain_control.SetTickFreq(5, 1) wx.EVT_SLIDER(self.toolbar, 11101, self.gain_slider_chg) self.toolbar.AddControl(self.gain_control) # self.gain_field = wx.TextCtrl(self.toolbar, -1, "", size=(50, -1), style=wx.TE_READONLY) self.gain_field.SetValue(str(1)) self.toolbar.AddSeparator() self.toolbar.AddControl(self.gain_field) # , pos=(1,2)) self.toolbar.Realize() else: self.toolbar = None # setup the notebook self.notebook = wx.Notebook(self.panel) self.vbox.Add(self.notebook, 1, wx.EXPAND) # add spectrum scope self.spectrum = fftsink2.fft_sink_c(self.notebook, fft_size=512, fft_rate=2, average=True, peak_hold=True) self.spectrum_plotter = self.spectrum.win.plot self.spectrum_plotter.Bind(wx.EVT_LEFT_DOWN, self._on_spectrum_left_click) self.notebook.AddPage(self.spectrum.win, "RF Spectrum") # add C4FM scope self.signal_scope = scopesink2.scope_sink_f( self.notebook, sample_rate=self.channel_rate, v_scale=5, t_scale=0.001) self.signal_plotter = self.signal_scope.win.graph self.notebook.AddPage(self.signal_scope.win, "C4FM Signal") # add datascope self.data_scope = datascope_sink_f( self.notebook, samples_per_symbol=self.channel_rate // self.symbol_rate, num_plots=100) self.data_plotter = self.data_scope.win.graph wx.EVT_RADIOBOX(self.data_scope.win.radio_box, 11103, self.filter_select) self.notebook.AddPage(self.data_scope.win, "Datascope") # add symbol scope self.symbol_scope = scopesink2.scope_sink_f( self.notebook, frame_decim=1, sample_rate=self.symbol_rate, v_scale=1, t_scale=0.05) self.symbol_plotter = self.symbol_scope.win.graph self.symbol_scope.win.set_format_plus() self.notebook.AddPage(self.symbol_scope.win, "Demodulated Symbols") # Traffic snapshot self.traffic = TrafficPane(self.notebook) self.notebook.AddPage(self.traffic, "Traffic") # symbol slicer levels = [-2.0, 0.0, 2.0, 4.0] self.slicer = op25.fsk4_slicer_fb(levels) # Setup the decoder and report the TUN/TAP device name self.msgq = gr.msg_queue(2) self.decode_watcher = decode_watcher(self.msgq, self.traffic) self.p25_decoder = op25.decoder_bf() self.p25_decoder.set_msgq(self.msgq) self.frame.SetStatusText("TUN/TAP: " + self.p25_decoder.destination())
def __init__(self, parent, ID, destPos, playerList, playerIdx, messenger, destroyedCallback): wx.Dialog.__init__(self, parent, ID, _("Choose a Move")) self.parent = parent self.panel = wx.Panel(self, -1) self.playerIdx = playerIdx self.playerList = playerList self.currPos = self.playerList[self.playerIdx][1] self.messenger = messenger self.destroyedCallback = destroyedCallback # Mr. X gets the option of a double move if self.playerIdx == 0: # TRANSLATORS: this is a label for a choose box that lets the user select single or double move self.moveType = wx.RadioBox( self.panel, -1, _("move type: "), wx.DefaultPosition, wx.DefaultSize, # TRANSLATORS: as in "single move", not "double move" [ _("Single"), # TRANSLATORS: as in "double move", not "single move" _("Double") ], 1, wx.RA_SPECIFY_ROWS) # If he has no double move tokens, then it's disabled if self.playerList[self.playerIdx][2][4] < 1: self.moveType.Enable(False) # TRANSLATORS: this is for the move selection dialog self.pos1Label = wx.StaticText( self.panel, -1, _("Move from %(number)d to ") % {"number": self.currPos}, wx.Point(0, 0)) # TRANSLATORS: this is for the move selection dialog: "move from 102 to 110 'using' taxi" self.trans1Label = wx.StaticText(self.panel, -1, _(" using "), wx.Point(0, 0)) self.moves, self.movesStr = self.getAvailMoves(self.currPos, self.playerList, self.playerIdx) self.dest1Box = wx.Choice(self.panel, -1, wx.DefaultPosition, wx.DefaultSize, self.movesStr) self.dest1Box.SetSelection(0) if destPos in self.moves: self.Show(True) for i in range(len(self.moves)): if self.moves[i] == destPos: self.dest1Box.SetSelection(i) break else: self.Show(False) if destPos != 0: self.drawMoveErrorDialog() self.trans1ID = wx.NewId() if len(self.moves) > 0: self.trans, self.transStr = self.getAvailTransports( self.currPos, self.moves[self.dest1Box.GetSelection()], self.playerList[self.playerIdx][2], self.playerIdx) else: self.trans = [] self.transStr = [] self.trans1Box = wx.Choice(self.panel, self.trans1ID, wx.DefaultPosition, wx.DefaultSize, self.transStr) self.trans1Box.SetSelection(0) # double move options if self.playerIdx == 0: # TRANSLATORS: this is for the move selection dialog self.pos2Label = wx.StaticText( self.panel, -1, _("Move from %(number)s to ") % {"number": self.dest1Box.GetStringSelection()}, wx.Point(0, 0)) # TRANSLATORS: this is for the move selection dialog: "move from 102 to 110 'using' taxi" self.trans2Label = wx.StaticText(self.panel, -1, _(" using "), wx.Point(0, 0)) # create a new playerList that has an updated location and list of tokens for Mr. X, assuming # that the first leg of the double move is complete. This new list is required to figure out # which moves are available for the second leg. pl2 = [] player = [] player.append(self.playerList[0][0]) if len(self.moves) > 0: player.append(self.moves[self.dest1Box.GetSelection()]) tokenList = self.playerList[0][2][:] dummy = self.trans1Box.GetStringSelection() if dummy == _("black ticket"): tokenList[3] -= 1 player.append(tokenList) pl2.append(player) for i in range(1, len(self.playerList)): pl2.append(self.playerList[i]) self.dest2ID = wx.NewId() if len(self.moves) > 0: self.moves2, self.moves2Str = self.getAvailMoves( self.moves[self.dest1Box.GetSelection()], pl2, 0) else: self.moves2 = [] self.moves2Str = [] self.dest2Box = wx.Choice(self.panel, self.dest2ID, wx.DefaultPosition, wx.DefaultSize, self.moves2Str) self.dest2Box.SetSelection(0) self.trans2ID = wx.NewId() if len(self.moves) > 0 and len(self.moves2) > 0: self.trans2, self.trans2Str = self.getAvailTransports( self.moves[self.dest1Box.GetSelection()], self.moves2[self.dest2Box.GetSelection()], pl2[0][2], 0) else: self.trans2 = [] self.trans2Str = [] self.trans2Box = wx.Choice(self.panel, self.trans2ID, wx.DefaultPosition, wx.DefaultSize, self.trans2Str) self.trans2Box.SetSelection(0) self.move2Sizer = wx.BoxSizer(wx.HORIZONTAL) self.move2Sizer.Add(self.pos2Label, 0, wx.ALIGN_CENTRE | wx.ALL | wx.ADJUST_MINSIZE, 5) self.move2Sizer.Add(self.dest2Box, 0, wx.ALIGN_CENTRE | wx.ALL, 5) self.move2Sizer.Add(self.trans2Label, 0, wx.ALIGN_CENTRE | wx.ALL | wx.ADJUST_MINSIZE, 5) self.move2Sizer.Add(self.trans2Box, 0, wx.ALIGN_CENTRE | wx.ALL, 5) labelFont = wx.Font(self.GetFont().GetPointSize(), wx.DEFAULT, wx.NORMAL, wx.BOLD) labelFont.SetWeight(wx.BOLD) # TRANSLATORS: as in "move number one" (of multiple moves) self.move1Label = wx.StaticText(self.panel, -1, _("Move One:")) # TRANSLATORS: as in "move number two" (of multiple moves) self.move2Label = wx.StaticText(self.panel, -1, _("Move Two:")) self.move1Label.SetFont(labelFont) self.move2Label.SetFont(labelFont) if self.playerIdx == 0: self.move2Label.Enable(False) self.pos2Label.Enable(False) self.trans2Label.Enable(False) self.dest2Box.Enable(False) self.trans2Box.Enable(False) okButton = wx.Button(self.panel, wx.ID_OK, _("OK")) cancelButton = wx.Button(self.panel, wx.ID_CANCEL, _("Cancel")) self.move1Sizer = wx.BoxSizer(wx.HORIZONTAL) self.move1Sizer.Add(self.pos1Label, 0, wx.ALIGN_CENTRE | wx.ALL | wx.ADJUST_MINSIZE, 5) self.move1Sizer.Add(self.dest1Box, 0, wx.ALIGN_CENTRE | wx.ALL, 5) self.move1Sizer.Add(self.trans1Label, 0, wx.ALIGN_CENTRE | wx.ALL | wx.ADJUST_MINSIZE, 5) self.move1Sizer.Add(self.trans1Box, 0, wx.ALIGN_CENTRE | wx.ALL, 5) buttonSizer = wx.BoxSizer(wx.HORIZONTAL) buttonSizer.Add(cancelButton, 0, wx.ALIGN_CENTRE | wx.ALL, 5) buttonSizer.Add(okButton, 0, wx.ALIGN_CENTRE | wx.ALL, 5) self.pSizer = wx.BoxSizer(wx.VERTICAL) if self.playerIdx == 0: self.pSizer.Add(self.moveType, 0, wx.ALIGN_CENTRE | wx.ALL, 5) self.pSizer.Add(self.move1Label, 0, wx.ALIGN_LEFT | wx.LEFT | wx.TOP, 5) self.move1Sizer.Prepend((10, 1), 0, 0) self.pSizer.Add(self.move1Sizer, 0, wx.ALIGN_CENTRE | wx.ALL | wx.ADJUST_MINSIZE, 5) if self.playerIdx == 0: self.pSizer.Add(self.move2Label, 0, wx.ALIGN_LEFT | wx.LEFT | wx.TOP, 5) self.move2Sizer.Prepend((10, 1), 0, 0) self.pSizer.Add(self.move2Sizer, 0, wx.ALIGN_CENTRE | wx.ALL | wx.ADJUST_MINSIZE, 5) self.pSizer.Add(buttonSizer, 0, wx.ALIGN_RIGHT | wx.ALL, 5) self.panel.SetSizer(self.pSizer) self.pSizer.Fit(self.panel) self.sizer = wx.BoxSizer(wx.VERTICAL) self.sizer.Add(self.panel, 1, wx.EXPAND | wx.ALL | wx.ADJUST_MINSIZE, 5) self.SetSizer(self.sizer) self.sizer.Fit(self) self.SetAutoLayout(1) self.dest1Box.SetFocus() wx.EVT_BUTTON(self, wx.ID_CANCEL, self.OnCancel) wx.EVT_BUTTON(self, wx.ID_OK, self.OnOK) wx.EVT_CHOICE(self, self.dest1Box.GetId(), self.updateTrans1) if self.playerIdx == 0: wx.EVT_CHOICE(self, self.dest2Box.GetId(), self.updateTrans2Evt) wx.EVT_RADIOBOX(self, self.moveType.GetId(), self.updateDouble)
def __init__(self, parent, id, caption, categories, style=wx.DEFAULT_DIALOG_STYLE): wx.Dialog.__init__(self, parent, id, title=caption, style=style) # the main box sizer bs=wx.BoxSizer(wx.VERTICAL) # the flex grid sizers for the editable items main_fgs=wx.FlexGridSizer(0, 1, 0, 0) fgs=wx.FlexGridSizer(3, 2, 0, 5) fgs1=wx.FlexGridSizer(0, 1, 0, 0) fgs2=wx.FlexGridSizer(0, 2, 0, 5) # set the date options self.SetDateControls(fgs, fgs1) # new repeat to single events option self._rpt_chkbox=wx.CheckBox(self, id=wx.NewId(), label='Repeat Events:', style=wx.ALIGN_RIGHT) self._rpt_chkbox.Disable() fgs.Add(self._rpt_chkbox, 0, wx.ALIGN_RIGHT|wx.TOP|wx.BOTTOM, 5) self._rpt_chkbox_text=wx.StaticText(self, -1, 'Import as multi-single events.') fgs.Add(self._rpt_chkbox_text, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTRE, 0) self._rpt_chkbox_text.Disable() # alarm option choices=('Disable All Alarms', 'Use Alarm Settings From Calender', 'Set Alarm On All Events') self.__alarm_setting = wx.RadioBox(self, id=wx.NewId(), label="Select Alarm Settings For Imported Events", choices=choices, majorDimension=1, size=(280,-1)) fgs1.Add(self.__alarm_setting, 0, wx.ALIGN_CENTRE|wx.TOP|wx.BOTTOM, 5) #alarm vibrate self.__vibrate=wx.CheckBox(self, id=wx.NewId(), label='Alarm Vibrate:', style=wx.ALIGN_RIGHT) fgs2.Add(self.__vibrate, 0, wx.ALIGN_RIGHT|wx.TOP|wx.BOTTOM, 5) self.__vibrate_text=wx.StaticText(self, -1, 'Enable vibrate for alarms.') fgs2.Add(self.__vibrate_text, 0, wx.ALIGN_LEFT|wx.TOP|wx.BOTTOM, 5) # alarm settings self.__ringtone_text=wx.StaticText(self, -1, 'Alarm Ringtone:') fgs2.Add(self.__ringtone_text, 0, wx.ALIGN_RIGHT|wx.TOP|wx.BOTTOM, 5) self.__ringtone=wx.ComboBox(self, id=wx.NewId(), style=wx.CB_DROPDOWN|wx.CB_READONLY, choices=[self.unnamed], size=(160,-1)) fgs2.Add(self.__ringtone, 0, wx.ALIGN_LEFT|wx.TOP|wx.BOTTOM, 2) # alarm value self.__alarm_value_text=wx.StaticText(self, -1, 'Alert before (mins):') fgs2.Add(self.__alarm_value_text, 0, wx.ALIGN_RIGHT|wx.TOP|wx.BOTTOM, 5) self.__alarm_value=wx.lib.intctrl.IntCtrl(self, id=wx.NewId(), size=(50,-1), value=0, min=0, max=1000) fgs2.Add( self.__alarm_value, 0, wx.ALIGN_LEFT|wx.TOP|wx.BOTTOM, 2) # category option self.__cat_chkbox=wx.CheckBox(self, id=wx.NewId(), label='Categories:', style=wx.ALIGN_RIGHT) fgs2.Add(self.__cat_chkbox, 0, wx.ALIGN_RIGHT|wx.TOP|wx.BOTTOM, 5) for i,c in enumerate(categories): if not len(c): categories[i]='<None>' self.__cats=wx.CheckListBox(self, choices=categories, size=(160, 50)) self.__cats.Disable() fgs2.Add(self.__cats, 0, wx.ALIGN_LEFT, 0) main_fgs.Add(fgs, 1, wx.EXPAND|wx.ALL, 0) main_fgs.Add(fgs1, 1, wx.EXPAND|wx.ALL, 0) main_fgs.Add(fgs2, 1, wx.EXPAND|wx.ALL, 0) bs.Add(main_fgs, 1, wx.EXPAND|wx.ALL, 5) # the buttons bs.Add(wx.StaticLine(self, -1), 0, wx.EXPAND|wx.TOP|wx.BOTTOM, 5) bs.Add(self.CreateButtonSizer(wx.OK|wx.CANCEL), 0, wx.ALIGN_CENTRE|wx.ALL, 5) # event handles wx.EVT_CHECKBOX(self, self._start_date_chkbox.GetId(), self.OnCheckBox) wx.EVT_CHECKBOX(self, self._end_date_chkbox.GetId(), self.OnCheckBox) wx.EVT_CHECKBOX(self, self.__cat_chkbox.GetId(), self.OnCheckBox) wx.EVT_RADIOBOX(self, self.__alarm_setting.GetId(), self.OnAlarmSetting) # Listen to changes in ringtones list pubsub.subscribe(self.OnRingtoneUpdates, pubsub.ALL_RINGTONES) # all done self.SetSizer(bs) self.SetAutoLayout(True) bs.Fit(self)
def __init__(self, parent, id): wx.Panel.__init__(self, parent, id) #variavels_______________________________________ Form1.mapa_entrada='' Form1.Path=False Form1.Frag=False Form1.Cone=False Form1.background_filename=[] Form1.size = 450 Form1.hsize = 450 Form1.formcalculate='Multiple' Form1.species_profile_group='' Form1.speciesList=[] Form1.species_profile='' Form1.petternmaps='' Form1.start_raio=0 Form1.label_prefix='' Form1.RedularExp='' Form1.listMapsPng=[] Form1.listMapsPngAux=[] Form1.contBG=0 Form1.plotmovements=0 Form1.lenlistpng=0 Form1.ListmapsPath=[] Form1.ListMapsGroupCalc=[] Form1.escala_frag='' Form1.escala_ED='' Form1.dirout='' Form1.chebin='' Form1.checEDGE='' #________________________________________________ #self.speciesList = ['Random walk','Core dependent','Frag. dependent', 'Habitat dependent', 'Moderately generalist', 'Highly generalist'] Form1.speciesList=grass.mlist_grouped ('rast', pattern='(*)') ['PERMANENT'] #____________________________________________________________________________ Form1.start_popsize=5 Form1.numberruns=100 Form1.timesteps=200 Form1.dirout=selecdirectori() Form1.output_prefix2='Nome do arquivo + ext ' self.quote = wx.StaticText(self, id=-1, label="Connectivity Index",pos=wx.Point(20, 20)) font = wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD) self.quote.SetForegroundColour("blue") self.quote.SetFont(font) #____________________________________________________________________________ # A multiline TextCtrl - This is here to show how the events work in this program, don't pay too much attention to it #caixa de mensagem self.logger = wx.TextCtrl(self,5, '',wx.Point(20,330), wx.Size(340,120),wx.TE_MULTILINE | wx.TE_READONLY) self.editname = wx.TextCtrl(self, 190, '', wx.Point(180, 82), wx.Size(100,-1)) #Regular expression self.editname = wx.TextCtrl(self, 191, '', wx.Point(270,200), wx.Size(80,-1)) #escala self.editname = wx.TextCtrl(self, 192, '', wx.Point(260,225), wx.Size(90,-1)) #borda wx.EVT_TEXT(self, 190, self.EvtText) wx.EVT_TEXT(self, 191, self.EvtText) wx.EVT_TEXT(self, 192, self.EvtText) #____________________________________________________________________________ # A button self.button =wx.Button(self, 10, "START SIMULATION", wx.Point(20, 480)) wx.EVT_BUTTON(self, 10, self.OnClick) self.button =wx.Button(self, 8, "EXIT", wx.Point(270, 480)) wx.EVT_BUTTON(self, 8, self.OnExit) self.button =wx.Button(self, 9, "change Map", wx.Point(280, 295)) wx.EVT_BUTTON(self, 9, self.OnClick) self.button =wx.Button(self, 11, "TXT RULES", wx.Point(283,260)) wx.EVT_BUTTON(self,11, self.OnClick) #____________________________________________________________________________ ##------------ LElab_logo imageFile = 'logo_lab.png' im1 = Image.open(imageFile) jpg1 = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap() wx.StaticBitmap(self, -1, jpg1, (20,190), (jpg1.GetWidth(), jpg1.GetHeight()), style=wx.SUNKEN_BORDER) #______________________________________________________________________________________________________________ #static text self.SelecMetrcis = wx.StaticText(self,-1,"Chose Metric:",wx.Point(20,150)) self.SelecMetrcis = wx.StaticText(self,-1,"Show Maps List:",wx.Point(180,300)) self.SelecMetrcis = wx.StaticText(self,-1,"Regular Expression:",wx.Point(182, 62)) self.SelecMetrcis = wx.StaticText(self,-1,"List Scale Unit(m):",wx.Point(180,200)) self.SelecMetrcis = wx.StaticText(self,-1,"List Ed. Unit(m):",wx.Point(180,228)) wx.EVT_TEXT(self, 185, self.EvtText) #______________________________________________________________________________________________________________ # the combobox Control #Form1.editspeciesList=wx.ComboBox(self, 93, Form1.species_profile, wx.Point(80, 115), wx.Size(280, -1), #Form1.speciesList, wx.CB_DROPDOWN) #wx.EVT_COMBOBOX(self, 93, self.EvtComboBox) #wx.EVT_TEXT(self, 93, self.EvtText) #______________________________________________________________________________________________________________ # Checkbox self.insure = wx.CheckBox(self, 96, "AH Path.",wx.Point(90,150)) wx.EVT_CHECKBOX(self, 96, self.EvtCheckBox) self.insure = wx.CheckBox(self, 95, "AH Frag.",wx.Point(160,150)) wx.EVT_CHECKBOX(self, 95, self.EvtCheckBox) self.insure = wx.CheckBox(self, 97, "AH Con.",wx.Point(230,150)) wx.EVT_CHECKBOX(self, 97, self.EvtCheckBox) self.insure = wx.CheckBox(self, 150, "EDGE.",wx.Point(295,150)) wx.EVT_CHECKBOX(self, 150, self.EvtCheckBox) self.insure = wx.CheckBox(self, 98, "",wx.Point(260,300)) wx.EVT_CHECKBOX(self, 98, self.EvtCheckBox) self.insure = wx.CheckBox(self, 99, "Create Bin.",wx.Point(180,265)) wx.EVT_CHECKBOX(self, 99, self.EvtCheckBox) #______________________________________________________________________________________________________________ #Radio Boxes self.dispersiveList = ['Multiple', 'Single', ] rb = wx.RadioBox(self, 92, "Chose form calculate", wx.Point(20, 62), wx.DefaultSize, self.dispersiveList, 2, wx.RA_SPECIFY_COLS) wx.EVT_RADIOBOX(self, 92, self.EvtRadioBox) #______________________________________________________________________________________________________________ #backgroun inicial Form1.background_filename=['Pai10.png'] Form1.background_filename_start=Form1.background_filename[0] img =Image.open(Form1.background_filename[0]) # redimensionamos sem perder a qualidade img = img.resize((Form1.size,Form1.hsize),Image.ANTIALIAS) img.save(Form1.background_filename[0]) imageFile=Form1.background_filename[0] im1 = Image.open(imageFile) jpg1 = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap() wx.StaticBitmap(self, -1, jpg1, (380,40), (jpg1.GetWidth(), jpg1.GetHeight()), style=wx.SIMPLE_BORDER)
def __init__(self, parent, id): """ Initializes the panel by adding an "Options" folder tab to the parent notebook and populating the panel with the generic properties of a pydocview application. """ wx.Panel.__init__(self, parent, id) SPACE = 10 HALF_SPACE = 5 config = wx.ConfigBase_Get() self._showTipsCheckBox = wx.CheckBox(self, -1, _("Show tips at start up")) self._showTipsCheckBox.SetValue( config.ReadInt("ShowTipAtStartup", True)) if self._AllowModeChanges(): supportedModes = wx.GetApp().GetService( GeneralOptionsService).GetSupportedModes() choices = [] self._sdiChoice = _("Show each document in its own window") self._mdiChoice = _( "Show all documents in a single window with tabs") self._winMdiChoice = _( "Show all documents in a single window with child windows") if supportedModes & wx.lib.docview.DOC_SDI: choices.append(self._sdiChoice) choices.append(self._mdiChoice) if wx.Platform == "__WXMSW__": choices.append(self._winMdiChoice) #when language is chinese,set radiobox width to fit ui if GetLangId(config.Read("Language", "")) == wx.LANGUAGE_ENGLISH_US: size = (-1, -1) else: size = (400, -1) self._documentRadioBox = wx.RadioBox( self, -1, _("Document Display Style"), size=size, choices=choices, majorDimension=1, ) if config.ReadInt("UseWinMDI", False): self._documentRadioBox.SetStringSelection(self._winMdiChoice) elif config.ReadInt("UseMDI", True): self._documentRadioBox.SetStringSelection(self._mdiChoice) else: self._documentRadioBox.SetStringSelection(self._sdiChoice) def OnDocumentInterfaceSelect(event): if not self._documentInterfaceMessageShown: msgTitle = wx.GetApp().GetAppName() if not msgTitle: msgTitle = _("Document Options") wx.MessageBox( _("Document interface changes will not appear until the application is restarted." ), msgTitle, wx.OK | wx.ICON_INFORMATION, self.GetParent()) self._documentInterfaceMessageShown = True wx.EVT_RADIOBOX(self, self._documentRadioBox.GetId(), OnDocumentInterfaceSelect) optionsBorderSizer = wx.BoxSizer(wx.VERTICAL) optionsSizer = wx.BoxSizer(wx.VERTICAL) if self._AllowModeChanges(): optionsSizer.Add(self._documentRadioBox, 0, wx.ALL, HALF_SPACE) optionsSizer.Add(self._showTipsCheckBox, 0, wx.ALL, HALF_SPACE) lsizer = wx.BoxSizer(wx.HORIZONTAL) self.language_combox = LangListCombo(self, -1, config.Read("Language", "")) lsizer.AddMany([(wx.StaticText(self, label=_("Language") + u": "), 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5), 0), (self.language_combox, 0, wx.ALIGN_CENTER_VERTICAL)]) optionsSizer.Add(lsizer, 0, wx.ALL, HALF_SPACE) self._enableMRUCheckBox = wx.CheckBox(self, -1, _("Enable MRU Menu")) self._enableMRUCheckBox.SetValue(config.ReadInt("EnableMRU", True)) self.Bind(wx.EVT_CHECKBOX, self.checkEnableMRU, self._enableMRUCheckBox) optionsSizer.Add(self._enableMRUCheckBox, 0, wx.ALL, HALF_SPACE) lsizer = wx.BoxSizer(wx.HORIZONTAL) self._mru_ctrl = wx.TextCtrl(self, -1, config.Read("MRULength", "9"), size=(30, -1)) lsizer.AddMany([(wx.StaticText( self, label=_("File History length in MRU Files") + u"(1-20): "), 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5), 0), (self._mru_ctrl, 0, wx.ALIGN_CENTER_VERTICAL)]) optionsSizer.Add(lsizer, 0, wx.ALL, HALF_SPACE) lsizer = wx.BoxSizer(wx.HORIZONTAL) self.encodings_combo = wx.ComboBox(self, -1,choices = GetEncodings(),value=config.Read(consts.DEFAULT_FILE_ENCODING_KEY,""), \ style = wx.CB_READONLY) lsizer.AddMany([ (wx.StaticText(self, label=_("File Default Encoding") + u": "), 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5), 0), (self.encodings_combo, 0, wx.ALIGN_CENTER_VERTICAL) ]) optionsSizer.Add(lsizer, 0, wx.ALL, HALF_SPACE) optionsBorderSizer.Add(optionsSizer, 0, wx.ALL, SPACE) self.SetSizer(optionsBorderSizer) self.Layout() self._documentInterfaceMessageShown = False self.checkEnableMRU(None) parent.AddPage(self, _("General"))
def __init__(self, parent, _): global widgets_list pb_editor.DirtyUIBase.__init__(self, parent) # overall container self._main_bs = wx.BoxSizer(wx.VERTICAL) # vertical sizebox & checkboxes for different repreat options hbs_1 = wx.BoxSizer(wx.HORIZONTAL) self._repeat_option_rb = wx.RadioBox(self, -1, "Repeat Types:", wx.DefaultPosition, wx.DefaultSize, self._repeat_options, 1, wx.RA_SPECIFY_COLS) widgets_list.append((self._repeat_option_rb, 'repeat')) wx.EVT_RADIOBOX(self, self._repeat_option_rb.GetId(), self.OnRepeatType) hbs_1.Add(self._repeat_option_rb, 0, wx.LEFT, 5) # daily options widgets self._option_bs = wx.BoxSizer(wx.VERTICAL) _box = wx.StaticBox(self, -1, 'Daily Options:') widgets_list.append((_box, 'repeat')) vbs = wx.StaticBoxSizer(_box, wx.VERTICAL) hbs = wx.BoxSizer(wx.HORIZONTAL) self._dl_every_nday = wx.RadioButton(self, -1, 'Every ', style=wx.RB_GROUP) self._dl_every_nday.SetValue(True) self._dl_every_wday = wx.RadioButton(self, -1, 'Every Weekday') wx.EVT_RADIOBUTTON(self, self._dl_every_nday.GetId(), self.OnDirtyUI) wx.EVT_RADIOBUTTON(self, self._dl_every_wday.GetId(), self.OnDirtyUI) hbs.Add(self._dl_every_nday, 0, wx.LEFT, 0) self._dl_interval = wx.TextCtrl(self, -1, '1') wx.EVT_TEXT(self, self._dl_interval.GetId(), self.OnDirtyUI) hbs.Add(self._dl_interval, 0, wx.LEFT, 0) hbs.Add(wx.StaticText(self, -1, ' day(s)'), 0, wx.LEFT, 0) vbs.Add(hbs, 0, wx.LEFT | wx.TOP, 10) vbs.Add(self._dl_every_wday, 0, wx.LEFT, 10) self._option_bs.Add(vbs, 0, wx.LEFT, 5) self._daily_option_bs = vbs # weekly options widgets _box = wx.StaticBox(self, -1, 'Weekly Options:') widgets_list.append((_box, 'repeat')) vbs = wx.StaticBoxSizer(_box, wx.VERTICAL) hbs = wx.BoxSizer(wx.HORIZONTAL) hbs.Add(wx.StaticText(self, -1, 'Every '), 0, wx.LEFT, 0) self._wl_interval = wx.TextCtrl(self, -1, '1') wx.EVT_TEXT(self, self._wl_interval.GetId(), self.OnDirtyUI) hbs.Add(self._wl_interval, 0, wx.LEFT, 0) hbs.Add(wx.StaticText(self, -1, ' week(s)'), 0, wx.LEFT, 0) vbs.Add(hbs, 0, wx.LEFT | wx.TOP, 10) vbs.Add(wx.StaticText(self, -1, 'On:'), 0, wx.LEFT, 10) hbs = wx.GridSizer(2, 4) self._wl_dow = {} for i, n in enumerate(self._dow): self._wl_dow[i] = wx.CheckBox(self, -1, n) wx.EVT_CHECKBOX(self, self._wl_dow[i].GetId(), self.OnDirtyUI) hbs.Add(self._wl_dow[i], 0, wx.LEFT | wx.TOP, 5) vbs.Add(hbs, 0, wx.LEFT, 5) hbs = wx.BoxSizer(wx.HORIZONTAL) hbs.Add(wx.StaticText(self, -1, 'Week starts on:'), 0, wx.LEFT, 10) self._wl_wkst = wx.ComboBox(self, -1, value=self._dow[0], choices=self._dow, style=wx.CB_READONLY) wx.EVT_COMBOBOX(self, self._wl_wkst.GetId(), self.OnDirtyUI) hbs.Add(self._wl_wkst, 0, wx.LEFT, 5) vbs.Add(hbs, 0, wx.TOP, 10) self._option_bs.Add(vbs, 0, wx.LEFT, 5) self._weekly_option_bs = vbs # monthly option widgets _box = wx.StaticBox(self, -1, 'Monthly Options:') widgets_list.append((_box, 'repeat')) vbs = wx.StaticBoxSizer(_box, wx.VERTICAL) hbs = wx.BoxSizer(wx.HORIZONTAL) hbs.Add(wx.StaticText(self, -1, 'Every '), 0, wx.LEFT, 0) self._ml_interval = wx.TextCtrl(self, -1, '1') wx.EVT_TEXT(self, self._ml_interval.GetId(), self.OnDirtyUI) hbs.Add(self._ml_interval, 0, wx.LEFT, 0) hbs.Add(wx.StaticText(self, -1, ' month(s)'), 0, wx.LEFT, 0) vbs.Add(hbs, 0, wx.LEFT | wx.TOP, 10) vbs.Add(wx.StaticText(self, -1, 'On:'), 0, wx.LEFT, 10) self._ml_every_nday = wx.RadioButton(self, -1, 'Every nth day', style=wx.RB_GROUP) self._ml_every_nday.SetValue(True) self._ml_every_wday = wx.RadioButton(self, -1, 'Every ') wx.EVT_RADIOBUTTON(self, self._ml_every_nday.GetId(), self.OnDirtyUI) wx.EVT_RADIOBUTTON(self, self._ml_every_wday.GetId(), self.OnDirtyUI) vbs.Add(self._ml_every_nday, 0, wx.LEFT | wx.TOP, 10) hbs = wx.BoxSizer(wx.HORIZONTAL) hbs.Add(self._ml_every_wday, 0, wx.LEFT, 0) self._ml_nth_day = wx.ComboBox(self, -1, value=self._monthly_nth_day[0], choices=self._monthly_nth_day, style=wx.CB_READONLY) self._ml_wday = wx.ComboBox(self, -1, value=self._dow[0], choices=self._dow, style=wx.CB_READONLY) wx.EVT_COMBOBOX(self, self._ml_nth_day.GetId(), self.OnDirtyUI) wx.EVT_COMBOBOX(self, self._ml_wday.GetId(), self.OnDirtyUI) hbs.Add(self._ml_nth_day, 0, wx.LEFT, 5) hbs.Add(self._ml_wday, 0, wx.LEFT, 5) vbs.Add(hbs, 0, wx.LEFT | wx.TOP, 10) self._option_bs.Add(vbs, 0, wx.LEFT, 5) self._monthly_option_bs = vbs hbs_1.Add(self._option_bs, 0, wx.LEFT, 5) self._main_bs.Add(hbs_1, 0, wx.LEFT | wx.TOP, 5) # the exceptions list _box = wx.StaticBox(self, -1, 'Excluded Dates:') widgets_list.append((_box, 'repeat')) hbs = wx.StaticBoxSizer(_box, wx.HORIZONTAL) self._exception_list = wx.ListBox(self, -1) hbs.Add(self._exception_list, 1, wx.LEFT | wx.TOP | wx.EXPAND, 5) exception_del = wx.Button(self, -1, 'Include') wx.EVT_BUTTON(self, exception_del.GetId(), self.OnIncludeException) hbs.Add(exception_del, 0, wx.LEFT | wx.TOP, 5) self._main_bs.Add(hbs, 1, wx.LEFT | wx.TOP | wx.EXPAND, 5) # all done self.SetSizer(self._main_bs) self.SetAutoLayout(True) self._main_bs.Fit(self) self.OnRepeatType(None)
def __init__(self, parent, owner, items=None): wx.Dialog.__init__(self, parent, -1, _("Menu editor"), style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER) ADD_ID, REMOVE_ID, NAME_ID, LABEL_ID, ID_ID, CHECK_RADIO_ID, LIST_ID, \ ADD_SEP_ID, MOVE_LEFT_ID, MOVE_RIGHT_ID, MOVE_UP_ID, \ MOVE_DOWN_ID, HELP_STR_ID = [wx.NewId() for i in range(13)] self._staticbox = wx.StaticBox(self, -1, _("Menu item:")) self.owner = owner self.menu_items = wx.ListCtrl(self, LIST_ID, style=wx.LC_REPORT | \ wx.LC_SINGLE_SEL|wx.SUNKEN_BORDER) # ALB 2004-09-26: workaround to make the scroll wheel work... wx.EVT_MOUSEWHEEL(self.menu_items, lambda e: e.Skip()) self.menu_items.InsertColumn(0, _("Label")) self.menu_items.InsertColumn(1, _("Id")) self.menu_items.InsertColumn(2, _("Name")) self.menu_items.InsertColumn(3, _("Help String")) self.menu_items.InsertColumn(4, _("Type")) # ALB 2004-12-05 self.menu_items.InsertColumn(5, _("Event Handler")) self.menu_items.SetColumnWidth(0, 250) self.menu_items.SetColumnWidth(2, 250) self.menu_items.SetColumnWidth(3, 250) self.menu_items.SetColumnWidth(5, 250) # menu item fields self.id = wx.TextCtrl(self, ID_ID) self.label = wx.TextCtrl(self, LABEL_ID) self.name = wx.TextCtrl(self, NAME_ID) self.help_str = wx.TextCtrl(self, HELP_STR_ID) # ALB 2004-12-05 self.event_handler = wx.TextCtrl(self, -1) import re self.handler_re = re.compile(r'^\s*\w*\s*$') #self.checkable = wx.CheckBox(self, CHECK_ID, "") #Checkable") self.check_radio = wx.RadioBox( self, CHECK_RADIO_ID, _("Type"), choices=['Normal', 'Checkable', 'Radio'], majorDimension=3) self.add = wx.Button(self, ADD_ID, _("Add")) self.remove = wx.Button(self, REMOVE_ID, _("Remove")) self.add_sep = wx.Button(self, ADD_SEP_ID, _("Add separator")) # menu items navigation self.move_up = wx.Button(self, MOVE_UP_ID, _("Up")) self.move_down = wx.Button(self, MOVE_DOWN_ID, _("Down")) self.move_left = wx.Button(self, MOVE_LEFT_ID, " < ") self.move_right = wx.Button(self, MOVE_RIGHT_ID, " > ") self.ok = wx.Button(self, wx.ID_OK, _("OK")) self.apply = wx.Button(self, wx.ID_APPLY, _("Apply")) self.cancel = wx.Button(self, wx.ID_CANCEL, _("Cancel")) self.do_layout() self.selected_index = -1 # index of the selected element in the # wx.ListCtrl menu_items # event handlers wx.EVT_BUTTON(self, ADD_ID, self.add_menu_item) wx.EVT_BUTTON(self, REMOVE_ID, self.remove_menu_item) wx.EVT_BUTTON(self, ADD_SEP_ID, self.add_separator) wx.EVT_BUTTON(self, MOVE_LEFT_ID, self.move_item_left) wx.EVT_BUTTON(self, MOVE_RIGHT_ID, self.move_item_right) wx.EVT_BUTTON(self, MOVE_UP_ID, self.move_item_up) wx.EVT_BUTTON(self, MOVE_DOWN_ID, self.move_item_down) wx.EVT_BUTTON(self, wx.ID_APPLY, self.on_apply) wx.EVT_KILL_FOCUS(self.name, self.update_menu_item) wx.EVT_KILL_FOCUS(self.label, self.update_menu_item) wx.EVT_KILL_FOCUS(self.id, self.update_menu_item) wx.EVT_KILL_FOCUS(self.help_str, self.update_menu_item) # ALB 2004-12-05 wx.EVT_KILL_FOCUS(self.event_handler, self.update_menu_item) #wx.EVT_CHECKBOX(self, CHECK_ID, self.update_menu_item) wx.EVT_RADIOBOX(self, CHECK_RADIO_ID, self.update_menu_item) wx.EVT_LIST_ITEM_SELECTED(self, LIST_ID, self.show_menu_item) if items: self.add_items(items)
def __init__(self, parent, owner, items=None): wx.Dialog.__init__(self, parent, -1, _("Toolbar editor"), style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) ADD_ID, REMOVE_ID, NAME_ID, LABEL_ID, ID_ID, CHECK_RADIO_ID, LIST_ID, \ ADD_SEP_ID, MOVE_UP_ID, MOVE_DOWN_ID, HELP_STR_ID, \ LONG_HELP_STR_ID, BITMAP1_ID, BITMAP2_ID \ = [wx.NewId() for i in range(14)] self._staticbox = wx.StaticBox(self, -1, _("Tool:")) self.owner = owner self.tool_items = wx.ListCtrl(self, LIST_ID, style=wx.LC_REPORT | \ wx.LC_SINGLE_SEL|wx.SUNKEN_BORDER, size=(300, -1)) self.selected_index = -1 # index of the selected element in the # wxListCtrl self.tool_items.InsertColumn(0, _("Label")) self.tool_items.InsertColumn(1, _("Id")) self.tool_items.InsertColumn(2, _("Normal Bitmap")) self.tool_items.InsertColumn(3, _("Second Bitmap")) self.tool_items.InsertColumn(4, _("Short Help")) self.tool_items.InsertColumn(5, _("Long Help")) self.tool_items.InsertColumn(6, _("Type")) # ALB 2004-12-05 self.tool_items.InsertColumn(7, _("Event Handler")) self.tool_items.SetColumnWidth(0, 100) self.tool_items.SetColumnWidth(2, 100) self.tool_items.SetColumnWidth(3, 150) self.tool_items.SetColumnWidth(4, 150) self.tool_items.SetColumnWidth(5, 100) self.tool_items.SetColumnWidth(6, 150) self.tool_items.SetColumnWidth(7, 150) # tool fields self.id = wx.TextCtrl(self, ID_ID) self.label = wx.TextCtrl(self, LABEL_ID) self.help_str = wx.TextCtrl(self, HELP_STR_ID) self.long_help_str = wx.TextCtrl(self, LONG_HELP_STR_ID) # ALB 2004-12-05 self.event_handler = wx.TextCtrl(self, -1) import re self.handler_re = re.compile(r'^\s*\w*\s*$') self.bitmap1 = _MyBrowseButton(self, BITMAP1_ID, labelText=_('Normal Bitmap'), buttonText='...', changeCallback=self.update_tool) self.bitmap2 = _MyBrowseButton(self, BITMAP2_ID, labelText=_('Second Bitmap'), buttonText='...', changeCallback=self.update_tool) self.check_radio = wx.RadioBox( self, CHECK_RADIO_ID, _("Type"), choices=['Normal', 'Checkable', 'Radio'], majorDimension=3) self.add = wx.Button(self, ADD_ID, _("Add")) self.remove = wx.Button(self, REMOVE_ID, _("Remove")) self.add_sep = wx.Button(self, ADD_SEP_ID, _("Add separator")) # tools navigation self.move_up = wx.Button(self, MOVE_UP_ID, _("Up")) self.move_down = wx.Button(self, MOVE_DOWN_ID, _("Down")) self.ok = wx.Button(self, wx.ID_OK, _("OK")) self.apply = wx.Button(self, wx.ID_APPLY, _("Apply")) self.cancel = wx.Button(self, wx.ID_CANCEL, _("Cancel")) self.do_layout() # event handlers wx.EVT_BUTTON(self, ADD_ID, self.add_tool) wx.EVT_BUTTON(self, REMOVE_ID, self.remove_tool) wx.EVT_BUTTON(self, ADD_SEP_ID, self.add_separator) wx.EVT_BUTTON(self, MOVE_UP_ID, self.move_item_up) wx.EVT_BUTTON(self, MOVE_DOWN_ID, self.move_item_down) wx.EVT_BUTTON(self, wx.ID_APPLY, self.on_apply) wx.EVT_KILL_FOCUS(self.label, self.update_tool) wx.EVT_KILL_FOCUS(self.id, self.update_tool) wx.EVT_KILL_FOCUS(self.help_str, self.update_tool) wx.EVT_KILL_FOCUS(self.long_help_str, self.update_tool) wx.EVT_KILL_FOCUS(self.event_handler, self.update_tool) wx.EVT_RADIOBOX(self, CHECK_RADIO_ID, self.update_tool) wx.EVT_LIST_ITEM_SELECTED(self, LIST_ID, self.show_tool) if items: self.add_tools(items)
def bind_event(self, function): def func_2(event, function=function, self=self): if self.options.IsEnabled(): function(event) wx.EVT_RADIOBOX(self.options, self.id, func_2)
def __init__(self, parent, id): wx.Panel.__init__(self, parent, id) # Top Sizer topSizer = wx.BoxSizer(wx.VERTICAL) # Input Label labelSizer = wx.BoxSizer(wx.HORIZONTAL) self.inputLabel = wx.StaticText(self, -1, data.enterPadyamLabel, wx.Point(40, 20), wx.Size(720, 20)) self.increaseFontSize(self.inputLabel, 1.5) labelSizer.Add(self.inputLabel, 1, wx.EXPAND | wx.ALL, 5) topSizer.Add(labelSizer, 0, wx.ALIGN_LEFT) # Input Multiline TextCtrl self.input = wx.TextCtrl(self, 5, '', wx.Point(40, 50), wx.Size(720, 140), wx.TE_MULTILINE | wx.TE_DONTWRAP) self.increaseFontSize(self.input, 1.5) topSizer.Add(self.input, 1, wx.EXPAND | wx.ALL, 5) # Output Label labelSizer1 = wx.BoxSizer(wx.HORIZONTAL) self.outputLabel = wx.StaticText(self, -1, data.seeResultsHereLabel, wx.Point(40, 20), wx.Size(720, 20)) self.increaseFontSize(self.outputLabel, 1.5) labelSizer1.Add(self.outputLabel, 1, wx.EXPAND | wx.ALL, 5) topSizer.Add(labelSizer1, 0, wx.ALIGN_LEFT) # Output Multiline Grid self.output = Grid(self, 6, wx.Point(40, 210), wx.Size(790, 140), wx.TE_MULTILINE | wx.TE_READONLY) self.output.SetDefaultRowSize(25) self.output.SetDefaultColSize(50) self.output.SetRowLabelSize(0) self.output.SetColLabelSize(0) self.output.CreateGrid(10, 30) self.output.Bind(wx.grid.EVT_GRID_SELECT_CELL, self.evtOnCellSelected) topSizer.Add(self.output, 1, wx.EXPAND | wx.ALL, 5) # Control Sizer controlSizer = wx.BoxSizer(wx.HORIZONTAL) # Radio Box self.radioList = [data.findVruthamLabel, data.checkVruthamLabel] self.rb = wx.RadioBox(self, 50, data.whatToDoLabel, wx.Point(40, 375), wx.Size(250, 90), self.radioList, 3, wx.RA_SPECIFY_ROWS) self.increaseFontSize(self.rb, 1.5) controlSizer.Add(self.rb, 0, wx.ALL, 10) wx.EVT_RADIOBOX(self, 50, self.evtRadioBox) # Combobox self.vruthamList = data.vruthamNameList() self.vruthamCombo = wx.ComboBox(self, 30, data.selectVruthamLabel, wx.Point(420, 390), wx.Size(250, -1), self.vruthamList, wx.CB_DROPDOWN | wx.CB_READONLY) self.increaseFontSize(self.vruthamCombo, 1.5) controlSizer.Add(self.vruthamCombo, 0, wx.ALIGN_CENTER) wx.EVT_COMBOBOX(self, 30, self.evtComboBox) self.vruthamCombo.Enable(0) # Status TextCtrl self.status = wx.TextCtrl(self, 5, '', wx.DefaultPosition, wx.Size(250, 80), wx.TE_MULTILINE | wx.TE_READONLY) self.increaseFontSize(self.status, 1.5) self.status.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_SCROLLBAR)) controlSizer.Add(self.status, 0, wx.EXPAND | wx.ALL, 15) topSizer.Add(controlSizer, 0, wx.ALIGN_CENTER) # Button Sizer buttonSizer = wx.BoxSizer(wx.HORIZONTAL) # Buttons self.goButton = wx.Button(self, 10, data.findLabel, wx.Point(379, 470), wx.Size(117, 35)) self.increaseFontSize(self.goButton, 1.5) self.increaseFontWeight(self.goButton) wx.EVT_BUTTON(self, 10, self.goClick) buttonSizer.Add(self.goButton, 0, wx.ALL, 10) self.clearButton = wx.Button(self, 11, data.clearLabel, wx.Point(506, 470), wx.Size(117, 35)) self.increaseFontSize(self.clearButton, 1.5) self.increaseFontWeight(self.clearButton) wx.EVT_BUTTON(self, 11, self.clearClick) buttonSizer.Add(self.clearButton, 0, wx.ALL, 10) self.closeButton = wx.Button(self, 12, data.closeLabel, wx.Point(633, 470), wx.Size(117, 35)) self.increaseFontSize(self.closeButton, 1.5) self.increaseFontWeight(self.closeButton) wx.EVT_BUTTON(self, 12, self.closeClick) buttonSizer.Add(self.closeButton, 0, wx.ALL, 10) topSizer.Add(buttonSizer, 0, wx.ALIGN_CENTER) self.SetSizer(topSizer) topSizer.SetSizeHints(self) # Initialize Variables self.inVruthamName = '' self.checkVruthamFlg = 0 self.checkFlgSet = 0 self.dictErrors = {}
def Configure(self, e=None): id = 0 frame = wx.Frame(self.frame, id, title="Settings") nb = wx.Notebook(frame, -1, style=wx.NB_TOP) # port settings win = wx.Panel(nb, -1) nb.AddPage(win, "Port") sizer = wx.BoxSizer(wx.VERTICAL) id = wx.NewId() ports = [ 'COMM 1', 'COMM 2', 'COMM 3', 'COMM 4', 'COMM 5', 'COMM 6', 'COMM 7', 'COMM 8' ] rb = wx.RadioBox(win, id, "Choose Serial Port", choices=ports, style=wx.RA_SPECIFY_COLS, majorDimension=2) rb.SetSelection(arch.COMM) def set_comport(event): arch.SetComm(event.GetInt()) wx.EVT_RADIOBOX(self, id, set_comport) sizer.Add(rb, 1, wx.ALL | wx.WEST | wx.EAST | wx.EXPAND, 5) win.SetSizer(sizer) win.SetAutoLayout(True) sizer.Fit(win) # gnuplot settings win = wx.Panel(nb, -1) nb.AddPage(win, "Plotting") sizer = wx.BoxSizer(wx.VERTICAL) # command def fbbc_callback(event): arch.SetGnuplotCommand(event.GetString()) fbbc = FileBrowseButton(win, -1, initialValue=arch.GNUPLOT_CMD, changeCallback=fbbc_callback) fbbc.SetLabel("Command:") sizer.Add(fbbc, 1, wx.EAST | wx.WEST | wx.EXPAND, 5) # format def set_term_txt(event): arch.SetGnuplotTerminal(event.GetString()) def set_term_box(event): arch.SetGnuplotTerminal(event.GetString()) line = wx.BoxSizer(wx.HORIZONTAL) txt = wx.StaticText(win, -1, "Format ") line.Add(txt, 0, wx.EAST | wx.WEST | wx.EXPAND, 0) cID = wx.NewId() cb = wx.ComboBox(win, cID, arch.GNUPLOT_TERMINAL, choices=arch.GNUPLOT_TERMINALS) line.Add(cb, 1, wx.EAST | wx.WEST | wx.EXPAND, 0) sizer.Add(line, 0, wx.EAST | wx.WEST | wx.EXPAND, 0) wx.EVT_TEXT(win, cID, set_term_txt) wx.EVT_COMBOBOX(win, cID, set_term_box) # output def fbbo_callback(event): arch.GNUPLOT_OUTPUT = event.GetString() fbbo = FileBrowseButton(win, -1, initialValue=arch.GNUPLOT_OUTPUT, changeCallback=fbbo_callback) fbbo.SetLabel("Output:") sizer.Add(fbbo, 1, wx.EAST | wx.WEST | wx.EXPAND, 5) win.SetSizer(sizer) win.SetAutoLayout(True) sizer.Fit(win) frame.Show(True) frame.SetSize((400, 200))