+<h1><a name="id1">2.6.0.1</a></h1>
+<p>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.</p>
+<p>wxMSW: Fix for controls when the system text fg colour is not black.</p>
+<p>wxGTK: Patch #1171754, It is now possible to have a menu item that
+both has an icon and is a submenu.</p>
+<p>wxMSW: Patch #1197009, better refreshes when windows are moved and
+resized.</p>
+<p>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.</p>
+<p>Fixed the typemap that converts a Python list of strings to a
+wxArrayString so it uses the wxPy default encoding.</p>
+<p>Several docstrings added and updated. Lots more to go.</p>
+</div>
+<div class="section" id="id2">
+<h1><a name="id2">2.6.0.0</a></h1>
+<ul class="simple">
+<li>26-Apr-2005</li>
+</ul>
+<p>wxMSW: Fixed wx.TransientPopupWindow (and therefore wx.TipWindow) to
+auto-dismiss when the mouse is clicked outside of the popup like it is
+supposed to.</p>
+<p>wxMSW: Fixed bug #1167891 wx.Notebook display problem with wx.NB_MULTILINE.</p>
+<p>wxMSW: Fixed bad cliping of hidden windows inside of wx.StaticBox.</p>
+<p>wxGTK: The configure flags for selecting GTK+ 1.2.x or 2.x has
+changed slightly. It is now --with-gtk[=VERSION] where VERSION is
+either '1', '2' or 'any'. The default is '2'.</p>
+<p>wx.stc.StyledTextCtrl: Added the following methods for alternate ways
+to set and fetch text from the document buffer. They work similarly
+to the existing methods of the same name, except that they don't go
+through the same string/unicode <--> wxString conversions. The "Raw"
+methods will do no conversions at all and in a unicode build of
+wxPython the strings will be in the utf-8 encoding and in an ansi
+build no assumption is made about the encoding. The "UTF8" functions
+will attempt to always get/set utf-8 text, which it will always be
+able to do in a unicode build, and in an ansi build it will depend on
+the content of the utf-8 used being compatible with the current
+encoding, (you'll get an exception otherwise.)</p>
+<blockquote>
+<table border="1" class="docutils">
+<colgroup>
+<col width="49%" />
+<col width="51%" />
+</colgroup>
+<tbody valign="top">
+<tr><td>AddTextRaw</td>
+<td>AddTextUTF8</td>
+</tr>
+<tr><td>InsertTextRaw</td>
+<td>InsertTextUTF8</td>
+</tr>
+<tr><td>GetCurLineRaw</td>
+<td>GetCurLineUTF8</td>
+</tr>
+<tr><td>GetLineRaw</td>
+<td>GetLineUTF8</td>
+</tr>
+<tr><td>GetSelectedTextRaw</td>
+<td>GetSelectedTextUTF8</td>
+</tr>
+<tr><td>GetTextRangeRaw</td>
+<td>GetTextRangeUTF8</td>
+</tr>
+<tr><td>SetTextRaw</td>
+<td>SetTextUTF8</td>
+</tr>
+<tr><td>GetTextRaw</td>
+<td>GetTextUTF8</td>
+</tr>
+<tr><td>AppendTextRaw</td>
+<td>AppendTextUTF8</td>
+</tr>
+</tbody>
+</table>
+</blockquote>
+<p>wx.stc.StyledTextCtrl: Added the StyleSetFontEncoding(style, enc)
+method that allows you to set the encoding to be used by the font for
+a particular style.</p>
+<p>wxMac: Fixed wx.ComboBox to forward the EVT_CHAR, EVT_KEY_DOWN,
+EVT_KEY_UP and EVT_TEXT events from its embedded text control.</p>
+<p>wxMac: Corrected refresh bugs in wxGrid.</p>
+<dl class="docutils">
+<dt>XRCed: Updated to version 0.1.5.</dt>
+<dd><ul class="first last simple">
+<li>Added wxWizard, wxWizardPageSimple (only from pull-down menu).</li>
+<li>Hide command for test window.</li>
+<li>Replacing classes works better.</li>
+<li>Added Locate tool.</li>
+</ul>
+</dd>
+</dl>
+</div>
+<div class="section" id="id3">
+<h1><a name="id3">2.5.5.1</a></h1>
+<ul class="simple">
+<li>8-Apr-2005</li>
+</ul>
+<p>wxMSW: Fixed bug #1022383, 'several ComboBoxes appear selected'</p>
+<p>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.</p>
+<p>Added orient parameter to wx.MDIParentFrame.Tile()</p>
+<p>wxMSW: wxTextCtrl with wx.TE_RICH2 style now uses RichEdit 4.1 if
+available.</p>
+<p>Added GetCount, GetCountRGB, and GetCountColour methods to
+wx.ImageHistogram.</p>
+<p>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.</p>
+<p>wx.SplitterWindow: Send EVT_SPLITTER_SASH_POS_CHANGED only once after
+end of dragging and not after each CHANGING event (modified patch
+#1076226)</p>
+<p>wx.glcanvas.GLCanvas: applied patch fixing problems with X server
+crash when using nVidia cards (patch 1155132)</p>
+<dl class="docutils">
+<dt>wx.lib.mixins.listctrl: Patches from Toni Brkic:</dt>
+<dd><ul class="first last simple">
+<li>Bugfix for TextEditMixin when the view can't be scrolled</li>
+<li>Enhancement for ListCtrlAutoWidthMixin, allowing it to manage
+the width of any column.</li>
+</ul>
+</dd>
+</dl>
+<p>wxMac: removal and reusing toolbar tools like the other platforms is
+now possible.</p>
+<p>wxMac: Correct radio tool selection after calling Realize a 2nd time.</p>
+<p>wxMSW: Applied patch #1166587, removes all flicker from wx.StaticBox</p>
+<p>Added wx.lib.foldpanelbar, Andrea Gavana's port of Jorgen Bodde's C++
+wxFoldPanelBar classes to Python.</p>
+<p>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.</p>
+<p>wxMSW: fixes to static box borders calculations (finalizes patch
+#1166587)</p>
+<p>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.</p>
+<p>Added MDI support to XRC</p>
+<p>Added wx.animate module and a demo. The wx.animate module provides a
+control that is able to display an animated GIF file.</p>
+<p>wx.lib.plot.py: Applied patch from Werner F. Bruhin that allows either
+vertical and/or horizontal gridlines.</p>
+<p>wxMSW: Extra space given for top border of wx.StaticBoxSizer so the
+upper line is not cliped when there is no label.</p>
+<p>wxMSW: Restored old behaviour of wx.StaticBox.SetBackgroundColour only
+affecting the label.</p>
+<p>wxMSW: Fixed missing EVT_RIGHT_DOWN and EVT_TREE_ITEM_RIGHT_CLICK
+events in a wx.TreeCtrl.</p>
+<p>Added wx.GetTopLevelWindows() function which returns a copy of the
+list of top-level windows that currently exist in the application.</p>
+<p>Updated docview library modules and sample apps from the ActiveGrid
+folks.</p>
+<p>Added the ActiveGrid IDE as a sample application.</p>
+</div>
+<div class="section" id="id4">
+<h1><a name="id4">2.5.4.1</a></h1>
+<ul class="simple">
+<li>16-Mar-2005</li>
+</ul>
+<p>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.</p>
+<p>Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given
+wx.Window, wx.Sizer or position index.</p>
+<p>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().</p>
+<dl class="docutils">
+<dt>Some XRC changes:</dt>
+<dd><ul class="first last simple">
+<li>Added 'icon' property to wxFrame and wxDialog</li>
+<li>No longer ignores menu bitmaps on non-MSW platforms</li>
+<li>Notebook page bitmaps are now supported</li>
+<li>added system colours and fonts support (based on patch #1038207)</li>
+</ul>
+</dd>
+</dl>
+<p>wxMSW: fix for [ 1052989 ] TextCtrl.SetBackgroundColour(wx.NullColour)
+bug.</p>
+<p>Added wx.PasswordEntryDialog analagous to wx.TextEntryDialog, allows
+detecting entering an empty string vs. cancel unlike the
+wx.GetPasswordFromUser dialog function.</p>
+<p>OGL patch from Shane Holloway:</p>
+<blockquote>
+<p>Two simple problems found in the new python ogl code. First is
+the patch for _canvas.py. Essentially:</p>
+<pre class="literal-block">
+dx = abs(dc.LogicalToDeviceX(x - self._firstDragX))
+dy = abs(dc.LogicalToDeviceY(y - self._firstDragY))
+</pre>
+<p>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.</p>
+<p>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. ;)</p>
+</blockquote>
+<p>Fixed GetSaveData and SetSaveData in wx.lib.multisash to not depend on
+the default way that class objectss are converted to strings.</p>
+<p>Fixed problem in StyledTextCtrl.Set[HV]ScrollBar that could leave the
+internal scrollbar visible.</p>
+<p>Added wx.StandardPaths which provides methods for determining standard
+system paths for each platform.</p>
+<p>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.</p>
+<p>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.</p>
+<p>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...</p>
+<p>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.</p>
+<p>wxGTK: Patch applied for Freeze()/Thaw() for wxTextCtrtl.</p>
+<p>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.</p>
+<p>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.</p>
+<p>wxMSW: Fix wx.TreeCtrl to end label editing if the control loses
+focus (a slightly modified patch 1084592.)</p>
+<p>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.</p>
+<p>wxMSW: Much work to correct painting (or leaving transparent) of
+control backgrounds, properly using background themes on XP, etc.</p>
+<p>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.</p>
+<p>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:</p>
+<blockquote>
+<ul class="simple">
+<li>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.</li>
+<li>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 for those items.</li>
+<li>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().</li>
+</ul>
+</blockquote>
+<p>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 <cite>locale.getdefaultlocale()[1]</cite> when wxPython is first
+imported. Please see <a class="reference" href="http://www.alanwood.net/demos/charsetdiffs.html">http://www.alanwood.net/demos/charsetdiffs.html</a>
+for information on the differences between the common latin/roman
+encodings.</p>
+<p>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 <cite>wx.Button</cite>
+to the sizer, and be sure to create the buttons using the standard
+ID's. Then call <cite>Realize</cite> and the sizer will take care of the rest.</p>
+<p>wxMSW Toolbar: pass correct tool id (and not always -1) to the
+EVT_TOOL_RCLICKED handler</p>
+<p>wxGTK: Applied patch for combo box SELECTED events (no longer get
+lots of surplus events)</p>
+<p>wxGTK: Applied patch for proper menu highlight colour detection in
+wx.SystemSettings.</p>
+<p>wxGTK: Commited scrollbar patch #1093339 which sends lineup, linedown
+events based on intercepting the mouse down events.</p>
+<p>wxGTK: Applied patch #1102789 which solved conflicts between wxWidgets
+and GTK+'s context menu code.</p>
+<p>wxGTK: Applied patch #1100327 for correct feedback from DND actions
+(not all actions are allowed).</p>
+<p>Fixed memory leak in wxGrid::UpdateAttr[Rows][Or][Cols] (patch 1104355)</p>
+<p>For efficiency reasons, text controls no longer set the string for
+each text updated event, but rather query for the string value only
+when GetString is called from an event handler.</p>
+<p>Added wx.SL_INVERSE style which will cause wx.Slider to invert the min
+and max ends of the slider.</p>
+<p>Several patches applied, such as #1111174, #1110252 and others, that
+make the generic wx.TreeCtrl (used on wxGTK and wxMac) be more
+conistent with the wxMSW native wx.TreeCtrl.</p>
+<dl class="docutils">
+<dt>XRCed:</dt>
+<dd><ul class="first last simple">
+<li>Edit->Locate command (Ctrl-L) for quick selection of items.
+Works with event-handling controls (buttons, text fields) but
+not with labels/sizers.</li>
+<li>Some improvements: relative paths for files supplied as command-
+line argument work correctly, notebook panels are highlighted
+better.</li>
+</ul>
+</dd>
+</dl>
+<p>wxMac: Fixed a long-standing issue where wxSlider controls with a
+hardcoded size would misplace their labels behind the slider control.</p>
+<p>wx.HtmlListBox fixed so calling RefreshLine(s) will cause the data for
+that line to be refetched from the overridden methods in the derived
+class.</p>
+<p>The default DoGetBestSize now includes the difference (if any) between
+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.</p>
+<p>Can suppress themed notebook pages with the wxNB_NOPAGETHEME style or
+setting system option msw.notebook.themed-background to 0.</p>
+<p>wxSyledTextCtrl updated to use Scintilla 1.62.</p>
+<p>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.</p>
+<p>wxMac: Toolbar is now more native looking with borderless toolbar
+buttons.</p>
+<p>wxMac: Switched wx.Bitmap to use newer Quartz object types and APIs
+internally. This results in faster display and better alpha support.</p>
+<p>Added wx.DatePickerCtrl.</p>
+<p>wx.html.HtmlWindow now supports background images.</p>
+<p>Added wx.lib.gestures module from Daniel Pozmanter which supports
+using Mouse Gestures in an application.</p>
+<p>wxGTK2: ENTER and LEAVE mouse events are now sent for multi-line text
+controls.</p>
+<p>wxMSW: "Alt" key (VK_MENU) now results in WXK_ALT keyboard event, not
+WXK_MENU</p>
+<p>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.</p>
+<p>Added GetBitmap, GetIcon to wx.ImageList.</p>
+<p>wxGTK wx.Button.SetLabel no longer invalidates/resets the font.</p>
+<p>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.</p>
+<p>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.</p>
+<p>The wx.iewin module is no longer built by default. You can use the
+wx.lib.iewin version instead.</p>
+<p>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.</p>
+<p>wx.gizmos.TreeListCtrl: Add support for the EVT_TREE_ITEM_GETTOOLTIP
+event.</p>
+<p>Added Resize, SetRGBRect, Size, and GetOrFindMaskColour methods to
+wx.Image.</p>
+<p>Added wx.Rect.IsEmpty</p>
+<dl class="docutils">
+<dt>wxGTK:</dt>
+<dd><ul class="first last simple">
+<li>Corrected wx.ListBox selection handling</li>
+<li>Corrected default button size handling for different themes</li>
+<li>Corrected splitter sash size and look for different themes</li>
+<li>Fixed keyboard input for dead-keys</li>
+</ul>
+</dd>
+</dl>
+</div>
+<div class="section" id="id5">
+<h1><a name="id5">2.5.3.1</a></h1>
+<ul class="simple">
+<li>9-Nov-2004</li>
+</ul>