+<h1><a name="id1">2.6.2.1</a></h1>
+<ul class="simple">
+<li>10-Jan-2006</li>
+</ul>
+<p>wxMSW: Fix for bug #1211907, popup menu indenting inconsistent with
+bitmaps.</p>
+<p>wxMac: Don't send an event for wx.RadioButton deselections, just the
+selections. This was done to make it consistent with the other
+platforms.</p>
+<p>wxMSW: Always set flat toolbar style, even under XP with themes: this
+is necessary or separators aren't shown at all.</p>
+<p>Fixes for bug #1217872, pydocview.DocService not correctly initialized.</p>
+<p>Fix for bug #1217874, Error in parameter name in DocManager.CreateView.</p>
+<p>Added wrappers for the wx.RendererNative class.</p>
+<p>Added the wx.lib.splitter module, which contains the
+MultiSplitterWindow class. This class is much like the standard
+wx.SplitterWindow class, except it allows more than one split, so it
+can manage more than two child windows.</p>
+<p>Docview and IDE patch from Morgan Hua with fix for bug #1217890
+"Closing view crashes Python" plus some new features:</p>
+<pre class="literal-block">
+New feature added to the IDE is 'Extensions'. Under
+Tools|Options|Extensions, you can add calls to external programs.
+For example you can add a "Notepad" extension (under windows) that
+will exec Notepad on the currently open file. A new "Notepad"
+menu item will appear under the Tools menu.
+</pre>
+<p>Some fixes to XRCed to make encoding errors a bit more user friendly.</p>
+<p>XRCed changes from Roman Rolinsky:</p>
+<blockquote>
+<ul class="simple">
+<li>Added new controls (Choicebook, Listbook, StatusBar,
+DatePicker), and completed style flags. Test window is opened
+for an available parent control if no specific view
+defined. Better handling of exceptions (highlighting does not
+'stick' anymore).</li>
+<li>Use system clipboard for Copy/Paste.</li>
+<li>Improved some dialogs (window styles, growable cols). Changed
+the range for wxSpinCtrl min/max to all integers (default 0/100
+is not always good).</li>
+</ul>
+</blockquote>
+<p>Updates for wx.lib.foldpanelbar and wx.lib.hyperlink from Andrea
+Gavana.</p>
+<p>Fix for Bug #1283496: wxPython TheClipboard class causes problems for
+pychecker. Ensure the app has been created before initializing
+wx.TheClipboard.</p>
+<p>Fix for Bug #1352602: FileBrowseButtonWithHistory can't type in Value.</p>
+<p>wxHTML: Added space after list item number.</p>
+<p>wx.lib.printout: Applied patch #1384440.</p>
+<p>wxMSW: Fix for Bug #1293225 Window_FromHWND crashes if parent is
+None.</p>
+<p>Fix for Bug #1261669, use a wx.TE_RICH2 style for the Process demo so
+it doesn't fill up too soon.</p>
+<p>Applied Patch #1354389: wxPython MenuItem SetBitmaps fix.</p>
+<p>Applied Patch #1239456: wxPython wx.DataObject.GetAllFormats fix.</p>
+<p>Applied Patch # #1230107 which allows image handlers to be written in
+Python by deriving from wx.PyImageHandler.</p>
+<p>Applied patch #1072210: generalize printout.py to allow text printing.</p>
+<p>Applied patch #1243907: Give Throbber much more flexibility by
+allowing the user to set the rest image, the direction, the current
+index, custom sequence. Allows user to manually step through the
+sequence with Next(), Previous(), Increment(), Decrement() &
+SetCurrent(). Very handy if you have multiple throbbers that you want
+to synchronize with a single timer.</p>
+<p>Fix for bug #1336711: wx.lib.calendar.CalenDlg can yield incorrect
+result.</p>
+<p>Applied patch from Morgan Hua for updates to ActiveGrid code
+(pydocview, ActiveGrid IDE, etc.)</p>
+<p>Applied patch #1326241: Supporting "setup.py install --install-headers=path"</p>
+<p>Applied patch from Morgan Hua to fix bug #1219423: CommandManager
+should not repeat old commands after a branch.</p>
+<p>Applied patch #1238825 adding search backward capabilities to the
+demo. Modified to use the up/down options in the wx.FindReplaceDialog
+instead of a separate menu item.</p>
+<p>Fix for bug #1266745 and #1387725 in the wx.FindReplaceDialog on MSW.
+Actually check we are using MSLU before doing the hack designed to
+workaround a bug in MSLU!</p>
+<p>wxMSW: wx.lib.iewin.IEHtmlWindow now properly handles tabbing, return
+and other special keys properly.</p>
+<p>Lots of PyCrust enhancments started by Franz Steinaeusler, Adi Sieker,
+and Sebastian Haase, and which in turn were further enhanced, fixed
+tweaked and finished up by me. The changes include the following:</p>
+<blockquote>
+<ul class="simple">
+<li>The Autocomplete and Calltip windows can now be opened manually
+with Ctrl-Space and Ctrl-Shift-Space.</li>
+<li>In the stand alone PyCrust app the various option settings,
+window size and position, and etc. are saved and restored at the
+next run.</li>
+<li>Added a help dialog bound to the F1 key that shows the key
+bindings.</li>
+<li>Added a new text completion function that suggests words from
+the history. Bound to Shift-Return.</li>
+<li>F11 will toggle the maximized state of the frame.</li>
+<li>switched to Bind() from wx.EVT_*().</li>
+<li>Display of line numbers can be toggled.</li>
+<li>F12 toggles a "free edit" mode of the shell buffer. This mode
+is useful, for example, if you would like to remove some output
+or errors or etc. from the buffer before doing a copy/paste.
+The free edit mode is designated by the use of a red,
+non-flashing caret.</li>
+<li>Ctrl-Shift-F will fold/unfold (hide/show) the selected lines.</li>
+<li>General code cleanup and fixes.</li>
+<li>Use wx.StandardPaths to determine the location of the config
+files.</li>
+<li>Use wx.SP_LIVE_UPDATE on crust and filling windows.</li>
+<li>Extended the saving of the config info and other new features to
+the PyShell app too. Additionally, other apps that embed a
+PyCrust or a PyShell can pass their own wx.Config object and
+have the Py code save/restore its settings to/from there.</li>
+<li>All of the classes with config info get an opportunity to
+save/load their own settings instead of putting all the
+save/load code in one place that then has to reach all over the
+place to do anything.</li>
+<li>Enable editing of the startup python code, which will either be
+the file pointed to by PYTHONSTARTUP or a file in the config dir
+if PYTHONSTARTUP is not set in the environment.</li>
+<li>Added an option to skip the running of the startup code when
+PyShell or PyCrust starts.</li>
+<li>PyCrust adds a pp(item) function to the shell's namespace that
+pretty prints the item in the Display tab of the notebook.
+Added code to raise that tab when pp() is called.</li>
+<li>Added an option for whether to insert text for function
+parameters when popping up the call tip.</li>
+<li>Added Find and Find-Next functions that use the
+wx.FindReplaceDialog.</li>
+</ul>
+</blockquote>
+<p>Applied patches from Will Sadkin for wx.lib.masked modules:</p>
+<blockquote>
+<ul class="simple">
+<li>Now ignores kill focus events when being destroyed.</li>
+<li>Added missing call to set insertion point on changing fields.</li>
+<li>Modified SetKeyHandler() to accept None as means of removing
+one.</li>
+<li>Fixed keyhandler processing for group and decimal character
+changes.</li>
+<li>Fixed a problem that prevented input into the integer digit of a
+integerwidth=1 numctrl, if the current value was 0.</li>
+<li>Fixed logic involving processing of "_signOk" flag, to remove
+default sign key handlers if false, so that
+SetAllowNegative(False) in the NumCtrl works properly.</li>
+<li>Fixed selection logic for numeric controls so that if
+selectOnFieldEntry is true, and the integer portion of an
+integer format control is selected and the sign position is
+selected, the sign keys will always result in a negative value,
+rather than toggling the previous sign.</li>
+</ul>
+</blockquote>
+<p>wx.FontMapper.SetConfig is deprecated. You should instead just set an
+application-wide config object with wx.Config.Set, which wx.FontMapper
+will use by default.</p>
+<p>Added wx.GetMouseState which returns the current state of the mouse.
+It returns an instance of a wx.MouseState object that contains the
+current position of the mouse pointer in screen coordinants, as well
+as boolean values indicating the up/down status of the mouse buttons
+and the modifier keys.</p>
+<p>Added wx.SizerItem.SetUserData</p>
+<p>A variety of updates to wx.lib.floatcanvas, including Added
+DrawObjects, including a ScaledTextBox, with auto-wrapping, etc, and
+Scaled and Unscaled Bitmap Objects.</p>
+<blockquote>
+WARNING: Changed all DrawObjects to take an (x,y) pair rather
+than individual x,y parameters. Also changed rectangles and
+ellipses to take (w,h) pair. This is an API change, but should
+be easy to accommodate, all you need to do is add a parenthesis
+pair: (...x, y, ...) ---> (...(x,y), ...)</blockquote>
+</div>
+<div class="section" id="id2">
+<h1><a name="id2">2.6.1.0</a></h1>
+<ul class="simple">
+<li>4-June-2005</li>
+</ul>
+<p>wx.ListCtrl: patch #1210352, fixes editing in generic wx.ListCtrl with
+wx.LC_EDIT_LABELS.</p>
+<p>Applied patch #208286, MediaCtrl DirectShow rewrite.</p>
+<p>DocView patches from Morgan Hua: bug fixes, and additional SVN
+commands, also added a default template that uses the text editor for
+any unknown file type.</p>
+<p>wxMSW: Use the system IDC_HAND cursor for wx.CURSOR_HAND and only fallback
+to the strange wxWidgets version if the system one is not available.</p>
+<p>wx.grid.Grid: Merge the cell size attribute the same way that other
+attributes are merged, e.g., if it is already set to a non-default
+value in the current GridCellAttr object then don't merge from the
+other.</p>
+<p>wx.lib.evtmgr: Fixed to use wx._core._wxPyDeadObject</p>
+<p>wx.lib.gridmovers: Don't scroll when the mouse is dragged outside of
+the grid, unless the mouse is kept in motion.</p>
+<p>wxMSW: Applied patch #1213290 incorrect logic in
+wx.TopLevelWindow.ShowFullScreen.</p>
+<p>Applied patch #1213066 correct device names for Joystick in Linux.</p>
+<p>wxGTK: Applied patch #1207162 wx.TextCtrl.SetStyle fix for overlapping
+calls.</p>
+<p>wx.FileConfig: fixed DeleteEntry to set the dirty flag properly so the
+change will get written at the next flush.</p>
+</div>
+<div class="section" id="id3">
+<h1><a name="id3">2.6.0.1</a></h1>
+<ul class="simple">
+<li>30-May-2005</li>
+</ul>
+<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 default control colours 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 wxPython default encoding.</p>
+<p>Several docstrings added and updated. Lots more to go.</p>
+<p>wxMac: Strings added to the clipboard or used in DnD no longer have an
+extra null character at the end.</p>
+<p>Added wx.GetXDisplay that returns a raw swigified pointer for the X11
+Display, or None for the non-X11 platforms.</p>
+<p>wxMenu: Don't send an event when selecting an already selected radio
+item.</p>
+<p>Added wx.LaunchDefaultBrowser.</p>
+<p>wxMSW: Fixed erroneous selection of content in wx.ComboBox when within
+a wx.StaticBox.</p>
+<p>wxMSW: Fixed alpha blitting to take into account source position.</p>
+<p>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.</p>
+<p>Added alternate constructors for wx.Font: wx.FontFromPixelSize,
+wx.FFont, wx.FFontFromPixelSize. See the docstrings or new api docs
+for details.</p>
+<p>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.</p>
+<p>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:</p>
+<pre class="literal-block">
+import wxversion
+wxversion.select("2.6-unicode", True)
+import wx
+</pre>
+<p>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.</p>
+<p>wxMSW: Fix for wrong sash colour of wx.SplitterWindow in the silver
+theme on XP.</p>
+<p>Added a wx.xrc.XmlResourceHandler for the Ticker class. See
+wx/lib/ticker_xrc.py</p>
+<p>wxSTC: Fixed CmdKeyAssign key bindings for Ctrl-Backspace.</p>
+<p>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.</p>
+<p>XRCed: Use wx.GetDefaultPyEncoding/wx.SetDefaultPyEncoding for
+changing active encoding. Fixed pasting siblings (Ctrl key pressed
+while pasting).</p>
+<p>wx.lib.filebrowsebutton: Bug fix from Chad Netzer for when
+self.history is None.</p>
+<p>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.</p>
+<p>wxMSW: setting foreground colour for wx.CheckBox now works when using
+XP themes.</p>
+<p>More updates to the docview library modules and sample apps from the
+ActiveGrid folks. Their sample IDE is now able to integrate with
+Subversion.</p>
+<p>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.</p>
+<p>wxGTK: Add wxSTAY_ON_TOP support [Patch 1206023]</p>
+<p>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.</p>
+<p>wxGTK: Setting background colour of a window now only affects the
+window itself, not the borders, scrollbars, etc. (Bug #1204069)</p>
+<p>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.</p>
+<p>wxMac: Applied patch for bug #1206181 Option-key decodes are wrong,
+also applied patch for bug #1205691 Modified Fn keys don't work.</p>
+<p>wx.Image: Fixed to preserve alpha channel in Rotate90 method.</p>
+<p>wxMSW: Fixed incorrect background colour on wx.CheckListBox.</p>
+<p>wxMSW: Fixed drawing of owner drawn buttons with multiline labels</p>
+<p>Removed a bunch of unnecessary files, and removed or replaced images
+that we're not sure of their origin or license.</p>
+<p>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.</p>
+<p>wxMSW: When converting a wx.Icon to a bitmap check if the icon has an
+alpha channel and set the bitmap to use it.</p>
+<p>Fixed the wrong class name used in wx.PyScrolledWindow's call to
+_setCallbackInfo.</p>
+<p>wxMSW: patch #1207202, Fixes GDI leak when using stock cursors.</p>
+<p>wx.calendar.CalendarCtrl: Patch #1207531, Keeps the CalendarCtrl wide
+enough even when the weekday names for the locale are shorter than
+usual.</p>
+<p>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.)</p>
+</div>
+<div class="section" id="id4">
+<h1><a name="id4">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="id5">
+<h1><a name="id5">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="id6">
+<h1><a name="id6">2.5.4.1</a></h1>
+<ul class="simple">
+<li>16-Mar-2005</li>
+</ul>