+ def CreatePopupMenu(self):
+ FINDCLASS_ID = wx.NewId()
+ FINDDEF_ID = wx.NewId()
+
+ menu = CodeEditor.CodeCtrl.CreatePopupMenu(self)
+
+ self.Bind(wx.EVT_MENU, self.OnPopFindDefinition, id=FINDDEF_ID)
+ menu.Insert(1, FINDDEF_ID, _("Find 'def'"))
+
+ self.Bind(wx.EVT_MENU, self.OnPopFindClass, id=FINDCLASS_ID)
+ menu.Insert(2, FINDCLASS_ID, _("Find 'class'"))
+
+ return menu
+
+
+ def OnPopFindDefinition(self, event):
+ view = wx.GetApp().GetDocumentManager().GetCurrentView()
+ if hasattr(view, "GetCtrl") and view.GetCtrl() and hasattr(view.GetCtrl(), "GetSelectedText"):
+ pattern = view.GetCtrl().GetSelectedText().strip()
+ if pattern:
+ searchPattern = "def\s+%s" % pattern
+ wx.GetApp().GetService(FindInDirService.FindInDirService).FindInProject(searchPattern)
+
+
+ def OnPopFindClass(self, event):
+ view = wx.GetApp().GetDocumentManager().GetCurrentView()
+ if hasattr(view, "GetCtrl") and view.GetCtrl() and hasattr(view.GetCtrl(), "GetSelectedText"):
+ definition = "class\s+%s"
+ pattern = view.GetCtrl().GetSelectedText().strip()
+ if pattern:
+ searchPattern = definition % pattern
+ wx.GetApp().GetService(FindInDirService.FindInDirService).FindInProject(searchPattern)
+
+