Recent Changes for wxPython
=====================================================================
-2.5.2.0
+2.5.3.0
+-------
+
+wxMac focus and border refreshes corrected.
+
+Updated internal PNG library.
+
+wxMac fix for metal appearance on wx.ToolBar.
+
+wx.grid.Grid fix allowing DoGetBestSize to be called before CreateGrid
+(which means that a min size doesn't need to be specified.)
+
+wxMac fix for not sending a native click to a control if it is not
+enabled (does an enable itself)
+
+Added wx.lib.ogl.DrawnShape, and fixed various little bugs in the new
+OGL.
+
+Added support to XRC and XRCed for the 3-state checkbox flags and also
+for wx.ToggleButton. Updated the generic window styles supported by
+XRCed.
+
+It is now possible to create "stock" buttons. Basically this means
+that you only have to provide one of the stock IDs (and either an
+empty label or a label that matches the stock label) when creating the
+button and wxWidgets will choose the stock label to go with it
+automatically. Additionally on the platforms that have a native
+concept of a stock button (currently only GTK2) then the native stock
+button will be used. For example, the following will result in a
+button with "Cancel" as the label and an accelerator on the "C", and
+if run on wxGTK2 then there will also be an image of a red X::
+
+ b = wx.Button(parent, wx.ID_CANCEL)
+
+
+Added wx.lib.ticker.Ticker class from Chris Mellon.
+
+Fix some incorrect clipping regions in wxSTC on wxGTK.
+
+Added wrapper for wx.grid.Grid.GetOrCreateCellAttr.
+
+Removed my copy of distutils from the wxPython source tree. Now that
+I am no longer doing builds on Python 2.1 the newest distutils is no
+longer needed. (There is still one small bug in Python 2.2 distutils
+on win32, but it is easily worked around.) This sovles the problem of
+incorrect builds on some systems where the system installed distutils
+has been patched to behave slightly differently, for example SuSE on
+x86_64 or Chandler's build.
+
+Updated to SWIG 1.3.22 (plus my patch.) See wxPython/SWIG/README.txt
+in the source tree if you need to use SWIG when building your own copy
+of wxPython, or other extension modules that need to integrate with
+the wxPython modules.
+
+Added wx.Frame.RequestUserAttention which, if the platform suports it,
+will do something (such as flash the task bar item) to suggest to the
+user that they should look at that window.
+
+"Fixed" wx.grid.Grid.SetDefaultEditor and SetDefaultRenderer by making
+them register the editor or renderer for the "string" data type.
+
+Added depth param to wx.Image.ConvertToBitmap.
+
+Extended the wx.calendar.CalendarCtrl class with methods that get/set
+a Python datetime or date object. (These will only work with Python
+2.3+) The methods are PySetDate, PyGetDate, PySetLowerDateLimit,
+PySetUpperDateLimit, PySetDateRange, PyGetLowerDateLimit, and
+PyGetUpperDateLimit. Also, CalendarEvent was extended with PySetDate
+and PyGetDate methods.
+
+wxMSW: SetBackgroundColour on a wx.Choice or a wx.ComboBox will now
+also set the colour of the dropdown.
+
+wxMac: MessageDialog now supports wx.NO_DEFAULT style
+
+wxMSW: added AssociateHandle and DissociateHandle to wx.Window
+
+wxMac: fix for toolbar tooltips
+
+wx.Sizer.Show (and Hide) now take an optional parameter specifying if
+the item to be shown should be searched for recursivly in subsizers,
+and return a boolean value indicating if the item was found.
+
+wxMSW: fixed MaximizeEvent generation in wx.Frame
+
+wxMSW: fixed sending duplicate EVT_COMBOBOX events
+
+Smoother time estimation updates in wx.ProgressDialog (patch 992813)
+
+Made wx.Listbook events more consistent with wx.Notebook ones (patch
+1001271)
+
+Fixed rounding errors in variable status bar panes widths computation
+(patch 1030021)
+
+Added possibility to specify printer bin (patch 910272)
+
+wxMSW: fixed wx.ListCtrl's SetWindowStyleFlag() to not remove
+WS_VISIBLE; also refresh the control automatically (closes bug
+1019440)
+
+Added wx.Choicebook, yet another notebook-like control.
+
+wxMSW: Make radiobutton tab behaviour the same on MSW as in standard
+MSW app, i.e. tab into the activated, not necessarily the first radio
+button.
+
+Added limited support for wxEventLoop (you can't derive from a
+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.
+
+
+
+
+
+2.5.2.8
+-------
+
+Predominantly a bug-fix release.
+
+ * Fixed fatal error due to improper wrapping of wx.FSFile.
+
+ * Fixed return type of EditableListBox.GetListCtrl
+
+ * Give generic tree and list controls a DoGetBestSize so they play
+ nicer with sizers when there is no minimal size.
+
+ * Some tweaks in the demo and samples to correct layout, some
+ flicker problems, and namespace use.
+
+ * Add wx.Image.ConvertAlphaToMask
+
+ * Minor corrections in wx.lib.dialogs
+
+ * wx.FileHistory constructor now accepts the documented 2nd
+ parameter.
+
+ * Corrections for exceptions in the new ogl
+
+ * Fixed XRCed to not use reparenting of windows to implement caching
+ of property panels, since Reparent on wxMac is not implemented.
+
+ * Add support for wxTAB_TRAVERSAL to the XRC handler for
+ wxScrolledWindow.
+
+ * Add support for all wxListBox styles to the XRC handler for
+ wxCheckListBox.
+
+ * Fix for wx.Listbook.DeleteAllPages to really delete everything.
+
+ * wxGTK2 now supports alpha blended bitmap drawing
+
+ * Made wx.grid.Grid play nicer with sizers.
+
+ * etc.
+
+
+
+
+2.5.2.7
-------
wx.ADJUST_MINSIZE is now the default behaviour for window items in
flag was added that will cause the sizer to use the old behaviour in
that it will *not* call the window's methods to determine the new best
size, instead the minsize that the window had when added to the sizer
-(or the size the window was created with) will always be used.
-
-Related to the above, when controls and some other window types are
-created either the size passed to the constructor, or their "best
-size" if an explicit size was not passed in, is set as the window's
-minimal size. For non top-level windows that hasn't meant much in the
-past, but now the sizers are sensitive to the window's minimal size.
-The key point to understand here is that it is no longer the window's
-size it has when added to the sizer that matters, but its minimal
-size. So you might have some issues to iron out if you create a
-control without a size and then set its size to something before
-adding it to the sizer. Since it's minimal size is probably not the
-size you set then the sizer will appear to be misbehaving. The fix is
-to either set the size when calling the window's constructor, or to
-reset the min size by calling SetSizeHints. You can call SetSizeHints
-at anytime to change the minsize of a window, just call the sizer's
-Layout method to redistribute the controls as needed.
-
+(or the size the window was created with) will always be used. Please
+see the Sizers section in the Migration Guide for more details.
Added new MaskedEditControl code from Will Sadkin. The modules are
now locaed in their own sub-package, wx.lib.masked. Demos updated.
may be required for normal operation, but they can usually be set
after construction.
+Removed the deprecated ErrorDialogs and PythonBitmaps modules. If you
+were using these in your apps then please join wxPython-dev and assist
+with a more modern reimplementation.
+
+Added a new version (0.8.3) of FloatCanvas from Chris Barker. It's now
+in a subpackage of wx.lib.
+
+It is now possible to change the tab traversal order of controls on a
+panel or dialog. For details see the new MoveAfterInTabOrder and
+MoveBeforeInTabOrder methods of wx.Window.
+
+Applied (and heavily modified) a patch from Eugene
+<svip123@fastmail.fm> that allows the sample modules in the demo to be
+edited and reloaded, all from within the demo. You can switch back
+and forth between the default and your edited version, and any errors
+ocurring upon the reload are reported on the Demo tab.
+
+Added a menu item in the demo that will open a PyShell window that has
+the app and demo frame preloaded in the namespace. This is another
+good way to explore and play with the objects in the currently running
+sample. For example, load the Button sample and then do the following
+in the PyShell::
+
+ >>> b = frame.demoPage.GetChildren()[0]
+ >>> for x in range(0, 500, 10):
+ ... b.Move((x, 50))
+ ... app.Yield(True)
+ ... wx.MilliSleep(10)
+
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