Recent Changes for wxPython
=====================================================================
+2.5.5.0
+-------
+
+wxMSW: Fixed bug #1022383, 'several ComboBoxes appear selected'
+
+wx.grid.Grid: Fixed bug #1163384. Moved the code that handles
+activating the cell editors to a EVT_CHAR event handler. This is done
+so the character inserted into the editor will be the "cooked" char
+value (including accented or composed keys) rather than the raw code
+provided by the EVT_KEY_DOWN event.
+
+Added orient parameter to wx.MDIParentFrame.Tile()
+
+wxMSW: wxTextCtrl with wx.TE_RICH2 style now uses RichEdit 4.1 if
+available.
+
+Added GetCount, GetCountRGB, and GetCountColour methods to
+wx.ImageHistogram.
+
+wxMSW: wx.Window.Refresh changed to explicitly refresh all children as
+well as the parent. Previously it was implicitly done because parents
+did not clip their children by default. Now that they always clip
+children then Refresh needed to be fixed to do a recursive refresh.
+This also fixes the Freeze/Thaw problems that some people had with
+2.5.4.1.
+
+wx.SplitterWindow: Send EVT_SPLITTER_SASH_POS_CHANGED only once after
+end of dragging and not after each CHANGING event (modified patch
+#1076226)
+
+wx.glcanvas.GLCanvas: applied patch fixing problems with X server
+crash when using nVidia cards (patch 1155132)
+
+wx.lib.mixins.listctrl: Patches from Toni Brkic:
+ * Bugfix for TextEditMixin when the view can't be scrolled
+ * Enhancement for ListCtrlAutoWidthMixin, allowing it to manage
+ the width of any column.
+
+wxMac: removal and reusing toolbar tools like the other platforms is
+now possible.
+
+wxMac: Correct radio tool selection after calling Realize a 2nd time.
+
+wxMSW: Applied patch #1166587, removes all flicker from wx.StaticBox
+
+Added wx.lib.foldpanelbar, Andrea Gavana's port of Jorgen Bodde's C++
+wxFoldPanelBar classes to Python.
+
+wxGTK: Applied patch #1173802, reimplementation of GtkFileChooser
+wxFileDialog by Mart Raudsepp. Note that this new file dialog is only
+used on GTK2 >= 2.4. For earlier GTK2 versions and GTK1 then the
+older generic file dialog is used.
+
+wxMSW: fixes to static box borders calculations (finalizes patch
+#1166587)
+
+wx.Image: Use Python's buffer interface API for all image data and
+alpha Set/Get methods and the ImageFromData* constructors. They all
+still copy the buffer except for SetDataBuffer and SetAlphaBuffer, but
+this gives more flexibility on where the data can come from.
+
+Added MDI support to XRC
+
+Added wx.animate module and a demo. The wx.animate module provides a
+control that is able to display an animated GIF file.
+
+wx.lib.plot.py: Applied patch from Werner F. Bruhin that allows either
+vertical and/or horizontal gridlines.
+
+wxMSW: Extra space given for top border of wx.StaticBoxSizer so the
+upper line is not cliped when there is no label.
+
+wxMSW: Restored old behaviour of wx.StaticBox.SetBackgroundColour only
+affecting the label.
+
+wxMSW: Fixed missing EVT_RIGHT_DOWN and EVT_TREE_ITEM_RIGHT_CLICK
+events in a wx.TreeCtrl.
+
+Added wx.GetTopLevelWindows() function which returns a copy of the
+list of top-level windows that currently exist in the application.
-2.5.4.0
+Updated docview library modules and sample apps from the ActiveGrid
+folks.
+
+Added the ActiveGrid IDE as a sample application.
+
+
+
+2.5.4.1
-------
wx.Sizer Add, Insert, and Prepend functions now return a reference to the
out-of-sync assert is generated when clicking on a radio button and
then calling GetValue().
-XRC:
+Some XRC changes:
- Added 'icon' property to wxFrame and wxDialog
- No longer ignores menu bitmaps on non-MSW platforms
- Notebook page bitmaps are now supported
OGL patch from Shane Holloway:
Two simple problems found in the new python ogl code. First is
- the patch for _canvas.py. Essentially:
+ the patch for _canvas.py. Essentially::
dx = abs(dc.LogicalToDeviceX(x - self._firstDragX))
dy = abs(dc.LogicalToDeviceY(y - self._firstDragY))
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
+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:
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.
+ID's. Then call `Realize` and the sizer will take care of the rest.
wxMSW Toolbar: pass correct tool id (and not always -1) to the
EVT_TOOL_RCLICKED handler
wxGTK: Applied patch #1100327 for correct feedback from DND actions
(not all actions are allowed).
-Fixed memory leak in wxGRID::UpdateAttr[Rows][Or][Cols] (patch 1104355)
+Fixed memory leak in wxGrid::UpdateAttr[Rows][Or][Cols] (patch 1104355)
For efficiency reasons, text controls no longer set the string for
each text updated event, but rather query for the string value only
make the generic wx.TreeCtrl (used on wxGTK and wxMac) be more
conistent with the wxMSW native wx.TreeCtrl.
-wxMac: wx.DC implemented using CoreGraphics
- ??? NEED MORE DETAILS HERE ???
-
XRCed:
* Edit->Locate command (Ctrl-L) for quick selection of items.
Works with event-handling controls (buttons, text fields) but
hardcoded size would misplace their labels behind the slider control.
wx.HtmlListBox fixed so calling RefreshLine(s) will cause the data for
-that line to be refetched from the derived class.
+that line to be refetched from the overridden methods in the derived
+class.
The default DoGetBestSize now includes the difference (if any) between
-the client size and total size of the window. Code that sets the
-client size using the best size, or that added extra space to sizers
-to compensate for this bug may need to be changed.
+the client size and total size of the window, (such as the size of
+borders.) Code that sets the client size using the best size, or that
+added extra space to sizers to compensate for this bug may need to be
+changed.
+
+Can suppress themed notebook pages with the wxNB_NOPAGETHEME style or
+setting system option msw.notebook.themed-background to 0.
+
+wxSyledTextCtrl updated to use Scintilla 1.62.
+
+Can now set the msw.window.no-clip-children system option to 1 to
+eliminate weird refresh behaviour (delays between a window being
+erased and repainted, giving a ghostly gradual-redraw effect). May be
+a temporary 'fix' until properly fixed before 2.6.
+
+wxMac: Toolbar is now more native looking with borderless toolbar
+buttons.
+
+wxMac: Switched wx.Bitmap to use newer Quartz object types and APIs
+internally. This results in faster display and better alpha support.
+
+Added wx.DatePickerCtrl.
+
+wx.html.HtmlWindow now supports background images.
+
+Added wx.lib.gestures module from Daniel Pozmanter which supports
+using Mouse Gestures in an application.
+
+wxGTK2: ENTER and LEAVE mouse events are now sent for multi-line text
+controls.
+
+wxMSW: "Alt" key (VK_MENU) now results in WXK_ALT keyboard event, not
+WXK_MENU
+
+Added modules from Peter Yared and Morgan Hua that implement the wx
+Doc/View framework in pure Python code. See wx.lib.docview for the
+base implementation and wx.lib.pydocview for Python-specific
+extensions. There are also a couple sample applications located in
+samples/docview.
+
+Added GetBitmap, GetIcon to wx.ImageList.
+
+wxGTK wx.Button.SetLabel no longer invalidates/resets the font.
+
+wx.Sizer.AddWindow, AddSizer, AddSpacer and etc. have now been
+undeprecated at the request of Riaan Booysen, the Boa Constructor team
+lead. Boa needs them to help keep track of what kind of item is being
+managed by the sizer. They are now just simple compatibility aliases
+for Add, and etc.
+
+The old C++ version of the OGL lib is no longer built by default. Use
+the Python version in the wx.lib.ogl package instead.
+
+The wx.iewin module is no longer built by default. You can use the
+wx.lib.iewin version instead.
+
+Fixed wx.BufferedPaintDC for scrolled windows to work whether the
+buffer is covering only the client area or the full virtual area of
+the scrolled window. By default it will assume that only the client
+area is covered. This is different than the old behavior so to
+indicate that the entire virtual area is covered simply add a
+style=wx.BUFFER_VIRTUAL_AREA parameter.
+
+wx.gizmos.TreeListCtrl: Add support for the EVT_TREE_ITEM_GETTOOLTIP
+event.
-Can suppress themed notebook page with wxNB_NOPAGETHEME or
-setting system option msw.notebook.themed-background to 0
+Added Resize, SetRGBRect, Size, and GetOrFindMaskColour methods to
+wx.Image.
+Added wx.Rect.IsEmpty
+wxGTK:
+ - Corrected wx.ListBox selection handling
+ - Corrected default button size handling for different themes
+ - Corrected splitter sash size and look for different themes
+ - Fixed keyboard input for dead-keys