def __init__(self, parent, ID, mainControl): wx.Notebook.__init__(self, parent, ID) self.mainControl = mainControl wikiWordFilter = DatedWikiWordFilters.DatedWikiWordFilterModified() self.modifiedPanel = LayeredControlPanel(self, -1) self.versionPanel = LayeredControlPanel(self, -1) self.wwHistoryPanel = LayeredControlPanel(self, -1) tlp = TimelinePanel(self.modifiedPanel, -1, self.mainControl, wikiWordFilter) # tlp = CalendarPanel(self.modifiedPanel, -1, self.mainControl, # wikiWordFilter) self.modifiedPanel.setSubControl("timeline", tlp) self.modifiedPanel.switchSubControl("timeline") # self.modifiedPanel = TimelinePanel(self, -1, self.mainControl, wikiWordFilter) # self.modifiedPanel = CalendarPanel(self, -1, self.mainControl, wikiWordFilter) self.AddPage(self.modifiedPanel, wikiWordFilter.getDisplayName()) vep = VersionExplorerPanel(self.versionPanel, -1, self.mainControl) self.versionPanel.setSubControl("version explorer", vep) self.versionPanel.switchSubControl("version explorer") self.AddPage(self.versionPanel, _(u"Versions")) wwh = WikiWideHistoryPanel(self.wwHistoryPanel, -1, self.mainControl) self.wwHistoryPanel.setSubControl("wiki wide history", wwh) self.wwHistoryPanel.switchSubControl("wiki wide history") self.AddPage(self.wwHistoryPanel, _(u"Wiki-wide history")) self.notebookPages = [ self.modifiedPanel, self.versionPanel, self.wwHistoryPanel ] self.runningPageChangedEvent = False # for i, w in enumerate(self.notebookPages): # w.setLayerVisible(0 == i) lastTab = self.mainControl.getConfig().get("main", "timeView_lastSelectedTab") if lastTab == u"version": tabIdx = 1 elif lastTab == u"wiki wide history": tabIdx = 2 else: tabIdx = 0 self.ChangeSelection(tabIdx) self._adjustVisibilitySubControls(tabIdx) wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnNotebookPageChanged, id=self.GetId())
def __init__(self, presenter, mainControl, parent, ID): SearchableScintillaControl.__init__(self, presenter, mainControl, parent, ID) self.fromText = None self.toText = None self.fromVerNo = None self.toVerNo = None # self.presenter = presenter # self.mainControl = mainControl self.procTokens = None # NonTerminalNode with TerminalNode s self.stylebytes = None self.baseDocPage = None res = wx.xrc.XmlResource.Get() self.tabContextMenu = res.LoadMenu("MenuDiffTabPopup") # Self-modify to ansi/unicode version if isUnicode(): self.bytelenSct = bytelenSct_utf8 else: self.bytelenSct = bytelenSct_mbcs config = self.mainControl.getConfig() self.defaultFont = config.get( "main", "font", self.mainControl.presentationExt.faces["mono"]) self.setWrapMode(config.getboolean("main", "wrap_mode")) wx.stc.EVT_STC_STYLENEEDED(self, ID, self.OnStyleNeeded) wx.EVT_KEY_DOWN(self, self.OnKeyDown) wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) wx.EVT_MENU(self, GUI_ID.CMD_CLIPBOARD_COPY, lambda evt: self.Copy()) wx.EVT_MENU(self, GUI_ID.CMD_SELECT_ALL, lambda evt: self.SelectAll()) wx.EVT_MENU(self.tabContextMenu, GUI_ID.CMD_DIFF_SWAP_FROM_TO, self.OnCmdSwapFromTo) wx.EVT_MENU(self, GUI_ID.CMD_ZOOM_IN, lambda evt: self.CmdKeyExecute(wx.stc.STC_CMD_ZOOMIN)) wx.EVT_MENU(self, GUI_ID.CMD_ZOOM_OUT, lambda evt: self.CmdKeyExecute(wx.stc.STC_CMD_ZOOMOUT)) # TODO: Make work # self.StyleSetSpec(wx.stc.STC_STYLE_DEFAULT, "face:%(mono)s,size:%(size)d" % # self.presenter.getDefaultFontFaces()) self.StyleSetSpec( wx.stc.STC_STYLE_DEFAULT, "face:%(mono)s,size:%(size)d" % self.mainControl.presentationExt.faces) self.StyleSetSpec( 2, "face:%(mono)s,size:%(size)d" % self.mainControl.presentationExt.faces) self.setStyles()
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, mainControl, parent, id): wx.Notebook.__init__(self, parent, id) # nb = wx.PreNotebook() # self.PostCreate(nb) MiscEventSourceMixin.__init__(self) self.mainControl = mainControl self.mainControl.getMiscEvent().addListener(self) self.currentPresenter = None self.presenters = [] self.mruTabIndex = [] self.tabSwitchByKey = 0 # 2: Key hit, notebook change not processed; # 1: Key hit, nb. change processed # 0: Processing done self.currentPresenterProxyEvent = ProxyMiscEvent(self) # Last presenter for which a context menu was shown self.lastContextMenuPresenter = None self.runningPageChangedEvent = False # res = xrc.XmlResource.Get() # self.docPagePresContextMenu = res.LoadMenu("MenuDocPagePresenterTabPopup") self.tabDragCursor = wx.StockCursor(wx.CURSOR_HAND) self.tabDragging = wx.NOT_FOUND # wx.EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), # self.OnNotebookPageChanged) self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnNotebookPageChanged) wx.EVT_KEY_UP(self, self.OnKeyUp) wx.EVT_LEFT_DOWN(self, self.OnLeftDown) wx.EVT_LEFT_UP(self, self.OnLeftUp) wx.EVT_MIDDLE_DOWN(self, self.OnMiddleDown) wx.EVT_MOTION(self, self.OnMotion) wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) wx.EVT_SET_FOCUS(self, self.OnFocused) wx.EVT_KILL_FOCUS(self, self.OnKillFocus) # EVT_AFTER_FOCUS(self, self.OnAfterFocus) wx.EVT_MENU(self, GUI_ID.CMD_CLOSE_THIS_TAB, self.OnCloseThisTab) wx.EVT_MENU(self, GUI_ID.CMD_CLOSE_CURRENT_TAB, self.OnCloseCurrentTab) wx.EVT_MENU(self, GUI_ID.CMD_THIS_TAB_SHOW_SWITCH_EDITOR_PREVIEW, self.OnCmdSwitchThisEditorPreview) wx.EVT_MENU(self, GUI_ID.CMD_GO_NEXT_TAB, self.OnGoTab) wx.EVT_MENU(self, GUI_ID.CMD_GO_PREVIOUS_TAB, self.OnGoTab) wx.EVT_MENU(self, GUI_ID.CMD_CLIPBOARD_COPY_URL_TO_THIS_WIKIWORD, self.OnCmdClipboardCopyUrlToThisWikiWord)
def __init__(self, parent, focus): self.failed = False wx.Window.__init__(self, parent) if mymcsup == None: self.failed = True return r = mymcsup.init_icon_renderer(focus.GetHandle(), self.GetHandle()) if r == -1: print "init_icon_renderer failed" self.failed = True return self.config = config = mymcsup.icon_config() config.animate = True self.menu = wx.Menu() self.append_menu_options(self, self.menu) self.set_lighting(self.ID_CMD_LIGHT_ALT2) self.set_camera(self.ID_CMD_CAMERA_DEFAULT) wx.EVT_CONTEXT_MENU(self, self.evt_context_menu)
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, ID, mainControl, wikiWordFilter): EnhancedListControl.__init__(self, parent, ID, style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_NO_HEADER | wx.LC_EDIT_LABELS) TimePresentationBase.__init__(self, mainControl, wikiWordFilter) self.InsertColumn(0, u"", width=1) # date self.InsertColumn(1, u"", width=1) # number of wiki words # Now gather some information self.InsertStringItem(0, u"1") self.itemHeight = self.GetItemRect(0).GetHeight() self.popupShiftX = 20 self.popupShiftY = self.itemHeight - 2 self.stdFont = self.GetFont() self.boldFont = cloneFont(self.stdFont) # # Clone font # self.boldFont = wx.Font(self.stdFont.GetPointSize(), # self.stdFont.GetFamily(), self.stdFont.GetStyle(), # self.stdFont.GetWeight(), self.stdFont.GetUnderlined(), # self.stdFont.GetFaceName(), self.stdFont.GetDefaultEncoding()) self.boldFont.SetWeight(wx.FONTWEIGHT_BOLD) self.stepDays = 1 self.DeleteAllItems() self.clientHeight = self.GetClientSizeTuple()[1] self.visibleItemCount = (self.clientHeight - 6) // self.itemHeight self.contextMenuWikiWords = IdRecycler() # {menuid: wiki word to go to} self.listContent = [] # Tuples (wx.DateTime day, <number of wikiwords for day>) self.listMaxWordCount = 0 # max number of wikiwords over entries in listContent self.wikiWordListPopup = None self.firstResize = True # Hack # self.topDay = None # currTime - wx.TimeSpan_Days(self.visibleItemCount - 1) # Sets which day should be shown at which index self.fixedItemDay = None self.fixedItemIndex = 0 self.minMaxDayCache = None wx.EVT_KEY_DOWN(self, self.OnKeyDown) # wx.EVT_SIZE(self, self.OnSize) # wx.EVT_ERASE_BACKGROUND(self, self.OnEraseBg) wx.EVT_CONTEXT_MENU(self, self.OnContextMenu) # wx.EVT_MOTION(self, self.OnMouseMotion) wx.EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) wx.EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) wx.EVT_LIST_BEGIN_LABEL_EDIT(self, self.GetId(), self.OnBeginLabelEdit) wx.EVT_LIST_END_LABEL_EDIT(self, self.GetId(), self.OnEndLabelEdit) wx.EVT_MENU(self, GUI_ID.CMD_CHECKBOX_TIMELINE_SHOW_EMPTY_DAYS, self.OnCmdCheckShowEmptyDays) wx.EVT_UPDATE_UI(self, GUI_ID.CMD_CHECKBOX_TIMELINE_SHOW_EMPTY_DAYS, self.OnCmdCheckUpdateEmptyDays) wx.EVT_MENU(self, GUI_ID.CMD_CHECKBOX_TIMELINE_DATE_ASCENDING, self.OnCmdCheckDateAscending) wx.EVT_UPDATE_UI(self, GUI_ID.CMD_CHECKBOX_TIMELINE_DATE_ASCENDING, self.OnCmdCheckUpdateDateAscending)