]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/samples/ide/activegrid/tool/MarkerService.py
1 #----------------------------------------------------------------------------
2 # Name: MarkerService.py
3 # Purpose: Adding and removing line markers in text for easy searching
9 # Copyright: (c) 2004-2005 ActiveGrid, Inc.
10 # License: wxWindows License
11 #----------------------------------------------------------------------------
16 import wx
.lib
.pydocview
21 class MarkerService(wx
.lib
.pydocview
.DocService
):
22 MARKERTOGGLE_ID
= wx
.NewId()
23 MARKERDELALL_ID
= wx
.NewId()
24 MARKERNEXT_ID
= wx
.NewId()
25 MARKERPREV_ID
= wx
.NewId()
31 def InstallControls(self
, frame
, menuBar
= None, toolBar
= None, statusBar
= None, document
= None):
32 if document
and document
.GetDocumentTemplate().GetDocumentType() != STCTextEditor
.TextDocument
:
34 if not document
and wx
.GetApp().GetDocumentManager().GetFlags() & wx
.lib
.docview
.DOC_SDI
:
37 editMenu
= menuBar
.GetMenu(menuBar
.FindMenu(_("&Edit")))
38 editMenu
.AppendSeparator()
39 editMenu
.Append(MarkerService
.MARKERTOGGLE_ID
, _("Toggle &Marker\tCtrl+M"), _("Toggles a jump marker to text line"))
40 wx
.EVT_MENU(frame
, MarkerService
.MARKERTOGGLE_ID
, frame
.ProcessEvent
)
41 wx
.EVT_UPDATE_UI(frame
, MarkerService
.MARKERTOGGLE_ID
, frame
.ProcessUpdateUIEvent
)
42 editMenu
.Append(MarkerService
.MARKERDELALL_ID
, _("Clear Markers"), _("Removes all jump markers from selected file"))
43 wx
.EVT_MENU(frame
, MarkerService
.MARKERDELALL_ID
, frame
.ProcessEvent
)
44 wx
.EVT_UPDATE_UI(frame
, MarkerService
.MARKERDELALL_ID
, frame
.ProcessUpdateUIEvent
)
45 editMenu
.Append(MarkerService
.MARKERNEXT_ID
, _("Marker Next\tF4"), _("Moves to next marker in selected file"))
46 wx
.EVT_MENU(frame
, MarkerService
.MARKERNEXT_ID
, frame
.ProcessEvent
)
47 wx
.EVT_UPDATE_UI(frame
, MarkerService
.MARKERNEXT_ID
, frame
.ProcessUpdateUIEvent
)
48 editMenu
.Append(MarkerService
.MARKERPREV_ID
, _("Marker Previous\tShift+F4"), _("Moves to previous marker in selected file"))
49 wx
.EVT_MENU(frame
, MarkerService
.MARKERPREV_ID
, frame
.ProcessEvent
)
50 wx
.EVT_UPDATE_UI(frame
, MarkerService
.MARKERPREV_ID
, frame
.ProcessUpdateUIEvent
)
53 def ProcessEvent(self
, event
):
55 if id == MarkerService
.MARKERTOGGLE_ID
:
56 wx
.GetApp().GetDocumentManager().GetCurrentView().MarkerToggle()
58 elif id == MarkerService
.MARKERDELALL_ID
:
59 wx
.GetApp().GetDocumentManager().GetCurrentView().MarkerDeleteAll()
61 elif id == MarkerService
.MARKERNEXT_ID
:
62 wx
.GetApp().GetDocumentManager().GetCurrentView().MarkerNext()
64 elif id == MarkerService
.MARKERPREV_ID
:
65 wx
.GetApp().GetDocumentManager().GetCurrentView().MarkerPrevious()
71 def ProcessUpdateUIEvent(self
, event
):
73 if id == MarkerService
.MARKERTOGGLE_ID
:
74 view
= wx
.GetApp().GetDocumentManager().GetCurrentView()
75 event
.Enable(hasattr(view
, "MarkerToggle"))
77 elif id == MarkerService
.MARKERDELALL_ID
:
78 view
= wx
.GetApp().GetDocumentManager().GetCurrentView()
79 event
.Enable(hasattr(view
, "MarkerDeleteAll") and view
.GetMarkerCount())
81 elif id == MarkerService
.MARKERNEXT_ID
:
82 view
= wx
.GetApp().GetDocumentManager().GetCurrentView()
83 event
.Enable(hasattr(view
, "MarkerNext") and view
.GetMarkerCount())
85 elif id == MarkerService
.MARKERPREV_ID
:
86 view
= wx
.GetApp().GetDocumentManager().GetCurrentView()
87 event
.Enable(hasattr(view
, "MarkerPrevious") and view
.GetMarkerCount())