]> git.saurik.com Git - wxWidgets.git/commitdiff
You can now make menu items without IDs
authorRobin Dunn <robin@alldunn.com>
Wed, 4 Feb 2004 23:38:38 +0000 (23:38 +0000)
committerRobin Dunn <robin@alldunn.com>
Wed, 4 Feb 2004 23:38:38 +0000 (23:38 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/demo/Main.py
wxPython/docs/MigrationGuide.txt

index 52f30c3176bf785d19bedf4e2adfaf02ed72f4a3..909b65de18cc5d3589383a676e2f2c6a4396dc59 100644 (file)
@@ -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)
index c72791595063340f3055a9b4df774b306e204ff0..c2a63f83264adfecc917cb06ba73f522a6a30e68 100644 (file)
@@ -107,11 +107,31 @@ 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)
-     
-I hope to be able to remove the need for using IDs even for menu
-events too...
+     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)
+
+     
 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
 change your EVT_* to be an instance of wxPyEventBinder instead of a
@@ -132,6 +152,8 @@ number of IDs that are needed to be passed to Connect.
 
 
 
+
+
 The wx Namespace
 ----------------