<pre class="literal-block">
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)
+</pre>
+<p>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:</p>
+<pre class="literal-block">
+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)
</pre>
-<p>I hope to be able to remove the need for using IDs even for menu
-events too...</p>
<p>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
</div>
<div class="section" id="sizers">
<h1><a name="sizers">Sizers</a></h1>
-<p>The hack allowing the old "option" keyword parameter has been
-removed. If you use keyworkd args with wxSizer Add, Insert, or
-Prepend then you will need to use the "proportion" name instead of
-"option".</p>
+<p>The hack allowing the old "option" keyword parameter has been removed.
+If you use keyworkd args with wxSizer Add, Insert, or Prepend methods
+then you will need to use the "proportion" name instead of "option".</p>
<p>When adding a spacer to a sizer you now need to use a wxSize or a
2-integer sequence instead of separate width and height parameters.</p>
<p>The wxGridBagSizer class (very similar to the RowColSizer in the
into a single extension module, the "core" module is now just a few
extensions that are linked independently, and then merged together
later into the main namespace via Python code.</p>
-<p>Because of the above, the "internal" module names have changed, but
-you shouldn't have been using them anyway so it shouldn't bother
-you. ;-)</p>
-<p>The wxPython.help module no longer exists and the classes therein are
-now part of the core module imported with wxPython.wx or the wx
-package.</p>
+<p>Because of the above and also because of the way the new SWIG works,
+the "internal" module names have changed, but you shouldn't have been
+using them anyway so it shouldn't bother you. ;-)</p>
+<p>The help module no longer exists and the classes therein are now part
+of the core module imported with wxPython.wx or the wx package.</p>
<p>wxPyDefaultPosition and wxPyDefaultSize are gone. Use the
wxDefaultPosition and wxDefaultSize objects instead.</p>
<p>Similarly, the wxSystemSettings backwards compatibiility aliases for
<p>wxPyTypeCast has been removed. Since we've had the OOR (Original
Object Return) for a couple years now there should be no need to use
wxPyTypeCast at all.</p>
+<p>If you use the old wxPython package and wxPython.wx namespace then
+there are compatibility aliases for much of the above items.</p>
+<p>The wxWave class has been renamed to wxSound, and now has a slightly
+different API.</p>
</div>
</div>
<hr class="footer" />
<div class="footer">
-<a class="reference" href="MigrationGuide.txt">View document source</a>.
-Generated on: 2004-01-13 20:47 UTC.
-Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
+Generated on: 2004-02-04 23:31 UTC.
</div>
</body>
</html>