mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-05 11:30:06 +01:00
Add Shell EVT_UPDATE_UI handler for each id
(revert) self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateContextMenu) without specifing id triggers EVT_UPDATE_UI frequently.
This commit is contained in:
@@ -305,7 +305,7 @@ class Shell(editwindow.EditWindow):
|
||||
|
||||
# Assign handler for the context menu
|
||||
self.Bind(wx.EVT_CONTEXT_MENU, self.OnContextMenu)
|
||||
self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateContextMenu)
|
||||
## self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateContextMenu)
|
||||
|
||||
# add the option to not use the stock IDs; otherwise the context menu
|
||||
# may not work on Mac without adding the proper IDs to the menu bar
|
||||
@@ -337,6 +337,14 @@ class Shell(editwindow.EditWindow):
|
||||
self.Bind(wx.EVT_MENU, lambda evt: self.Undo(), id=self.ID_UNDO)
|
||||
self.Bind(wx.EVT_MENU, lambda evt: self.Redo(), id=self.ID_REDO)
|
||||
|
||||
self.Bind(wx.EVT_UPDATE_UI, lambda evt: evt.Enable(self.CanCut()), id=self.ID_CUT)
|
||||
self.Bind(wx.EVT_UPDATE_UI, lambda evt: evt.Enable(self.CanCut()), id=self.ID_CLEAR)
|
||||
self.Bind(wx.EVT_UPDATE_UI, lambda evt: evt.Enable(self.CanCopy()), id=self.ID_COPY)
|
||||
self.Bind(wx.EVT_UPDATE_UI, lambda evt: evt.Enable(self.CanCopy()), id=frame.ID_COPY_PLUS)
|
||||
self.Bind(wx.EVT_UPDATE_UI, lambda evt: evt.Enable(self.CanPaste()), id=self.ID_PASTE)
|
||||
self.Bind(wx.EVT_UPDATE_UI, lambda evt: evt.Enable(self.CanPaste()), id=frame.ID_PASTE_PLUS)
|
||||
self.Bind(wx.EVT_UPDATE_UI, lambda evt: evt.Enable(self.CanUndo()), id=self.ID_UNDO)
|
||||
self.Bind(wx.EVT_UPDATE_UI, lambda evt: evt.Enable(self.CanRedo()), id=self.ID_REDO)
|
||||
|
||||
# Assign handler for idle time.
|
||||
self.waiting = False
|
||||
@@ -1511,18 +1519,18 @@ class Shell(editwindow.EditWindow):
|
||||
menu = self.GetContextMenu()
|
||||
self.PopupMenu(menu)
|
||||
|
||||
def OnUpdateContextMenu(self, evt):
|
||||
id = evt.Id
|
||||
if id in (self.ID_CUT, self.ID_CLEAR):
|
||||
evt.Enable(self.CanCut())
|
||||
elif id in (self.ID_COPY, frame.ID_COPY_PLUS):
|
||||
evt.Enable(self.CanCopy())
|
||||
elif id in (self.ID_PASTE, frame.ID_PASTE_PLUS):
|
||||
evt.Enable(self.CanPaste())
|
||||
elif id == self.ID_UNDO:
|
||||
evt.Enable(self.CanUndo())
|
||||
elif id == self.ID_REDO:
|
||||
evt.Enable(self.CanRedo())
|
||||
## def OnUpdateContextMenu(self, evt):
|
||||
## id = evt.Id
|
||||
## if id in (self.ID_CUT, self.ID_CLEAR):
|
||||
## evt.Enable(self.CanCut())
|
||||
## elif id in (self.ID_COPY, frame.ID_COPY_PLUS):
|
||||
## evt.Enable(self.CanCopy())
|
||||
## elif id in (self.ID_PASTE, frame.ID_PASTE_PLUS):
|
||||
## evt.Enable(self.CanPaste())
|
||||
## elif id == self.ID_UNDO:
|
||||
## evt.Enable(self.CanUndo())
|
||||
## elif id == self.ID_REDO:
|
||||
## evt.Enable(self.CanRedo())
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user