X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/78862f240c167007c922e5fc6105e4d9522f332f..d4a376ac6c526b51dda4b40bc56e7fedb6c15ff5:/wxPython/docs/MigrationGuide.txt diff --git a/wxPython/docs/MigrationGuide.txt b/wxPython/docs/MigrationGuide.txt index c727915950..7dd57bec23 100644 --- a/wxPython/docs/MigrationGuide.txt +++ b/wxPython/docs/MigrationGuide.txt @@ -9,12 +9,27 @@ usual to see info about the not so major changes and other things that have been added to wxPython. +wxName Change +------------- + +The **wxWindows** project and library is now known as +**wxWidgets**. Please see here_ for more details. + +.. _here: http://www.wxwindows.org/name.htm + +This won't really affect wxPython all that much, other than the fact +that the wxwindows.org domain name will be changing to wxwidgets.org, +so mail list, CVS, and etc. addresses will be changing. We're going +to try and smooth the transition as much as possible, but I wanted you +all to be aware of this change if you run into any issues. + + Module Initialization --------------------- The import-startup-bootstrap process employed by wxPython was changed -such that wxWindows and the underlying gui toolkit are **not** +such that wxWidgets and the underlying gui toolkit are **not** initialized until the wx.App object is created (but before wx.App.OnInit is called.) This was required because of some changes that were made to the C++ wxApp class. @@ -28,7 +43,7 @@ potential problems are that the C++ side of the "stock-objects" (wx.BLUE_PEN, wx.TheColourDatabase, etc.) are not initialized until the wx.App object is created, so you should not use them until after you have created your wx.App object. If you do then an exception will -be raised telling you that the C++ object has not bene initialized +be raised telling you that the C++ object has not been initialized yet. Also, you will probably not be able to do any kind of GUI or bitmap @@ -107,11 +122,32 @@ 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 their specific 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 +168,8 @@ number of IDs that are needed to be passed to Connect. + + The wx Namespace ---------------- @@ -377,6 +415,31 @@ Insert, Prepend, and etc.) methods any longer. Just use Add and the wrappers will figure out what to do. +PlatformInfo +------------ + +Added wx.PlatformInfo which is a tuple containing strings that +describe the platform and build options of wxPython. This lets you +know more about the build than just the __WXPORT__ value that +wx.Platform contains, such as if it is a GTK2 build. For example, +instead of:: + + if wx.Platform == "__WXGTK__": + ... + +you should do this:: + + if "__WXGTK__" in wx.PlatformInfo: + ... + +and you can specifically check for a wxGTK2 build by looking for +"gtk2" in wx.PlatformInfo. Unicode builds are also detectable this +way. If there are any other platform/toolkit/build flags that make +sense to add to this tuple please let me know. + +BTW, wx.Platform will probably be deprecated in the future. + + Other Stuff ----------- @@ -417,3 +480,5 @@ there are compatibility aliases for much of the above items. The wxWave class has been renamed to wxSound, and now has a slightly different API. + +