+++ /dev/null
-#----------------------------------------------------------------------------
-# Name: MarkerService.py
-# Purpose: Adding and removing line markers in text for easy searching
-#
-# Author: Morgan Hua
-#
-# Created: 10/6/03
-# CVS-ID: $Id$
-# Copyright: (c) 2004-2005 ActiveGrid, Inc.
-# License: wxWindows License
-#----------------------------------------------------------------------------
-
-import wx
-import wx.stc
-import wx.lib.docview
-import wx.lib.pydocview
-import STCTextEditor
-_ = wx.GetTranslation
-
-
-class MarkerService(wx.lib.pydocview.DocService):
- MARKERTOGGLE_ID = wx.NewId()
- MARKERDELALL_ID = wx.NewId()
- MARKERNEXT_ID = wx.NewId()
- MARKERPREV_ID = wx.NewId()
-
-
- def __init__(self):
- pass
-
- def InstallControls(self, frame, menuBar = None, toolBar = None, statusBar = None, document = None):
- if document and document.GetDocumentTemplate().GetDocumentType() != STCTextEditor.TextDocument:
- return
- if not document and wx.GetApp().GetDocumentManager().GetFlags() & wx.lib.docview.DOC_SDI:
- return
-
- editMenu = menuBar.GetMenu(menuBar.FindMenu(_("&Edit")))
- editMenu.AppendSeparator()
- editMenu.Append(MarkerService.MARKERTOGGLE_ID, _("Toggle &Bookmark\tCtrl+M"), _("Toggles a bookmark at text line"))
- wx.EVT_MENU(frame, MarkerService.MARKERTOGGLE_ID, frame.ProcessEvent)
- wx.EVT_UPDATE_UI(frame, MarkerService.MARKERTOGGLE_ID, frame.ProcessUpdateUIEvent)
- editMenu.Append(MarkerService.MARKERDELALL_ID, _("Clear Bookmarks"), _("Removes all jump bookmarks from selected file"))
- wx.EVT_MENU(frame, MarkerService.MARKERDELALL_ID, frame.ProcessEvent)
- wx.EVT_UPDATE_UI(frame, MarkerService.MARKERDELALL_ID, frame.ProcessUpdateUIEvent)
- editMenu.Append(MarkerService.MARKERNEXT_ID, _("Bookmark Next\tF4"), _("Moves to next bookmark in selected file"))
- wx.EVT_MENU(frame, MarkerService.MARKERNEXT_ID, frame.ProcessEvent)
- wx.EVT_UPDATE_UI(frame, MarkerService.MARKERNEXT_ID, frame.ProcessUpdateUIEvent)
- editMenu.Append(MarkerService.MARKERPREV_ID, _("Bookmark Previous\tShift+F4"), _("Moves to previous bookmark in selected file"))
- wx.EVT_MENU(frame, MarkerService.MARKERPREV_ID, frame.ProcessEvent)
- wx.EVT_UPDATE_UI(frame, MarkerService.MARKERPREV_ID, frame.ProcessUpdateUIEvent)
-
-
- def ProcessEvent(self, event):
- id = event.GetId()
- if id == MarkerService.MARKERTOGGLE_ID:
- wx.GetApp().GetDocumentManager().GetCurrentView().MarkerToggle()
- return True
- elif id == MarkerService.MARKERDELALL_ID:
- wx.GetApp().GetDocumentManager().GetCurrentView().MarkerDeleteAll()
- return True
- elif id == MarkerService.MARKERNEXT_ID:
- wx.GetApp().GetDocumentManager().GetCurrentView().MarkerNext()
- return True
- elif id == MarkerService.MARKERPREV_ID:
- wx.GetApp().GetDocumentManager().GetCurrentView().MarkerPrevious()
- return True
- else:
- return False
-
-
- def ProcessUpdateUIEvent(self, event):
- id = event.GetId()
- if id == MarkerService.MARKERTOGGLE_ID:
- view = wx.GetApp().GetDocumentManager().GetCurrentView()
- event.Enable(hasattr(view, "MarkerToggle"))
- return True
- elif id == MarkerService.MARKERDELALL_ID:
- view = wx.GetApp().GetDocumentManager().GetCurrentView()
- event.Enable(hasattr(view, "MarkerDeleteAll") and view.GetMarkerCount())
- return True
- elif id == MarkerService.MARKERNEXT_ID:
- view = wx.GetApp().GetDocumentManager().GetCurrentView()
- event.Enable(hasattr(view, "MarkerNext") and view.GetMarkerCount())
- return True
- elif id == MarkerService.MARKERPREV_ID:
- view = wx.GetApp().GetDocumentManager().GetCurrentView()
- event.Enable(hasattr(view, "MarkerPrevious") and view.GetMarkerCount())
- return True
- else:
- return False
-