You can now make menu items without IDs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
67aaa6080a
commit
c8000995b5
@ -489,10 +489,9 @@ class wxPythonDemo(wx.Frame):
|
||||
# Make a File menu
|
||||
self.mainmenu = wx.MenuBar()
|
||||
menu = wx.Menu()
|
||||
exitID = wx.NewId()
|
||||
menu.Append(exitID, 'E&xit\tAlt-X', 'Get the heck outta here!')
|
||||
self.Bind(wx.EVT_MENU, self.OnFileExit, id=exitID)
|
||||
wx.App_SetMacExitMenuItemId(exitID)
|
||||
item = menu.Append(-1, 'E&xit\tAlt-X', 'Get the heck outta here!')
|
||||
self.Bind(wx.EVT_MENU, self.OnFileExit, item)
|
||||
wx.App_SetMacExitMenuItemId(item.GetId())
|
||||
self.mainmenu.Append(menu, '&File')
|
||||
|
||||
# Make a Demo menu
|
||||
@ -500,9 +499,8 @@ class wxPythonDemo(wx.Frame):
|
||||
for item in _treeList:
|
||||
submenu = wx.Menu()
|
||||
for childItem in item[1]:
|
||||
mID = wx.NewId()
|
||||
submenu.Append(mID, childItem)
|
||||
self.Bind(wx.EVT_MENU, self.OnDemoMenu, id=mID)
|
||||
mi = submenu.Append(-1, childItem)
|
||||
self.Bind(wx.EVT_MENU, self.OnDemoMenu, mi)
|
||||
menu.AppendMenu(wx.NewId(), item[0], submenu)
|
||||
self.mainmenu.Append(menu, '&Demo')
|
||||
|
||||
@ -512,14 +510,14 @@ class wxPythonDemo(wx.Frame):
|
||||
findID = wx.NewId()
|
||||
findnextID = wx.NewId()
|
||||
menu = wx.Menu()
|
||||
menu.Append(findID, '&Find\tCtrl-F', 'Find in the Demo Code')
|
||||
menu.Append(findnextID, 'Find &Next\tF3', 'Find Next')
|
||||
findItem = menu.Append(-1, '&Find\tCtrl-F', 'Find in the Demo Code')
|
||||
findnextItem = menu.Append(-1, 'Find &Next\tF3', 'Find Next')
|
||||
menu.AppendSeparator()
|
||||
menu.Append(helpID, '&About\tCtrl-H', 'wxPython RULES!!!')
|
||||
wx.App_SetMacAboutMenuItemId(helpID)
|
||||
self.Bind(wx.EVT_MENU, self.OnHelpAbout, id=helpID)
|
||||
self.Bind(wx.EVT_MENU, self.OnHelpFind, id=findID)
|
||||
self.Bind(wx.EVT_MENU, self.OnFindNext, id=findnextID)
|
||||
helpItem = menu.Append(-1, '&About\tCtrl-H', 'wxPython RULES!!!')
|
||||
wx.App_SetMacAboutMenuItemId(helpItem.GetId())
|
||||
self.Bind(wx.EVT_MENU, self.OnHelpAbout, helpItem)
|
||||
self.Bind(wx.EVT_MENU, self.OnHelpFind, findItem)
|
||||
self.Bind(wx.EVT_MENU, self.OnFindNext, findnextItem)
|
||||
self.Bind(wx.EVT_COMMAND_FIND, self.OnFind)
|
||||
self.Bind(wx.EVT_COMMAND_FIND_NEXT, self.OnFind)
|
||||
self.Bind(wx.EVT_COMMAND_FIND_CLOSE, self.OnFindClose)
|
||||
|
@ -107,10 +107,30 @@ Some examples of its use::
|
||||
|
||||
self.Bind(wx.EVT_SIZE, self.OnSize)
|
||||
self.Bind(wx.EVT_BUTTON, self.OnButtonClick, theButton)
|
||||
self.Bind(wx.EVT_MENU, self.OnExit, id=ID_EXIT)
|
||||
self.Bind(wx.EVT_MENU, self.OnExit, id=wx.ID_EXIT)
|
||||
|
||||
|
||||
The wx.Menu methods that add items to a wx.Menu have been modified
|
||||
such that they return a reference to the wx.MenuItem that was created.
|
||||
Additionally menu items and toolbar items have been modified to
|
||||
automatically generate a new ID if -1 is given, similar to using -1
|
||||
with window classess. This means that you can create menu or toolbar
|
||||
items and event bindings without having to predefine a unique menu ID,
|
||||
although you still can use IDs just like before if you want. For
|
||||
example, these are all equivallent other than ID values::
|
||||
|
||||
1.
|
||||
item = menu.Append(-1, "E&xit", "Terminate the App")
|
||||
self.Bind(wx.EVT_MENU, self.OnExit, item)
|
||||
|
||||
2.
|
||||
item = menu.Append(wx.ID_EXIT, "E&xit", "Terminate the App")
|
||||
self.Bind(wx.EVT_MENU, self.OnExit, item)
|
||||
|
||||
3.
|
||||
menu.Append(wx.ID_EXIT, "E&xit", "Terminate the App")
|
||||
self.Bind(wx.EVT_MENU, self.OnExit, id=wx.ID_EXIT)
|
||||
|
||||
I hope to be able to remove the need for using IDs even for menu
|
||||
events too...
|
||||
|
||||
If you create your own custom event types and EVT_* functions, and you
|
||||
want to be able to use them with the Bind method above then you should
|
||||
@ -132,6 +152,8 @@ number of IDs that are needed to be passed to Connect.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The wx Namespace
|
||||
----------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user