Recent Changes for wxPython
=====================================================================
-2.5.2.9
+
+2.5.3.3
+-------
+
+wx.Sizer Add, Insert, and Prepend functions now return a reference to the
+wx.SizerItem that was added to the sizer, and the wx.SizerItem has a
+GetRect accessor to give the position of the item on the parent window.
+
+Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given
+wx.Window, wx.Sizer or position index.
+
+wxMSW: wx.RadioButtons in the same group no longer have to be
+consecutive (there may be intervening controls). Without this fix, an
+out-of-sync assert is generated when clicking on a radio button and
+then calling GetValue().
+
+XRC:
+ - Added 'icon' property to wxFrame and wxDialog
+ - No longer ignores menu bitmaps on non-MSW platforms
+ - Notebook page bitmaps are now supported
+ - added system colours and fonts support (based on patch #1038207)
+
+wxMSW: fix for [ 1052989 ] TextCtrl.SetBackgroundColour(wx.NullColour)
+bug.
+
+Added wx.PasswordEntryDialog analagous to wx.TextEntryDialog, allows
+detecting entering an empty string vs. cancel unlike the
+wx.GetPasswordFromUser dialog function.
+
+OGL patch from Shane Holloway:
+
+ Two simple problems found in the new python ogl code. First is
+ the patch for _canvas.py. Essentially:
+
+ dx = abs(dc.LogicalToDeviceX(x - self._firstDragX))
+ dy = abs(dc.LogicalToDeviceY(y - self._firstDragY))
+
+ was incorrect because (x,y) and (self._firstDragX,
+ self._firstDragY) are both already in Logical coordinates.
+ Therefore the difference between the two is also in logical
+ coordinates, and the conversion call is an error. This bug
+ surfaces when you have OGL on a scrollwin, and you are far from
+ the origin of the canvas.
+
+ The second change in _composit.py basically removes the assumption
+ that the child is in both self._children and self._divisions.
+ Causes many problems when it's not. ;)
+
+Fixed GetSaveData and SetSaveData in wx.lib.multisash to not depend on
+the default way that class objectss are converted to strings.
+
+Fixed problem in StyledTextCtrl.Set[HV]ScrollBar that could leave the
+internal scrollbar visible.
+
+Added wx.StandardPaths which provides methods for determining standard
+system paths for each platform.
+
+wxMSW: The window background is now only erased by default if the
+background colour or background mode has been changed. This better
+allows the default system themed behaviour to show through for
+uncustomized windows. Explicit support added for using the correct
+theme texture for wx.Notebook pages and their children.
+
+wx.Image: Added support for alpha channels in interpolated and
+non-interpolated image rotation. Added ConvertAlphaToMask helper
+method for turning shades of grey into shades of alpha and a colour.
+
+wxGTK2: Reimplemented DoDrawRotatedText() by way of a rotation of an
+alpha blended text bitmap. It would be better if Pango could draw
+directly into an wxImage (as FreeType can,) but that is for later...
+
+Added wrappers and a demo for the wx.MediaCtrl class, which can play
+various forms of audio/video media using native codecs install on the
+system. So far it is only implemented for Windows and OSX.
+
+wxGTK: Patch applied for Freeze()/Thaw() for wxTextCtrtl.
+
+Added "gravity" for splitter window (patch 1046105). Gravity is a
+floating-point factor between 0.0 and 1.0 which controls position of
+sash while resizing the wx.SplitterWindow. The gravity specifies
+how much the left/top window will grow while resizing.
+
+wxMSW: wx.Slider's C++ implementation rewritten to be more
+maintainable and hopefully less buggy. The position of the labels has
+also been changed in order to better comply with Microsoft's examples
+of how to use the control.
+
+wxMSW: Fix wx.TreeCtrl to end label editing if the control loses
+focus (a slightly modified patch 1084592.)
+
+Added wx.EXEC_NODISABLE flag for wx.Execute, which will prevent all
+the app's windows being disabled while a synchronous child process is
+running.
+
+wxMSW: Much work to correct painting (or leaving transparent) of
+control backgrounds, properly using background themes on XP, etc.
+
+Fixed a circular reference problem with wx.Timer. It will now
+completely cleanup after itself when the last reference to the timer
+is removed. If you were previously using timer.Destroy() to cleanup
+your timers it will no longer work. Instead you should hold a
+reference to the timer and then del the reference when you are
+finished with the timer.
+
+Updated to 1.3.24 of SWIG. All of my big patches have been applied to
+the main SWIG source tree, but unfortunatly there were also some bugs
+added that affected the wxPython build and a few details in my
+original patch were changed/removed, so we are still not free of
+patches. A new patch for SWIG is located in the wxPython/SWIG
+directory of the wxPython source tree. SWIG 1.3.24 plus this patch
+should be used by anyone who is making custom modifications to
+wxPython's *.i files, or building their own extension modules or
+etc. that need to interact with the wxPython swigged types. For the
+morbidly curious, here are a few more details:
+
+ * Since it is now possible easily and simply share the SWIG type
+ tables across modules I reverted to always using the stock SWIG
+ runtime instead of my slightly hacked up version of it exported
+ via the wxPython C API.
+
+ * The %name directive is now deprecated so I replaced most uses of
+ it with a custom %Rename macro that uses %rename internally.
+ These will evetually need to be replaced with a DocDecl macro
+ when docstrings are added.
+
+ * The "this" attribute of all SWIGged classes is no longer a
+ string containing a "swigified pointer", but rather a custom
+ built-in type that holds the real C pointer to the object and
+ the type info. It can be converted to a string like the old
+ value using str() or to the long integer value of the pointer
+ using long().
+
+Added SetDefaultPyEncoding and GetDefaultPyEncoding functions which
+will set/get the encoding used by wxPython to convert string or
+unicode objects to/from wxString objects. Previously the default
+Python encoding was always used, but unless the user had tweaked their
+sitecustomize.py file it is always "ascii", which would result in
+errors if the strings contained character codes >= 128.
+SetDefaultPyEncoding will now allow you to control which encoding will
+be used to do those conversions. The default encoding is set to the
+value of `locale.getdefaultlocale()[1]` when wxPython is first
+imported. Please see http://www.alanwood.net/demos/charsetdiffs.html
+for information on the differences between the common latin/roman
+encodings.
+
+Added wxStdDialogButtonSizer, which is a a special sizer that knows
+how to order and position standard buttons in order to conform to the
+current platform's standards. You simply need to add each `wx.Button`
+to the sizer, and be sure to create the buttons using the standard
+ID's. Then call `Finalize` and the sizer will take care of the rest.
+
+
+
+
+
+2.5.3.1
-------
wxMac focus and border refreshes corrected.
wx.PyEventLoop version yet...) Updated and moved the sample showing
how to replace the MainLoop to samples/mainloop/mainloop.py.
+The C++ xrc lib has been moved out of contrib and into the core, so it
+is always built by default. wxPython's build has also changed
+accordingly and will build the xrc module as part of the core set of
+modules built by default. If you were axplicitly using BUILD_XRC then
+it will no longer be recognized as a build option, otherwise you
+should notice no difference.
+
+wxMac: Fixed radio toolbar buttons to correctly untoggle the others
+when a new one is selected.
+
+wxMac: Fixed GetLineLength and GetLineText for MLTE text controls
+
+wxMac: wx.TaskBarIcon is implemented by allowing you to change the
+app's icon on the Dock and also specifying a menu that should be
+merged with the normal dock popup menu. See the MigrationGuide for
+more details and a warning.
+
+Added wx.TopLevelWindow.IsActive() which tells you if the frame or
+dialog is or containts the active window with the keyboard focus.
+
+Added ability to create a font based on pixel size rather than point
+size via the FontFromPixelSize constructor.
+
+Updated the Scintilla used by StyledTextCtrl to version 1.61
+
+Improved image HitTest for TreeListCtrl.
+
+Added wx.App.IsMainLoopRunning.
+
+wxGTK: Make wxComboBox spit out a bit fewer surplus events when
+holding down the mouse button.
+
+wxGTK: Enable key based navigation through notebook tabs as in the
+native control with Left and right keys. Support for vetoing.
+
+FloatCanvas updates from Chris Barker
+
+PyPlot updates from Gordon Williams:
+ - Added bar graph demo
+ - Modified line end shape from round to square.
+ - Removed FloatDCWrapper for conversion to ints and ints in
+ arguments
+ - Imported modules given leading underscore to name.
+ - Added Cursor Line Tracking and User Point Labels.
+ - Demo for Cursor Line Tracking and Point Labels.
+ - Size of plot preview frame adjusted to show page better.
+ - Added helper functions PositionUserToScreen and
+ PositionScreenToUser in PlotCanvas.
+ - Added functions GetClosestPoints (all curves) and GetClosestPoint
+ (only closest curve) can be in either user coords or screen
+ coords.
+
+MaskedEdit updates from Will Sadkin:
+ - Added '*' mask char that means "all ansii chars" (ords 32-255)
+ - Added proper unicode support to masked controls and wx.tools.dbg
+ - Fixed two reported missing import bugs introduced by package
+ creation
+ - Converted masked package doc strings to reST format for better
+ epydoc support
+ - lots of doc string improvements and function hiding to better
+ reflect package's public contents.
+
+Restructured the installer packages slightly to help facilitate having
+multiple versions of wxPython installed at the same time. See the
+Migrarion Guide for more information.
+
+Applied patch from Pim Van Heuven that modifies 4 files:
+ - wxPython/demo/ListCtrl_edit.py (new demo)
+ - wxPython/demo/Main.py (include new demo in demo app)
+ - wxPython/wx/lib/mixins/listctrl.py (several improvements to
+ TextEditMixin)
+ - wxPython/wx/lib/wxpTag.py (some small fixes)
+
+Added (thanks to Kevin Ollivier!) wrappers for wx.WebKitCtrl for the
+OSX build. Other platforms will raise an exception if you try to use
+it.
+
+wxPython on OSX can now be built in Unicode mode, can support multiple
+version installs, and comes with an uninstaller script.
+
+
Added wxWindow.GetHandle
-Apparently wxMouseEvent.Position has been depreciated in wxWindows as
+Apparently wxMouseEvent.Position has been deprecated in wxWindows as
it is no longer available by default. You can use GetPositionTuple
(returning a tuple with x,y) instead, or GetPosition (returning a
wxPoint.)
Wrapped the wxHtmlHelpController and related classes.
Wrapped the C++ versions of wxSizer and friends. The Python-only
-versions are still in the library, but depreciated. (You will get a
+versions are still in the library, but deprecated. (You will get a
warning message if you try to use them, but the warning can be
disabled.) The usage of the C++ versions is slightly different, and
the functionality of wxBorderSizer is now part of wxBoxSizer. I have
Added wxSystemSettings static methods as functions with names like
wxSystemSettings_GetSystemColour.
-Removed wxPyMenu since using menu callbacks have been depreciated in
+Removed wxPyMenu since using menu callbacks have been deprecated in
wxWindows. Use wxMenu and events instead.
Added alternate wxBitmap constructor (for MSW only) as
-
What's new in 2.1b1
--------------------
Fixed wxComboBox.SetSelection so that it actually sets the selected