I'm pleased to announce the 22.214.171.124 release of wxPython, now available for download at http://wxpython.org/download.php. This release consists mostly of bug fixes made since the 126.96.36.199 release a month ago.
wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a Python extension module that wraps the GUI components of the popular wxWidgets cross platform library, which is written in C++.
wxPython is a cross-platform toolkit. This means that the same program will usually run on multiple platforms without modifications. Currently supported platforms are 32-bit Microsoft Windows, most Linux or other Unix-like systems using GTK or GTK2, and Mac OS X.
Added wx.BrushFromBitmap to create a stippled brush in a single step. Also added missing brysh style flags: wx.STIPPLE_MASK wx.STIPPLE_MASK_OPAQUE.
wxMSW: Fix for default control colours when the system text fg colour is not black.
wxGTK: Patch #1171754, It is now possible to have a menu item that both has an icon and is a submenu.
wxMSW: Patch #1197009, better refreshes when windows are moved and resized.
wxMSW: Patch #1197468. Keeps track of pending size/position changes in case there is more than one adjustment for a window in a single DeferWindowPos set, then the pending values can be used for defaults instead of current values.
Fixed the typemap that converts a Python list of strings to a wxArrayString so it uses the wxPython default encoding.
Several docstrings added and updated. Lots more to go.
wxMac: Strings added to the clipboard or used in DnD no longer have an extra null character at the end.
Added wx.GetXDisplay that returns a raw swigified pointer for the X11 Display, or None for the non-X11 platforms.
wxMenu: Don't send an event when selecting an already selected radio item.
wxMSW: Fixed erroneous selection of content in wx.ComboBox when within a wx.StaticBox.
wxMSW: Fixed alpha blitting to take into account source position.
Ensure that Python is still in an initialized state before doing any locking or unlocking in wxPyBeginBlockThreads and wxPyEndBlockThreads as these can be triggered after Python has been finalized in embedding situations.
Added alternate constructors for wx.Font: wx.FontFromPixelSize, wx.FFont, wx.FFontFromPixelSize. See the docstrings or new api docs for details.
Added wx.lib.hyperlink from Andrea Gavana. It is a control like static text that acts like a hyper-link, launching the system's default browser in response to the clicks.
Added an optional parameter to wxversion.select that allows you to specify that the extra components specified in the version string are required. For example, if you ask for "2.6-unicode" but only the ansi version is installed then by default the ansi version will be selected as it considered close enough since the version numbers match. If you want to force the options to be required then you can just add a True parameter, like this::
import wxversion wxversion.select("2.6-unicode", True) import wx
Tweaked wx.lib.buttons such that flat buttons (e.g. have no bevel and a wx.BORDER_NONE style flag) paint themed backgrounds if there are transparent areas and the parent is displaying a theme.
wxMSW: Fix for wrong sash colour of wx.SplitterWindow in the silver theme on XP.
Added a wx.xrc.XmlResourceHandler for the Ticker class. See wx/lib/ticker_xrc.py
wxSTC: Fixed CmdKeyAssign key bindings for Ctrl-Backspace.
wxMSW: Fixed a bug in wx.TextCtrl where all the lines were being used to calculate the best size, instead of using a reasonable limit.
XRCed: Use wx.GetDefaultPyEncoding/wx.SetDefaultPyEncoding for changing active encoding. Fixed pasting siblings (Ctrl key pressed while pasting).
wx.lib.filebrowsebutton: Bug fix from Chad Netzer for when self.history is None.
wx.ogl: Patch from Davide Salomoni that adds an optional point parameter to LineShape.InsertLineControlPoint allowing one to optionally specify where the new control point has to be drawn.
wxMSW: setting foreground colour for wx.CheckBox now works when using XP themes.
More updates to the docview library modules and sample apps from the ActiveGrid folks. Their sample IDE is now able to integrate with Subversion.
wx.grid.Grid: Ensure that the grid gets the focus when it is left-clicked. Note that if you have custom widgets that handle the EVT_LEFT_DOWN event but do not call event.Skip() then you will probably want to add a call to self.SetFocus in the event handler.
wxGTK: Add wxSTAY_ON_TOP support [Patch 1206023]
wx.TreeCtrl: wx.EVT_TREE_ITEM_MENU event made consistent on all platforms. The location of the click or the item is included in the event as well.
wxGTK: Setting background colour of a window now only affects the window itself, not the borders, scrollbars, etc. (Bug #1204069)
Print framework: Add more paper sizes and code to fallback to an explicit paper size if a known paper size is not found for the printer.
wxMac: Applied patch for bug #1206181 Option-key decodes are wrong, also applied patch for bug #1205691 Modified Fn keys don't work.
wx.Image: Fixed to preserve alpha channel in Rotate90 method.
wxMSW: Fixed incorrect background colour on wx.CheckListBox.
wxMSW: Fixed drawing of owner drawn buttons with multiline labels
Removed a bunch of unnecessary files, and removed or replaced images that we're not sure of their origin or license.
The default DoGetBestSize is updated to not always return the current size if the window has no sizer, children, or minsize set. Instead the current size is set as the minsize. This solves the occasional problem where a sizer may cause a childless panel to grow but never shrink.
wxMSW: When converting a wx.Icon to a bitmap check if the icon has an alpha channel and set the bitmap to use it.
Fixed the wrong class name used in wx.PyScrolledWindow's call to _setCallbackInfo.
wxMSW: patch #1207202, Fixes GDI leak when using stock cursors.
wx.calendar.CalendarCtrl: Patch #1207531, Keeps the CalendarCtrl wide enough even when the weekday names for the locale are shorter than usual.
Made GridCellNumberEditor.StartingKey also insert the typed char when there is a range of allowed values (so a wx.SpinCtrl is used instead of a wx.TextCtrl.)
-- Robin Dunn Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython!