def __init__(self, parent, mainframe): wx.Panel.__init__(self, parent, -1) self.mainframe = mainframe self.sizer = wx.BoxSizer(wx.VERTICAL) self.chkPep8 = wx.CheckBox( self, -1, tr("Check syntax for PEP8-style at python program run")) self.chkPep8.SetValue(self.mainframe.pref.auto_py_pep8_check) self.sizer.Add(self.chkPep8, 0, wx.ALL, 2) self.list = EasyList.AutoWidthListCtrl(self, style=wx.LC_REPORT | wx.LC_SINGLE_SEL) self.list.InsertColumn(0, tr("File path")) self.list.InsertColumn(1, tr("Line number")) self.list.InsertColumn(2, tr("Description")) self.list.SetColumnWidth(0, 400) self.list.SetColumnWidth(1, 60) self.list.SetColumnWidth(2, 200) self.sizer.Add(self.list, 1, wx.EXPAND) wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.OnEnter) wx.EVT_CHECKBOX(self.chkPep8, self.chkPep8.GetId(), self.OnCheckPep8) self.SetSizer(self.sizer) self.SetAutoLayout(True)
def __init__(self, parent, id, title): wx.Dialog.__init__(self, parent, wx.ID_ANY, title) sizer = wx.BoxSizer(wx.HORIZONTAL) #list self.list = wx.ListCtrl(self, self.ID_LIST, wx.DefaultPosition, wx.DefaultSize) #, wx.LC_SMALL_ICON) wx.EVT_LIST_ITEM_ACTIVATED(self, self.ID_LIST, self.OnConnServer) sizer.Add(self.list, 1, wx.EXPAND) # buttons sizer2 = wx.BoxSizer(wx.VERTICAL) btn = wx.Button(self, self.ID_ADDSERVER, "&Add Server") wx.EVT_BUTTON(self, self.ID_ADDSERVER, self.OnAddServer) sizer2.Add(btn, 0, wx.EXPAND) btn2 = wx.Button(self, self.ID_DELSERVER, "&Delete Server") wx.EVT_BUTTON(self, self.ID_DELSERVER, self.OnDelServer) sizer2.Add(btn2, 0, wx.EXPAND) btn2 = wx.Button(self, self.ID_CONSERVER, "&Connect to server") wx.EVT_BUTTON(self, self.ID_CONSERVER, self.OnConnServer) sizer2.Add(btn2, 1, wx.EXPAND) btn3 = wx.Button(self, self.ID_CANCEL, "Ca&ncel") wx.EVT_BUTTON(self, self.ID_CANCEL, self.OnCancel) sizer2.Add(btn3, 0, wx.EXPAND) sizer.Add(sizer2, 0, wx.EXPAND) self.SetSizer(sizer) self.loadServers() self.updateList()
def __init__(self, parent, mainframe): self.initmixin() wx.Panel.__init__(self, parent, -1) self.mainframe = mainframe self.pref = mainframe.pref self.sizer = wx.BoxSizer(wx.HORIZONTAL) self.list = EasyList.AutoWidthListCtrl(self, style=wx.LC_REPORT | wx.LC_SINGLE_SEL) self.list.InsertColumn(0, tr("Important")) self.list.InsertColumn(1, tr("Line")) self.list.InsertColumn(2, tr("Due date")) self.list.InsertColumn(3, tr("Description")) self.list.InsertColumn(4, tr("Filename")) self.list.SetColumnWidth(0, self.pref.todo_column1) self.list.SetColumnWidth(1, self.pref.todo_column2) self.list.SetColumnWidth(2, self.pref.todo_column3) self.list.SetColumnWidth(3, self.pref.todo_column4) self.list.SetColumnWidth(4, self.pref.todo_column5) self.sizer.Add(self.list, 1, wx.EXPAND) self.editor = None wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.OnEnter) wx.EVT_LIST_COL_END_DRAG(self.list, self.list.GetId(), self.OnSize) self.SetSizer(self.sizer) self.SetAutoLayout(True)
def createWidgets(self): self.listCtrl = wxskinListCtrl(self, ID_LISTCTRL, style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL | wx.LC_VRULES | wx.LC_HRULES) self.listCtrl.InsertColumn(0, "Name") self.listCtrl.InsertColumn(1, "Number") ColumnSorterMixin.__init__(self, 2) self.currentItem = 0 wx.EVT_SIZE(self, self.OnSize) wx.EVT_LIST_ITEM_SELECTED(self, ID_LISTCTRL, self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self, ID_LISTCTRL, self.OnItemActivated) wx.EVT_CLOSE(self, self.closeWindow) wx.EVT_LEFT_DCLICK(self.listCtrl, self.OnPopupEdit) wx.EVT_RIGHT_DOWN(self.listCtrl, self.OnRightDown) # for wxMSW and wxGTK respectively wx.EVT_COMMAND_RIGHT_CLICK(self.listCtrl, ID_LISTCTRL, self.OnRightClick) wx.EVT_RIGHT_UP(self.listCtrl, self.OnRightClick)
def __register_interests(self): wx.EVT_LIST_ITEM_ACTIVATED(self, ID_ALLERGY_LIST, self._on_allergy_activated) # client internal signals gmDispatcher.connect(signal=u'post_patient_selection', receiver=self._schedule_data_reget)
def __init__(self, parent, mainframe): wx.Panel.__init__(self, parent, -1) self.mainframe = mainframe self.pref = Globals.pref self.sizer = sizer = ui.VBox( namebinding='widget').create(self).auto_layout() box = sizer.add(ui.HBox) box.add(ui.Check(self.pref.pylint_convention, tr('Convention')), name='convention').bind('check', self.OnCheckConvention) box.add(ui.Check(self.pref.pylint_refactor, tr('Refactor')), name='refactor').bind('check', self.OnCheckRefactor) box.add(ui.Check(self.pref.pylint_warning, tr('Warning')), name='warning').bind('check', self.OnCheckWarning) box.add(ui.Check(self.pref.pylint_error, tr('Error')), name='error').bind('check', self.OnCheckError) box.add(ui.Check(self.pref.pylint_fatal, tr('Fatal')), name='fatal').bind('check', self.OnCheckFatal) self.list = CheckList.List(self, columns=[ (tr("Filename"), 400, 'left'), (tr("Type"), 100, 'left'), (tr("LineNo"), 60, 'left'), (tr("Description"), 200, 'left'), ], style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL) sizer.add(self.list, proportion=1, flag=wx.EXPAND) wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.OnEnter) sizer.auto_fit(0)
def CreateControls(self): """Create our sub-controls""" wx.EVT_LIST_COL_CLICK(self, self.GetId(), self.OnReorder) wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnNodeSelected) wx.EVT_MOTION(self, self.OnMouseMove) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnNodeActivated) self.CreateColumns()
def init_events(self): tID = self.GetId() wx.EVT_LIST_BEGIN_DRAG(self, tID, self.OnMouseDown) wx.EVT_LEFT_DCLICK(self, self.OnDoubleClick) wx.EVT_LIST_ITEM_SELECTED(self, tID, self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self, tID, self.OnItemSelected) wx.EVT_LIST_ITEM_RIGHT_CLICK(self, tID, self.OnRightClick) wx.EVT_CHAR(self, self.OnKeyPress)
def __init__(self, parent, ID, mainControl): EnhancedListControl.__init__(self, parent, ID, style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_NO_HEADER) self.mainControl = mainControl self.InsertColumn(0, u"", width=3000) self.updatingThreadHolder = Utilities.ThreadHolder() self.tocList = [ ] # List of tuples (char. start in text, headLevel, heading text) self.tocListStarts = [ ] # List of the char. start items of self.tocList self.mainControl.getMiscEvent().addListener(self) self.sizeVisible = True # False if this window has a size # that it can't be read (one dim. less than 5 pixels) self.ignoreOnChange = False self.docPagePresenterSink = wxKeyFunctionSink( (("loaded current doc page", self.onUpdateNeeded), ("changed live text", self.onUpdateNeeded) # ("options changed", self.onUpdateNeeded) )) self.__sinkApp = wxKeyFunctionSink( (("options changed", self.onUpdateNeeded), ), wx.GetApp().getMiscEvent(), self) # if not self.mainControl.isMainWindowConstructed(): # # Install event handler to wait for construction # self.__sinkMainFrame = wxKeyFunctionSink(( # ("constructed main window", self.onConstructedMainWindow), # ), self.mainControl.getMiscEvent(), self) # else: # self.onConstructedMainWindow(None) self.__sinkMainFrame = wxKeyFunctionSink( (("idle visible", self.onIdleVisible), ), self.mainControl.getMiscEvent(), self) currPres = self.mainControl.getCurrentDocPagePresenter() if currPres is not None: self.docPagePresenterSink.setEventSource(currPres.getMiscEvent()) self.lastSelection = (-1, -1) self.updateList() wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) wx.EVT_SIZE(self, self.OnSize) wx.EVT_KILL_FOCUS(self, self.OnKillFocus)
def __init__(self, parent, ID, mainControl): EnhancedListControl.__init__(self, parent, ID, style=wx.LC_REPORT | wx.LC_SINGLE_SEL) self.mainControl = mainControl self.InsertColumn(0, _(u"Page Name"), width=100) self.InsertColumn(1, _(u"Visited"), width=100) colConfig = self.mainControl.getConfig().get( "main", "wikiWideHistory_columnWidths", u"100,100") self.setColWidthsByConfigString(colConfig) # self.updatingThreadHolder = Utilities.ThreadHolder() self.mainControl.getMiscEvent().addListener(self) self.layerVisible = True self.sizeVisible = True # False if this window has a size # that it can't be read (one dim. less than 5 pixels) self.ignoreOnChange = False self.historyOverviewSink = wxKeyFunctionSink( (("changed wiki wide history", self.onUpdateNeeded), )) self.__sinkApp = wxKeyFunctionSink( (("options changed", self.onUpdateNeeded), ), wx.GetApp().getMiscEvent(), self) if not self.mainControl.isMainWindowConstructed(): # Install event handler to wait for construction self.__sinkMainFrame = wxKeyFunctionSink( (("constructed main window", self.onConstructedMainWindow), ), self.mainControl.getMiscEvent(), self) else: self.onConstructedMainWindow(None) wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) # wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) wx.EVT_SIZE(self, self.OnSize) # wx.EVT_KEY_DOWN(self, self.OnKeyDown) wx.EVT_MIDDLE_DOWN(self, self.OnMiddleButtonDown) wx.EVT_MENU(self, GUI_ID.CMD_WIKI_WIDE_HISTORY_DELETE_ALL, self.OnCmdDeleteAll) self.onWikiStateChanged(None)
def __init__(self, panel, **options): wx.ListCtrl.__init__(self, parent=panel, style=panel.LIST_STYLE) self.imageList = wx.ImageList(16, 16) self.pyIcon = self.imageList.Add(panel.icons['source_py.png']) self.files = [] self.panel = panel self.SetImageList(self.imageList, wx.IMAGE_LIST_SMALL) self.SetDropTarget(DropAdd(self.add)) self.SetHelpText(help.RECENT) #events wx.EVT_LIST_ITEM_SELECTED(self, -1, self.onLeftClick) wx.EVT_LIST_ITEM_ACTIVATED(self, -1, self.onRightClick) wx.EVT_LIST_ITEM_MIDDLE_CLICK(self, -1, self.onMiddleClick)
def CreateControls(self): """Create our sub-controls""" wx.EVT_LIST_COL_CLICK(self, self.GetId(), self.OnReorder) wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnNodeSelected) wx.EVT_MOTION(self, self.OnMouseMove) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnNodeActivated) for i, column in enumerate(self.columns): column.index = i self.InsertColumn(i, column.name) if not windows or column.targetWidth is None: self.SetColumnWidth(i, wx.LIST_AUTOSIZE) else: self.SetColumnWidth(i, column.targetWidth) self.SetItemCount(0)
def __init__(self, parent): wx.Dialog.__init__(self, parent, -1, tr('Plugin Manager'), size=(600, 400)) self.parent = parent self.mainframe = parent self.state = {} self.plugins = self.loadPlugins() for key in self.plugins.keys(): self.state[key] = False text = file(self.mainframe.plugin_initfile).read() re_i = re.compile("^\s+import\s+(\w+)$", re.M) result = re_i.findall(text) for key in result: self.state[key] = True box = wx.BoxSizer(wx.VERTICAL) self.list = CheckList.CheckList(self, columns=[ (tr("Name"), 120, 'left'), (tr("Description"), 220, 'left'), (tr("Author"), 80, 'left'), (tr("Version"), 40, 'center'), (tr("Date"), 80, 'left'), ], style=wx.LC_REPORT | wx.SUNKEN_BORDER) self.list.load(self.getdata) box.Add(self.list, 1, wx.EXPAND | wx.ALL, 5) box2 = wx.BoxSizer(wx.HORIZONTAL) self.btnOK = wx.Button(self, wx.ID_OK, tr("OK"), size=(80, -1)) self.btnOK.SetDefault() box2.Add(self.btnOK, 0, 0, 5) self.btnCancel = wx.Button(self, wx.ID_CANCEL, tr("Cancel"), size=(80, -1)) box2.Add(self.btnCancel, 0, 0, 5) box.Add(box2, 0, wx.ALIGN_CENTER | wx.ALL, 5) wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.OnEnter) wx.EVT_BUTTON(self.btnOK, wx.ID_OK, self.OnOK) self.SetSizer(box) self.SetAutoLayout(True)
def __init__(self, parent=None, id=-1, title="BitPim Protocol Analyser", data=None): """Start the show @param data: data to show. If None, then it will be obtained from the clipboard """ wx.Frame.__init__(self, parent, id, title, size=(800, 750), style=wx.DEFAULT_FRAME_STYLE) # add a status bar to display various status items self.CreateStatusBar(len(self._pane_widths)) self.SetStatusWidths(self._pane_widths) topsplit = wx.SplitterWindow(self, -1, style=wx.SP_3D | wx.SP_LIVE_UPDATE) self.list = Eventlist(topsplit, 12) botsplit = wx.SplitterWindow(topsplit, -1, style=wx.SP_3D | wx.SP_LIVE_UPDATE) topsplit.SplitHorizontally(self.list, botsplit, 300) self.tree = wx.TreeCtrl(botsplit, 23, style=wx.TR_DEFAULT_STYLE) self.hex = hexeditor.HexEditor(botsplit, _set_pos=self.set_pos, _set_sel=self.set_sel, _set_val=self.set_val) botsplit.SplitHorizontally(self.tree, self.hex, 200) if data is None: data = self.getclipboarddata() self.newdata(data) wx.EVT_LIST_ITEM_SELECTED(self, self.list.GetId(), self.OnListBoxItem) wx.EVT_LIST_ITEM_ACTIVATED(self, self.list.GetId(), self.OnListBoxItem) wx.EVT_TREE_SEL_CHANGED(self, self.tree.GetId(), self.OnTreeSelection) self.Show()
def __build(self): # # Construct the GUI. # # self.sizer is the overall hsizer # self.list is the list control widget living in self.sizer # bsizer is the vsizer that holds the buttons. # # We invoke _buildButtons to fill in the button sizer; to be # provided by our subclass. # # We also invoke _configList to configure the list control. # # If a subclass wishes to add somethign below the list control, it # can define _buildExtra(parent, sizer), where parent is the # parent panel for any extra widgets, and sizer is the overall # vsizer to which the extra-builder should add its widgets. # self.topsizer = wx.BoxSizer(wx.VERTICAL) self.sizer = wx.BoxSizer(wx.HORIZONTAL) self.list = wx.ListCtrl(self, -1, style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_VRULES) self.sizer.Add(self.list, 1, wx.EXPAND) wx.EVT_LIST_ITEM_SELECTED(self.list, self.list.GetId(), self.OnListItemSelected) wx.EVT_LIST_ITEM_DESELECTED(self.list, self.list.GetId(), self.OnListItemDeselected) wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.OnListItemActivated) bsizer = wx.BoxSizer(wx.VERTICAL) self.sizer.Add(bsizer, 0, wx.EXPAND) self._buildButtons(bsizer) self.topsizer.Add(self.sizer, 1, wx.EXPAND) self._buildExtra(self, self.topsizer) self._initList() self.SetSizer(self.topsizer) self.SetAutoLayout(1) self.Fit()
def __init__(self, parent, image_size=(16, 16), **traits): """ Creates a new table viewer. 'parent' is the toolkit-specific control that is the table's parent. 'image_size' is a tuple in the form (int width, int height) that specifies the size of the images (if any) displayed in the table. """ # Base-class constructor. super(TableViewer, self).__init__(**traits) # Create the toolkit-specific control. self.control = table = _Table(parent, image_size, self) # Get our actual id. wxid = table.GetId() # Table events. wx.EVT_LIST_ITEM_SELECTED(table, wxid, self._on_item_selected) wx.EVT_LIST_ITEM_ACTIVATED(table, wxid, self._on_item_activated) wx.EVT_LIST_BEGIN_DRAG(table, wxid, self._on_list_begin_drag) wx.EVT_LIST_BEGIN_RDRAG(table, wxid, self._on_list_begin_rdrag) wx.EVT_LIST_BEGIN_LABEL_EDIT( table, wxid, self._on_list_begin_label_edit ) wx.EVT_LIST_END_LABEL_EDIT( table, wxid, self._on_list_end_label_edit ) # fixme: Bug[732104] indicates that this event does not get fired # in a virtual list control (it *does* get fired in a regular list # control 8^(). wx.EVT_LIST_ITEM_DESELECTED(table, wxid, self._on_item_deselected) # Create the widget! self._create_widget(parent) # We use a dynamic handler instead of a static handler here, as we # don't want to react if the input is set in the constructor. self.on_trait_change(self._on_input_changed, 'input') return
def __init__(self, parent): #--Columns self.cols = conf.settings['mash.utils.cols'] self.colAligns = conf.settings['mash.utils.colAligns'] self.colNames = conf.settings['mash.colNames'] self.colReverse = conf.settings.getChanged('mash.utils.colReverse') self.colWidths = conf.settings['mash.utils.colWidths'] #--Data/Items self.data = mosh.UtilsData = mosh.UtilsData() self.sort = conf.settings['mash.utils.sort'] #--Links self.mainMenu = UtilsList.mainMenu self.itemMenu = UtilsList.itemMenu #--Parent init gui.List.__init__(self,parent,-1,ctrlStyle=(wx.LC_REPORT|wx.SUNKEN_BORDER)) #--Events wx.EVT_LIST_ITEM_SELECTED(self,self.listId,self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self,self.listId,self.OnItemActivated)
def __init__(self, parent, id, mainControl): d = wx.PrePanel() self.PostCreate(d) self.mainControl = mainControl res = wx.xrc.XmlResource.Get() res.LoadOnPanel(self, parent, "LogWindow") self.ctrls = XrcControls(self) self.ctrls.lcEntries.InsertColumn(0, _(u"Message")) self.messages = [] self.sizeVisible = True wx.EVT_LIST_ITEM_ACTIVATED(self, GUI_ID.lcEntries, self.OnEntryActivated) wx.EVT_BUTTON(self, GUI_ID.btnClearLog, self.OnClearLog) wx.EVT_BUTTON(self, GUI_ID.btnHideLogWindow, self.OnHideLogWindow) wx.EVT_SIZE(self, self.OnSize)
def __init__(self): wxDialogWithHelpers.__init__( self, None, wx.NewId(), "Testing wxListCtrlWithHelpers", (1, 1), (600, 400), style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) self.button = wxButtonWithHelpers(self, wx.NewId(), "Button", wx.DefaultPosition, wx.DefaultSize) wx.EVT_BUTTON(self, self.button.GetId(), self.on_button) self.button_was_clicked = False self.list = \ wxListCtrlWithHelpers(self, wx.NewId(), style = wx.LC_REPORT | wx.LC_HRULES | wx.LC_SINGLE_SEL) self.list.InsertColumn(0, "This is Col #1") self.list.InsertColumn(1, "This is Col #2") self.list.InsertColumn(2, "This is Col #3") self.list.InsertStringItem(0, "item 0-0") self.list.SetStringItem(0, 1, "item 0-1") self.list.SetStringItem(0, 2, "item 0-2") self.list.InsertStringItem(1, "item 1-0") self.list.SetStringItem(1, 1, "item 1-1") self.list.SetStringItem(1, 2, "item 1-2") wx.EVT_LIST_ITEM_SELECTED(self.list, self.list.GetId(), self.on_list_ctrl_selected) wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.on_list_ctrl_item_activated) wx.EVT_CHAR(self.list, self.on_list_char) self.list_ctrl_item_selected = None self.last_key_pressed = {} self.last_item_selected = {} self.last_list_item_activated = None
def __init__(self, mainControl, dialog, parent, ID): EnhancedListControl.__init__(self, parent, ID, style=wx.LC_REPORT | wx.LC_NO_HEADER) self.bagList = [] self.mainControl = mainControl self.dialog = dialog self.contextMenuItem = -1 self.InsertColumn(0, u"", width=1) # wiki word self.InsertColumn(1, u"", width=1) # trash date # wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.dialog.OnCmdRestoreSelected) wx.EVT_KEY_DOWN(self, self.OnKeyDown) # wx.EVT_MENU(self, GUI_ID.CMD_TRASHBAG_RESTORE, # self.OnCmdTrashBagRestore) self.updateContent()
def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, wx.NewId(), title, size=(200, 100), style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE) main_sizer = wx.BoxSizer(wx.VERTICAL) self.items = [('a1', 'a2', 'a3', 'a4'), ('b1', 'b2' 'b3', 'b4')] self.list = wx.ListCtrl(self, wx.NewId(), wx.DefaultPosition, wx.DefaultSize, style=wx.LC_REPORT | wx.LC_HRULES | wx.LC_SINGLE_SEL) self.list.InsertColumn(0, "") self.list.InsertColumn(1, "Written form") for ii in range(len(self.items)): self.list.InsertStringItem(ii, "%d" % (ii + 1)) self.list.SetStringItem(ii, 1, self.items[ii][0]) self.list.SetStringItem(ii, 1, self.items[ii][1]) self.list.SetColumnWidth(0, wx.LIST_AUTOSIZE_USEHEADER) self.list.SetColumnWidth(1, wx.LIST_AUTOSIZE_USEHEADER) self.list.ScrollList(0, len(self.items)) main_sizer.Add(self.list, 1, wx.EXPAND | wx.ALL) wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.on_item_activated) wx.EVT_LIST_ITEM_SELECTED(self.list, self.list.GetId(), self.on_item_selected) self.Show(True)
def dispose(self): """ Disposes of the contents of an editor. """ # Remove all of the wx event handlers: control = self.control parent = control.GetParent() id = control.GetId() wx.EVT_LIST_BEGIN_DRAG(parent, id, None) wx.EVT_LIST_BEGIN_LABEL_EDIT(parent, id, None) wx.EVT_LIST_END_LABEL_EDIT(parent, id, None) wx.EVT_LIST_ITEM_SELECTED(parent, id, None) wx.EVT_LIST_ITEM_DESELECTED(parent, id, None) wx.EVT_LIST_KEY_DOWN(parent, id, None) wx.EVT_LIST_ITEM_ACTIVATED(parent, id, None) wx.EVT_LIST_COL_END_DRAG(parent, id, None) wx.EVT_LIST_COL_RIGHT_CLICK(parent, id, None) wx.EVT_LIST_COL_CLICK(parent, id, None) wx.EVT_LEFT_DOWN(control, None) wx.EVT_LEFT_DCLICK(control, None) wx.EVT_RIGHT_DOWN(control, None) wx.EVT_RIGHT_DCLICK(control, None) wx.EVT_MOTION(control, None) wx.EVT_SIZE(control, None) self.context_object.on_trait_change( self.update_editor, self.extended_name + '_items', remove=True) if self.factory.auto_update: self.context_object.on_trait_change( self.refresh_editor, self.extended_name + '.-', remove=True) self.on_trait_change(self._refresh, 'adapter.+update', remove=True) self.on_trait_change(self._rebuild_all, 'adapter.columns', remove=True) super(TabularEditor, self).dispose()
def __init__(self, parent, aFileName = None): wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS) # our actual list tID = wx.NewId() self.list = gmXdtListCtrl( self, tID, style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_VRULES )#|wx.LC_HRULES) self.list.InsertColumn(0, _("XDT field")) self.list.InsertColumn(1, _("XDT field content")) self.filename = aFileName # set up events wx.EVT_SIZE(self, self.OnSize) wx.EVT_LIST_ITEM_SELECTED(self, tID, self.OnItemSelected) wx.EVT_LIST_ITEM_DESELECTED(self, tID, self.OnItemDeselected) wx.EVT_LIST_ITEM_ACTIVATED(self, tID, self.OnItemActivated) wx.EVT_LIST_DELETE_ITEM(self, tID, self.OnItemDelete) wx.EVT_LIST_COL_CLICK(self, tID, self.OnColClick) wx.EVT_LIST_COL_RIGHT_CLICK(self, tID, self.OnColRightClick) # wx.EVT_LIST_COL_BEGIN_DRAG(self, tID, self.OnColBeginDrag) # wx.EVT_LIST_COL_DRAGGING(self, tID, self.OnColDragging) # wx.EVT_LIST_COL_END_DRAG(self, tID, self.OnColEndDrag) wx.EVT_LEFT_DCLICK(self.list, self.OnDoubleClick) wx.EVT_RIGHT_DOWN(self.list, self.OnRightDown) if wx.Platform == '__WXMSW__': wx.EVT_COMMAND_RIGHT_CLICK(self.list, tID, self.OnRightClick) elif wx.Platform == '__WXGTK__': wx.EVT_RIGHT_UP(self.list, self.OnRightClick)
def __init__(self, mw, parent, id=-1): wx.Panel.__init__(self, parent, id) self.mw=mw vbs=wx.BoxSizer(wx.VERTICAL) # General bs=wx.StaticBoxSizer(wx.StaticBox(self, -1, "General"), wx.HORIZONTAL) bs.Add(wx.StaticText(self, -1, "Fingerprint"), 0, wx.ALL|wx.ALIGN_CENTRE_VERTICAL, 5) self.fingerprint=wx.TextCtrl(self, -1, "a", style=wx.TE_READONLY, size=(300,-1)) bs.Add(self.fingerprint, 0, wx.EXPAND|wx.ALL|wx.ALIGN_CENTRE_VERTICAL, 5) bs.Add(wx.StaticText(self, -1, ""), 0, wx.ALL, 5) # spacer bs.Add(wx.StaticText(self, -1, "Port"), 0, wx.ALL|wx.ALIGN_CENTRE_VERTICAL, 5) self.porttext=wx.StaticText(self, -1, "<No Port>") bs.Add(self.porttext, 0, wx.ALL|wx.ALIGN_CENTRE_VERTICAL, 5) vbs.Add(bs, 0, wx.EXPAND|wx.ALL, 5) # authorization bs=wx.StaticBoxSizer(wx.StaticBox(self, -1, "Authorization"), wx.VERTICAL) hbs=wx.BoxSizer(wx.HORIZONTAL) butadd=wx.Button(self, wx.NewId(), "Add ...") hbs.Add(butadd, 0, wx.ALL|wx.ALIGN_CENTRE_VERTICAL, 5) hbs.Add(wx.StaticText(self, -1, ""), 0, wx.ALL, 5) # spacer self.butedit=wx.Button(self, wx.NewId(), "Edit ...") self.butedit.Enable(False) hbs.Add(self.butedit, 0, wx.ALL|wx.ALIGN_CENTRE_VERTICAL, 5) hbs.Add(wx.StaticText(self, -1, ""), 0, wx.ALL, 5) # spacer self.butdelete=wx.Button(self, wx.NewId(), "Delete") self.butdelete.Enable(False) hbs.Add(self.butdelete, 0, wx.ALL|wx.ALIGN_CENTRE_VERTICAL, 5) bs.Add(hbs, 0, wx.EXPAND|wx.ALL, 5) wx.EVT_BUTTON(self, butadd.GetId(), self.OnAddAuth) wx.EVT_BUTTON(self, self.butedit.GetId(), self.OnEditAuth) wx.EVT_BUTTON(self, self.butdelete.GetId(), self.OnDeleteAuth) # and the authorization listview self.authlist=wx.ListCtrl(self, wx.NewId(), style=wx.LC_REPORT|wx.LC_SINGLE_SEL) self.authlist.InsertColumn(0, "User") self.authlist.InsertColumn(1, "Allowed Addresses") self.authlist.InsertColumn(2, "Expires") self.authlist.SetColumnWidth(0, 300) self.authlist.SetColumnWidth(1, 300) self.authlist.SetColumnWidth(2, 100) bs.Add(self.authlist, 1, wx.EXPAND|wx.ALL, 5) vbs.Add(bs, 1, wx.EXPAND|wx.ALL, 5) self.itemDataMap={} wx.lib.mixins.listctrl.ColumnSorterMixin.__init__(self,3) wx.EVT_LIST_ITEM_ACTIVATED(self.authlist, self.authlist.GetId(), self.OnEditAuth) wx.EVT_LIST_ITEM_SELECTED(self.authlist, self.authlist.GetId(), self.OnAuthListItemFondled) wx.EVT_LIST_ITEM_DESELECTED(self.authlist, self.authlist.GetId(), self.OnAuthListItemFondled) wx.EVT_LIST_ITEM_FOCUSED(self.authlist, self.authlist.GetId(), self.OnAuthListItemFondled) # devices bs=wx.StaticBoxSizer(wx.StaticBox(self, -1, "Devices"), wx.VERTICAL) buttoggle=wx.Button(self, wx.NewId(), "Toggle Allowed") bs.Add(buttoggle, 0, wx.ALL, 5) self.devicelist=wx.ListCtrl(self, wx.NewId(), style=wx.LC_REPORT|wx.LC_SINGLE_SEL) self.devicelist.InsertColumn(0, "Allowed") self.devicelist.InsertColumn(1, "Name") self.devicelist.InsertColumn(2, "Available") self.devicelist.InsertColumn(3, "Description") self.devicelist.SetColumnWidth(0, 100) self.devicelist.SetColumnWidth(1, 300) self.devicelist.SetColumnWidth(2, 100) self.devicelist.SetColumnWidth(3, 300) bs.Add(self.devicelist, 1, wx.EXPAND|wx.ALL, 5) vbs.Add(bs, 1, wx.EXPAND|wx.ALL, 5) self.setupauthorization() self.SortListItems() self.SetSizer(vbs) self.SetAutoLayout(True)
def __init__(self, parent, quote, filter = False, market = None, filterEnabled=True, tradableOnly=False): iTradeSizedDialog.__init__(self,parent,-1,message('quote_select_title'), size=(460, 460),style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) self.m_parent = parent # init if quote: self.m_isin = quote.isin() self.m_ticker = quote.ticker() self.m_market = quote.market() self.m_place = quote.place() else: self.m_isin = '' self.m_ticker = '' self.m_market = market self.m_place = market2place(market) self.m_filter = filter self.m_qlist = QLIST_ALL self.m_qlist_tradableOnly = tradableOnly self.m_editing = True tID = wx.NewId() self.m_imagelist = wx.ImageList(16,16) self.sm_q = self.m_imagelist.Add(wx.Bitmap(os.path.join(itrade_config.dirRes, 'quote.png'))) self.sm_i = self.m_imagelist.Add(wx.Bitmap(os.path.join(itrade_config.dirRes, 'invalid.png'))) self.sm_up = self.m_imagelist.Add(wx.Bitmap(os.path.join(itrade_config.dirRes, 'sm_up.png'))) self.sm_dn = self.m_imagelist.Add(wx.Bitmap(os.path.join(itrade_config.dirRes, 'sm_down.png'))) # container container = self.GetContentsPane() container.SetSizerType("vertical") # resizable pane pane = sc.SizedPanel(container, -1) pane.SetSizerType("horizontal") pane.SetSizerProps(expand=True) # pane : ISIN or Name selection label = wx.StaticText(pane, -1, message('quote_select_isin')) label.SetSizerProps(valign='center') tID = wx.NewId() self.wxIsinCtrl = wx.TextCtrl(pane, tID, self.m_isin) self.wxIsinCtrl.SetSizerProps(expand=True) wx.EVT_TEXT(self, tID, self.OnISINEdited) label = wx.StaticText(pane, -1, message('quote_select_ticker')) label.SetSizerProps(valign='center') tID = wx.NewId() self.wxTickerCtrl = wx.TextCtrl(pane, tID, self.m_ticker) self.wxTickerCtrl.SetSizerProps(expand=True) wx.EVT_TEXT(self, tID, self.OnTickerEdited) # resizable pane pane = sc.SizedPanel(container, -1) pane.SetSizerType("horizontal") pane.SetSizerProps(expand=True) # pane : market & list filters self.wxLabelMarketCtrl = wx.StaticText(pane, -1, message('quote_select_market')) self.wxLabelMarketCtrl.SetSizerProps(valign='center') self.wxMarketCtrl = wx.ComboBox(pane,-1, "", style=wx.CB_DROPDOWN|wx.CB_READONLY) self.wxMarketCtrl.SetSizerProps(expand=True) wx.EVT_COMBOBOX(self,self.wxMarketCtrl.GetId(),self.OnMarket) count = 0 idx = 0 for eachCtrl in list_of_markets(bFilterMode=False): self.wxMarketCtrl.Append(eachCtrl,eachCtrl) if eachCtrl==self.m_market: idx = count count = count + 1 self.wxMarketCtrl.SetSelection(idx) self.wxLabelQListCtrl = wx.StaticText(pane, -1, message('quote_select_list')) self.wxLabelQListCtrl.SetSizerProps(valign='center') self.wxQListCtrl = wx.ComboBox(pane,-1, "", style=wx.CB_DROPDOWN|wx.CB_READONLY) self.wxQListCtrl.SetSizerProps(expand=True) wx.EVT_COMBOBOX(self,self.wxQListCtrl.GetId(),self.OnQuoteList) self.wxQListCtrl.Append(message('quote_select_alllist'),QLIST_ALL) self.wxQListCtrl.Append(message('quote_select_syslist'),QLIST_SYSTEM) self.wxQListCtrl.Append(message('quote_select_usrlist'),QLIST_USER) if not self.m_qlist_tradableOnly: self.wxQListCtrl.Append(message('quote_select_indiceslist'),QLIST_INDICES) self.wxQListCtrl.Append(message('quote_select_trackerslist'),QLIST_TRACKERS) self.wxQListCtrl.SetSelection(self.m_qlist) # select traded or not tID = wx.NewId() self.wxFilterCtrl = wx.CheckBox(container, tID, message('quote_select_filterfield')) self.wxFilterCtrl.SetValue(self.m_filter) wx.EVT_CHECKBOX(self, tID, self.OnFilter) self.wxFilterCtrl.Enable(filterEnabled) # List self.m_list = iTradeSelectorListCtrl(container, tID, style = wx.LC_REPORT | wx.SUNKEN_BORDER,size=(440, 380)) self.m_list.SetSizerProps(expand=True) self.m_list.SetImageList(self.m_imagelist, wx.IMAGE_LIST_SMALL) # Now that the list exists we can init the other base class, # see wxPython/lib/mixins/listctrl.py wxl.ColumnSorterMixin.__init__(self, 5) wx.EVT_LIST_COL_CLICK(self, tID, self.OnColClick) wx.EVT_LIST_ITEM_ACTIVATED(self, tID, self.OnItemActivated) wx.EVT_LIST_ITEM_SELECTED(self, tID, self.OnItemSelected) # Last Row : OK and Cancel btnpane = sc.SizedPanel(container, -1) btnpane.SetSizerType("horizontal") btnpane.SetSizerProps(expand=True) # context help if wx.Platform != "__WXMSW__": btn = wx.ContextHelpButton(btnpane) # OK self.wxOK = wx.Button(btnpane, wx.ID_OK, message('valid')) self.wxOK.SetDefault() self.wxOK.SetHelpText(message('valid_desc')) wx.EVT_BUTTON(self, wx.ID_OK, self.OnValid) # CANCEL btn = wx.Button(btnpane, wx.ID_CANCEL, message('cancel')) btn.SetHelpText(message('cancel_desc')) # set the right filter and fit everything self.OnFilter() EVT_POSTINIT(self, self.OnPostInit) wx.PostEvent(self,PostInitEvent())
def __init__(self, parent, mainframe): self.parent = parent self.mainframe = mainframe self.defm3u = os.path.join(Globals.userpath, 'default.m3u') if not os.path.isfile(self.defm3u): fout = open(self.defm3u, 'w') fout.write('#EXTM3U\n') fout.close() self.m3u = PyM3u.M3u(self.defm3u) self.mainframe.m3u = self.m3u self.m3u.Load() self.mainframe.selectedid = -1 wx.Panel.__init__(self, parent, -1) box = wx.BoxSizer(wx.VERTICAL) box1 = wx.BoxSizer(wx.HORIZONTAL) self.m3u_filename = wx.StaticText(self, -1, '') self.playingname = wx.StaticText(self, -1, '') box.Add(self.m3u_filename, 0, wx.ALL | wx.EXPAND, 3) box.Add(self.playingname, 0, wx.ALL | wx.EXPAND, 3) #add button self.ID_ADD = wx.NewId() self.btnAdd = wx.Button(self, self.ID_ADD, tr('Add')) box1.Add(self.btnAdd, 0, wx.RIGHT, 2) self.ID_ADDDIR = wx.NewId() self.btnAddDir = wx.Button(self, self.ID_ADDDIR, tr('AddDir')) box1.Add(self.btnAddDir, 0, wx.RIGHT, 2) self.ID_DEL = wx.NewId() self.btnDel = wx.Button(self, self.ID_DEL, tr('Delete')) box1.Add(self.btnDel, 0, wx.RIGHT, 2) self.ID_OPEN = wx.NewId() self.btnOpen = wx.Button(self, self.ID_OPEN, tr('OpenList')) box1.Add(self.btnOpen, 0, wx.RIGHT, 2) self.ID_SAVE = wx.NewId() self.btnSave = wx.Button(self, self.ID_SAVE, tr('SaveList')) box1.Add(self.btnSave, 0, wx.RIGHT, 2) box.Add(box1, 0, wx.ALL, 3) #create listctrl self.musiclist = CheckList.List(self, columns=[ (tr("Id"), 30, 'left'), (tr("Author - Title"), 280, 'left'), (tr("Time"), 80, 'right'), (tr("Path"), 400, 'left'), ], style=wx.LC_REPORT | wx.SUNKEN_BORDER) box.Add(self.musiclist, 1, wx.EXPAND) wx.EVT_BUTTON(self.btnAdd, self.ID_ADD, self.OnAdd) wx.EVT_BUTTON(self.btnAddDir, self.ID_ADDDIR, self.OnAddDir) wx.EVT_BUTTON(self.btnDel, self.ID_DEL, self.OnDel) wx.EVT_BUTTON(self.btnOpen, self.ID_OPEN, self.OnOpen) wx.EVT_BUTTON(self.btnSave, self.ID_SAVE, self.OnSave) wx.EVT_LIST_ITEM_ACTIVATED(self.musiclist, self.musiclist.GetId(), self.OnActivated) wx.EVT_LIST_ITEM_SELECTED(self.musiclist, self.musiclist.GetId(), self.OnSelected) self.SetSizer(box) self.SetAutoLayout(True) self.OnUpdateData()
def __init__(self, parent, title=''): if hasattr(Globals.pref, 'searchwin_pos') and hasattr( Globals.pref, 'searchwin_size'): searchwin_pos = Globals.pref.searchwin_pos searchwin_size = Globals.pref.searchwin_size wx.Dialog.__init__(self, parent, -1, title, searchwin_pos, searchwin_size, style=wx.RESIZE_BORDER | wx.DEFAULT_DIALOG_STYLE) else: wx.Dialog.__init__(self, parent, -1, title, size=(600, 400), style=wx.RESIZE_BORDER | wx.DEFAULT_DIALOG_STYLE) self.Center() self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE)) sizer = wx.BoxSizer(wx.VERTICAL) sizer1 = wx.BoxSizer(wx.HORIZONTAL) label = wx.StaticText(self, -1, tr("Search for:")) sizer1.Add(label, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) self.text = wx.TextCtrl(self, -1, "", style=wx.TE_PROCESS_ENTER) self.impact_check = wx.CheckBox(self, -1, tr("Impact Mode")) self.autoclose_check = wx.CheckBox(self, -1, tr("Auto Close")) sizer1.Add(self.text, 1, wx.ALL, 2) sizer1.Add(self.impact_check, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) sizer1.Add(self.autoclose_check, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) self.list = CheckList.List(self, columns=[ (tr("Function"), 300, 'left'), (tr("ShortCuts"), 120, 'left'), (tr("Impact"), 80, 'left'), ], style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL) self.commandar = Commands.getinstance() self.cmdbuf = {} self.load(self.commandar.search('')) sizer.Add(sizer1, 0, wx.EXPAND) sizer.Add(self.list, 1, wx.EXPAND, 2) btnCancel = wx.Button(self, wx.ID_CANCEL, tr("Cancel")) sizer.Add(btnCancel, 0, wx.ALIGN_CENTER, 2) wx.EVT_CLOSE(self, self.OnClose) wx.EVT_SIZE(self, self.OnSize) wx.EVT_BUTTON(self, wx.ID_CANCEL, self.OnClose) wx.EVT_TEXT(self.text, self.text.GetId(), self.OnChange) wx.EVT_KEY_DOWN(self.text, self.OnKeyDown) wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.OnEnter) wx.EVT_CHECKBOX(self.impact_check, self.impact_check.GetId(), self.OnCheckImpact) wx.EVT_CHECKBOX(self.autoclose_check, self.autoclose_check.GetId(), self.OnCheckAutoClose) self.impact_check.SetValue(Globals.pref.commands_impact) self.autoclose_check.SetValue(Globals.pref.commands_autoclose) Globals.mainframe.command_mode = True self.SetSizer(sizer) self.SetAutoLayout(True)
def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory # Set up the adapter to use: self.adapter = factory.adapter # Determine the style to use for the list control: style = wx.LC_REPORT | wx.LC_VIRTUAL | wx.BORDER_NONE if factory.editable_labels: style |= wx.LC_EDIT_LABELS if factory.horizontal_lines: style |= wx.LC_HRULES if factory.vertical_lines: style |= wx.LC_VRULES if not factory.multi_select: style |= wx.LC_SINGLE_SEL if not factory.show_titles: style |= wx.LC_NO_HEADER # Create the list control and link it back to us: self.control = control = wxListCtrl( parent, -1, style=style, can_edit=factory.editable, edit_labels=factory.editable_labels) control._editor = self # Create the list control column: #fixme: what do we do here? #control.InsertColumn( 0, '' ) # Set up the list control's event handlers: id = control.GetId() wx.EVT_LIST_BEGIN_DRAG(parent, id, self._begin_drag) wx.EVT_LIST_BEGIN_LABEL_EDIT(parent, id, self._begin_label_edit) wx.EVT_LIST_END_LABEL_EDIT(parent, id, self._end_label_edit) wx.EVT_LIST_ITEM_SELECTED(parent, id, self._item_selected) wx.EVT_LIST_ITEM_DESELECTED(parent, id, self._item_selected) wx.EVT_LIST_KEY_DOWN(parent, id, self._key_down) wx.EVT_LIST_ITEM_ACTIVATED(parent, id, self._item_activated) wx.EVT_LIST_COL_END_DRAG(parent, id, self._size_modified) wx.EVT_LIST_COL_RIGHT_CLICK(parent, id, self._column_right_clicked) wx.EVT_LIST_COL_CLICK(parent, id, self._column_clicked) wx.EVT_LEFT_DOWN(control, self._left_down) wx.EVT_LEFT_DCLICK(control, self._left_dclick) wx.EVT_RIGHT_DOWN(control, self._right_down) wx.EVT_RIGHT_DCLICK(control, self._right_dclick) wx.EVT_MOTION(control, self._motion) wx.EVT_SIZE(control, self._size_modified) # Set up the drag and drop target: if PythonDropTarget is not None: control.SetDropTarget(PythonDropTarget(self)) # Set up the selection listener (if necessary): if factory.multi_select: self.sync_value(factory.selected, 'multi_selected', 'both', is_list=True) self.sync_value(factory.selected_row, 'multi_selected_rows', 'both', is_list=True) else: self.sync_value(factory.selected, 'selected', 'both') self.sync_value(factory.selected_row, 'selected_row', 'both') # Synchronize other interesting traits as necessary: self.sync_value(factory.update, 'update', 'from') self.sync_value(factory.activated, 'activated', 'to') self.sync_value(factory.activated_row, 'activated_row', 'to') self.sync_value(factory.clicked, 'clicked', 'to') self.sync_value(factory.dclicked, 'dclicked', 'to') self.sync_value(factory.right_clicked, 'right_clicked', 'to') self.sync_value(factory.right_dclicked, 'right_dclicked', 'to') self.sync_value(factory.column_clicked, 'column_clicked', 'to') # Make sure we listen for 'items' changes as well as complete list # replacements: try: self.context_object.on_trait_change(self.update_editor, self.extended_name + '_items', dispatch='ui') except: pass # If the user has requested automatic update, attempt to set up the # appropriate listeners: if factory.auto_update: self.context_object.on_trait_change(self.refresh_editor, self.extended_name + '.-', dispatch='ui') # Create the mapping from user supplied images to wx.ImageList indices: for image_resource in factory.images: self._add_image(image_resource) # Refresh the editor whenever the adapter changes: self.on_trait_change(self._refresh, 'adapter.+update', dispatch='ui') # Rebuild the editor columns and headers whenever the adapter's # 'columns' changes: self.on_trait_change(self._rebuild_all, 'adapter.columns', dispatch='ui') # Make sure the tabular view gets initialized: self._rebuild() # Set the list control's tooltip: self.set_tooltip()
def __init__(self, parent, ID, mainControl): EnhancedListControl.__init__(self, parent, ID, style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_NO_HEADER) self.mainControl = mainControl self.InsertColumn(0, u"", width=3000) self.updatingThreadHolder = Utilities.ThreadHolder() self.versionEntries = [] self.versionOverview = None self.activationMode = self._ACTIVATION_MODE_NORMAL self.mainControl.getMiscEvent().addListener(self) self.layerVisible = True self.sizeVisible = True # False if this window has a size # that it can't be read (one dim. less than 5 pixels) self.ignoreOnChange = False self.docPagePresenterSink = wxKeyFunctionSink(( ("loaded current doc page", self.onUpdateNeeded), )) self.versionOverviewSink = wxKeyFunctionSink(( ("changed version overview", self.onUpdateNeeded), ("invalidated version overview", self.onUpdateNeeded) )) self.__sinkApp = wxKeyFunctionSink(( ("options changed", self.onUpdateNeeded), ), wx.GetApp().getMiscEvent(), self) if not self.mainControl.isMainWindowConstructed(): # Install event handler to wait for construction self.__sinkMainFrame = wxKeyFunctionSink(( ("constructed main window", self.onConstructedMainWindow), ), self.mainControl.getMiscEvent(), self) else: self.onConstructedMainWindow(None) # currPres = self.mainControl.getCurrentDocPagePresenter() # if currPres is not None: # self.docPagePresenterSink.setEventSource(currPres.getMiscEvent()) self.docPagePresenterSink.setEventSource( self.mainControl.getCurrentPresenterProxyEvent()) self.lastSelection = (-1, -1) self.updateList() wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) wx.EVT_WINDOW_DESTROY(self, self.OnDestroy) wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) wx.EVT_SIZE(self, self.OnSize) wx.EVT_KEY_DOWN(self, self.OnKeyDown) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DIFF_INLINE, self.OnCmdDiffInline) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DIFF_SET_FROM, self.OnCmdDiffSetFrom) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DIFF_SET_TO, self.OnCmdDiffSetTo) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DELETE_VERSION, self.OnCmdDeleteVersion) wx.EVT_MENU(self, GUI_ID.CMD_VERSIONING_DELETE_ALL_VERSION_DATA, self.OnCmdDeleteAllVersionData)
def __init__(self, parent, mainframe): self.initmixin() self.parent = parent self.mainframe = mainframe self.pref = self.mainframe.pref wx.Panel.__init__(self, parent, -1) self.box = wx.BoxSizer(wx.VERTICAL) self.box1 = wx.BoxSizer(wx.HORIZONTAL) obj = wx.StaticText(self, -1, tr('Account:')) self.box1.Add(obj, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2) self.ID_SITELIST = wx.NewId() self.cmbSite= wx.ComboBox(self, self.ID_SITELIST, "", choices=self.mainframe.pref.blog_sites, size=(100, 20), style=wx.CB_READONLY) self.box1.Add(self.cmbSite, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2) #manage self.ID_MANAGE = wx.NewId() self.btnManage = wx.Button(self, self.ID_MANAGE, tr('Manage'), size=(50, -1)) self.box1.Add(self.btnManage, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2) #new button self.ID_NEW= wx.NewId() self.btnNew = wx.Button(self, self.ID_NEW, tr('New'), size=(40, -1)) self.box1.Add(self.btnNew, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2) #delete button self.ID_DELETE= wx.NewId() self.btnDelete = wx.Button(self, self.ID_DELETE, tr('Del'), size=(40, -1)) self.box1.Add(self.btnDelete, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2) #get last post self.ID_GETPOSTS = wx.NewId() self.btnGetposts = wx.Button(self, self.ID_GETPOSTS, tr('Get Post'), size=(65, -1)) self.box1.Add(self.btnGetposts, 0, wx.ALIGN_CENTER_VERTICAL) #get posts more self.ID_GETPOSTSMORE = wx.NewId() self.btnGetpostsMore = wx.Button(self, self.ID_GETPOSTSMORE, tr('>'), size=(15, -1)) self.box1.Add(self.btnGetpostsMore, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2) #get posts more self.ID_CACHE = wx.NewId() self.btnCache = wx.Button(self, self.ID_CACHE, tr('Cache'), size=(40, -1)) self.box1.Add(self.btnCache, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2) self.box.Add(self.box1, 0, wx.ALL|wx.EXPAND, 2) self.list = wx.ListCtrl(self, -1, style=wx.LC_REPORT | wx.LC_SINGLE_SEL) self.box.Add(self.list, 1, wx.EXPAND) self.SetSizer(self.box) self.SetAutoLayout(True) self.load() self.data = [] self.initlist() wx.EVT_UPDATE_UI(self.btnDelete, self.ID_DELETE, self.OnUpdateUI) wx.EVT_BUTTON(self.btnManage, self.ID_MANAGE, self.OnManage) wx.EVT_BUTTON(self.btnNew, self.ID_NEW, self.OnNew) wx.EVT_BUTTON(self.btnDelete, self.ID_DELETE, self.OnDelete) wx.EVT_BUTTON(self.btnGetposts, self.ID_GETPOSTS, self.OnGetPosts) wx.EVT_BUTTON(self.btnGetpostsMore, self.ID_GETPOSTSMORE, self.OnGetPostsMore) wx.EVT_BUTTON(self.btnCache, self.ID_CACHE, self.OnCache) wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.OnEntryEntered) wx.EVT_COMBOBOX(self.cmbSite, self.ID_SITELIST, self.OnSiteChanged) if self.popmenulist: self.popmenu = makemenu.makepopmenu(self, self.popmenulist, self.imagelist) wx.EVT_LIST_ITEM_RIGHT_CLICK(self.list, self.list.GetId(), self.OnRClick) wx.EVT_RIGHT_UP(self.list, self.OnRClick) self.callplugin('init', self)