]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/docs/CHANGES.txt
fixed deadlock when calling wxPostEvent() from worker thread
[wxWidgets.git] / wxPython / docs / CHANGES.txt
index d6a5c641c21062e32796a6b63dbf56ac0a6b7f82..977754eed0e97a46aadcd70ece3a61520f0d60df 100644 (file)
 Recent Changes for wxPython
 =====================================================================
 
+2.8.0.2
+-------
+* 
+
+wxGTK: Fix for controls on a toolbar being the full height of the
+toolbar instead of their natural height.
+
+wx.lib.customtreectrl patches from Andrea Gavana.
+
+
+
+
+
+2.8.0.1
+-------
+* 11-Dec-2006
+
+Lots of fixes and updates to the AUI classes.
+
+Added wx.CollapsiblePane.  On wxGTK it uses a native expander widget,
+on the other platforms a regular button is used to control the
+collapsed/expanded state.
+
+Added the wx.combo module, which contains the ComboCtrl and ComboPopup
+classes.  These classes allow you to implement a wx.ComboBox-like
+widget where the popup can be nearly any kind of widget, and where you
+have a lot of control over other aspects of the combo widget as well.
+It works very well on GTK and MSW, using native renderers for drawing
+the combo button, but is unfortunatly still a bit klunky on OSX...
+
+Use system default paper size for printing instead of A4 by default.
+
+Added wx.combo.OwnerDrawnComboBox, which is a ComboCtrl that delegates
+the drawing of the items in the popup and in the control itself to
+overridden methods of a derived class, similarly to how wx.VListBox
+works.
+
+Added wx.combo.BitmapComboBox which is a combobox that displays a
+bitmap in front of the list items.
+
+Added the wx.lib.mixins.inspect module.  It contains the InspectMixin
+class which can be mixed with a wx.App class and provides a PyCrust
+window that can be activated with a Ctrl-Alt-I keystroke (or Cmd-Alt-I
+on the Mac.)
+
+Added some modules from Riaan Booysen:  
+
+    * wx.lib.flagart:  contains icons of the flags of many countries.
+
+    * wx.lib.art.img2pyartprov: makes images embedded in a python file
+      with img2py available via the wx.ArtProvider.
+
+    * wx.lib.langlistctrl: A wx.ListCtrl for selecting a language,
+      which uses the country flag icons.
+
+    * An I18N sample for the demo.
+
+wx.lib.masked: Patch from Will Sadkin.  Includes Unicode fixes, plus
+more helpful exceptions and ability to designate fields in mask
+without intervening fixed characters.
+
+Added wx.SearchCtrl, which is a composite of a wx.TextCtrl with optional
+bitmap buttons and a drop-down menu.  Controls like this can typically
+be found on a toolbar of applications that support some form of search
+functionality.  On the Mac this control is implemented using the
+native HISearchField control, on the other platforms a generic control
+is used, although that may change in the future as more platforms
+introduce native search widgets.
+
+Added a set of button classes to wx.lib.buttons from David Hughes that
+uses the native renderer to draw the button.
+
+
+
+
+2.7.2.0
+-------
+* 7-Nov-2006
+
+Patch [ 1583183 ] Fixes printing/print preview inconsistencies
+
+Add events API to wxHtmlWindow (patch #1504493 by Francesco Montorsi)
+
+Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot)
+
+Added New Zealand NZST and NZDT timezone support to wx.DateTime.
+
+wx.Window.GetAdjustedBestSize is deprecated.  In every conceivable
+scenario GetEffectiveMinSize is probably what you want to use instead.
+
+wx.Image: Gained support for TGA image file format.
+
+wx.aui: The classes in the wx.aui module have been renamed to be more
+consistent with each other, and make it easier to recognize in the
+docs and etc. that they belong together.
+
+    FrameManager -->       AuiManager
+    FrameManagerEvent -->  AuiManagerEvent
+    PaneInfo -->           AuiPaneInfo
+    FloatingPane -->       AuiFloatingPane
+    DockArt -->            AuiDockArt
+    TabArt -->             AuiTabArt
+    AuiMultiNotebook -->   AuiNotebook
+    AuiNotebookEvent -->   AuiNotebookEvent
+       
+wx.lib.customtreectrl: A patch from Frank Niessink which adds an
+additional style (TR_AUTO_CHECK_PARENT) that (un)checks a parent when
+all children are (un)checked.
+
+wx.animate.AnimationCtrl fixed to display inactive bitmap at start
+(patch 1590192)
+
+Patch from Dj Gilcrease adding the FNB_HIDE_ON_SINGLE_TAB style flag
+for wx.lib.flatnotebook.
+
+wx.Window.GetBestFittingSize has been renamed to GetEffectiveMinSize.
+SetBestFittingSize has been renamed to SetInitialSize, since it is
+most often used only to set the initial (and minimal) size of a
+widget.
+
+The QuickTime backend for wx.media.MediaCtrl on MS Windows works
+again.  Just pass szBackend=wx.media.MEDIABACKEND_QUICKTIME to the
+constructor to use it instead of the default ActiveMovie backend,
+(assuming the quicktime DLLs are available on the system.)
+
+
+
+
+
+
+2.7.1.3
+-------
+* 26-Oct-2006
+
+wxGTK:  The wx.ALWAYS_SHOW_SB style is now supported.
+
+Fixed name errors in the old wxPython package namespace.  As a
+reminder, use of this package is deprecated and you are encouraged to
+switch your programs over to the wx package.
+
+Fixed wx.glcanvas.GLCanvas.SetCurrent to be compatible with prevoius
+versons. 
+
+Added wx.StandardPaths.GetTmpDir.
+
+Bug fixes in the wx.ListCtrl on Mac from Kevin Olivier, allowing it to
+send events properly again.  There is also a new native implementation
+of wx.ListCtrl available, which will be used for wx.LC_REPORT style
+list controls if you set the "mac.listctrl.always_use_generic"
+SystemOption to zero.  In a future release this will be the default.
+
+Added a sample to the demo that shows some of what can be done with
+the new wx.GraphicsContext and wx.GraphicsPath classes.
+
+
+
+
+2.7.1.2
+-------
+* 21-Oct-2006
+
+Fixed a bug in the MaskedEdit controls caused by conflicting IsEmpty
+methods. 
+
+Patch #1579280: Some mimetype optimizations on unix-like systems.
+
+wxMac: Several wx.webkit.WebKitCtrl enhancements/fixes, including:
+
+    - new methods for increasing/decreasing text size, getting
+      selection, getting/setting scroll position, printing, enabling
+      editing, and running JavaScripts on the page.
+
+    - added new event (wx.webkit.WebKitBeforeLoadEvent) for catching, and
+      possibly vetoing, load events before they occur.
+
+    - wx.webkit.WebKitCtrl now fires mouse events for certain events
+      that it was eating before. This improves wxSplitterWindow
+      resizing behavior.
+
+    - refactoring of the sizing logic to move the Cocoa view.  Tested
+      with splitter windows, panels, notebooks and all position
+      correctly with this.
+
+Some improvements to the drawing code in CustomTreeCtrl.
+
+Fixed refcount leak in wx.Window.GetChildren.
+
+
+
+
+
+2.7.1.1
+-------
+* 18-Oct-2006
+
+The following deprecated items have been removed:
+
+    * wx.Bitmap SetQuality and GetQuality methods
+
+    * The wx.GetNumberFromUser function
+
+    * wx.EVT_LIST_GET_INFO and wx.EVT_LIST_SET_INFO
+
+    * wx.BookCtrlSizer and wx.NotebookSizer
+
+    * The PostScript-specific methods of wx.PrintData
+
+    * wx.PrintDialogData SetSetupDialog and GetSetupDialog methods
+
+    * wx.FontMapper SetConfig method
+
+    * wx.html.HtmlSearchStatus.GetContentsItem method
+
+    * wx.html.HtmlHelpData.GetContents, GetContentsCnt, GetIndex, and
+      GetIndexCnt methods
+
+
+wx.EventLoop is now implemented for wxMac.
+
+Added wxPython wrappers for the new wx.Treebook and wx.Toolbook
+classes. 
+
+wx.DC.BeginDrawing and EndDrawing have been deprecated in the C++
+code, so since they never really did anything before they are now just
+empty stubs in wxPython.
+
+Solved a problem that has been around for a very long time in how C++
+methods are virtualized for overriding in derived Python classes.
+Previously we couldn't do it for methods that needed to also exist in
+the base class wrappers such that they could be called normally.  (The
+reasons are long and complex, but suffice it to say that it was due to
+mixing C++'s dynamic dispatch, and Python's runtime lookup of the
+method attributes resulting in endless recursion of function calls.)
+Because of this problem I used a hack that I have always hated, and
+that is renaming the base class methods with a "base_*" prefix, for
+example wx.Printout.base_OnBeginDocument.  Now that the problem has
+finally been solved I have replaced all the base_Whatever() methods
+with the real Whatever() method as well as a simple wrapper named
+base_Whatever that is marked as deprecated.  So now instead of writing
+your overridden methods like this::
+
+    def OnBeginDocument(self, start, end):
+        # do something here
+        return self.base_OnBeginDocument(start, end)
+
+You can now call the base class method the normal way, like this::
+
+    def OnBeginDocument(self, start, end):
+        # do something here
+        return Printout.OnBeginDocument(self, start, end)
+
+Or like this with super()::
+
+    def OnBeginDocument(self, start, end):
+        # do something here
+        return super(MyPrintout, self).OnBeginDocument(start, end)
+
+Note that the old way with the "base_*" function still works, but you
+will get a DeprecationWarning from calling base_OnBeginDocument.  The
+classes affected by this are:
+
+    * wx.DropSource
+    * wx.DropTarget
+    * wx.TextDropTarget
+    * wx.FileDropTarget
+    * wx.PyLog   (also added the ability to override Flush)
+    * wx.PyApp   (also added the ability to override ExitMainLoop)
+    * wx.Printout
+    * wx.PyPrintPreview
+    * wx.PyPreviewFrame
+    * wx.PreviewControlBar
+    * wx.Process
+    * wx.PyControl
+    * wx.PyPanel
+    * wx.PyScrolledWindow
+    * wx.PyWindow
+    * wx.Timer
+    * wx.grid.PyGridCellRenderer
+    * wx.grid.PyGridCellEditor
+    * wx.grid.PyGridCellAttrProvider
+    * wx.grid.PyGridTableBase
+    * wx.html.HtmlWindow
+    * wx.wizard.PyWizardPage
+
+
+Added the wx.DC.GradientFillConcentric and wx.DC.GradientFillLinear
+methods.
+
+wxGTK: wx.ListBox and wx.CheckListBox are now using native GTK2
+widgets.
+
+Added wx.ListBox.HitTest() from patch 1446207
+
+Bumped up to SWIG 1.3.29.  This provides some more runtime performance
+boosts, gets rid of the dreaded Ptr classes, and some other nice new
+things. 
+
+Added wx.Window.GetScreenPosition and GetScreenRect which returns the
+position of the window in screen coordinates, even if the window is
+not a top-level window.
+
+Added GetResourcesDir and GetLocalizedResourcesDir to
+wx.StandardPaths. 
+
+Added a GetReceivedFormat method to wx.DataObjectComposite.  You can
+use this to find out what format of data object was recieved from the
+source of the clipboard or DnD operation, and then you'll know which
+of the component data objects to use to access the data.
+
+Changed how the stock objects (wx.RED, wx.RED_PEN, wx.RED_BRUSH, etc.)
+are initialized.  They are now created as uninitialized instances
+using __new__.  Then after the wx.App has been created, but before
+OnInit is called, the .this attribute of each object is initialized.
+This was needed because of some delayed initialization functionality
+that was implemented in wxWidgets, but the end result is cleaner for
+wxPython as well, and allowed me to remove some ugly code previously
+hidden under the covers.
+
+Added wx.StandardPaths.GetDocumentsDir.
+
+Added wx.RendererNative.DrawCheckButton.
+
+wx.ProgressDialog.Update now returns a tuple of two values.  The first
+is a continue flag (what was returned before) and the second is a skip
+flag.  If the dialog has the wx.PD_CAN_SKIP flag and if the Skip
+button is clicked, then the skip flag is set to True the next time
+Update is called.
+
+A DeprecationWarning is now issued when the old wxPython package is
+imported.  If you are still using the old namespace please convert
+your code to use the new wx package instead.
+
+Added wrappers for Julian's new wxRichTextCtrl class, visible in
+wxPython as wx.richtext.RichTextCtrl window.  It still needs some more
+work, but it is a great start.
+
+wx.lib.mixins.listctrl.TextEditMixin: Fixed the double END_LABEL_EDIT
+event problem in TextEditMixin by checking if the editor was already
+hidden before continuing with the CloseEditor method.  Also added code
+to OpenEditor to send the BEGIN_LABEL_EDIT event and to not allow the
+opening of the editor to continue if the event handler doesn't allow
+it.
+
+wx.StaticBoxSizer now keeps better track of the wx.StaticBox, and it
+will destroy it if the sizer is destroyed before the parent window is.
+
+Added wx.HyperlinkCtrl.
+
+Added battery and power related functions and events (wxMSW only so
+far.)  See wx.PowerEvent, wx.GetPowerType and wx.GetBatteryState.
+
+Added wx.ListCtrl.HitTestSubItem which returns the sub-item (i.e. the
+column in report mode) that was hit (if any) in addition to the item
+and flags.
+
+Added wrappers for wx.ColourPickerCtrl, wx.DirPickerCtrl,
+wx.FilePickerCtrl, and wx.FontPickerCtrl.
+
+Patch #1502016 wx.Image.ConvertToGreyscale now retains the alpha
+channel.
+
+Added wrappers for the wxAUI classes, in the wx.aui module.
+
+Added the PseudoDC class from Paul Lanier.  It provides a way to
+record operations on a DC and then play them back later.
+
+Upgraded to Scintilla 1.70 for wx.stc.StyledTextCtrl.
+
+Added CanSetTransparent and SetTransparent methods to the
+wx.TopLevelWindow class, with implementations (so far) for wxMSW and
+wxMac. 
+
+SetDefaultItem() and GetDefaultItem() are now members of
+wx.TopLevelWindow, not wx.Panel.
+
+wxGTK: Stock items (icons) will be used for menu items with stock
+IDs. 
+
+Added wx.lib.combotreebox from Frank Niessink
+
+Added wx.ImageFromBuffer, wx.BitmapFromBuffer and
+wx.BitmapFromBufferRGBA factory functions.  They enable loading of an
+image or bitmap directly from a Python object that implements the
+buffer interface, such as strings, arrays, etc.
+
+Added wx.App.IsDisplayAvailable() which can be used to determine if a
+GUI can be created in the current environment.  (Still need an
+implementation for wxMSW...)
+
+The wx.html.HTML_FONT_SIZE_x constants are no longer available as the
+default sizes are now calculated at runtime based on the size of the
+normal GUI font.
+
+wx.Colour now includes an alpha component, which defaults to
+wx.ALPHA_OPAQUE.  This is in preparation for allowing various new
+alpha blening functionality using wx.Colour objects, such as drawing
+with pens and brushes on a wx.DC.  
+
+Added wx.NativePixelBuffer, wx.AlphPixelBuffer and related iterator
+and accessor classes.  They allow platform independent direct access
+to the platform specific pixel buffer inside of a wx.Bitmap object.
+
+The beginnings of support for RTL languages has been added, thanks to
+a Google SoC project.  
+
+Added wx.lib.dragscroller from Riaan Booysen.  It provides a helper
+class that can used to scroll a wx.ScrolledWindow in response to a
+mouse drag.
+
+Applied patch 1551409: Adds support for indeterminate mode gauges.
+
+wxMac: I've turned on the compile option for using the native toolbar
+on the Mac now that it supports hosting of controls.  If the toolbar
+is managed by the frame via either CreateToolBar() or SetToolBar()
+then the native toolbar will be used.  Additional toolbars, or
+toolbars that are not children of the frame, are managed by sizers or
+what-not will still use the emulated toolbar because of platform
+restrictions in how/where the native toolbar can be used.
+
+Added Python properties for many of the getter/setter methods of wx
+classes.  In order for the names to be predicatble for somebody
+already familiar with wxPython the property names are simply the name
+of the getter with the "Get" dropped.  For example, wx.Window has a
+property named "Size" that maps to GetSize and SetSize.  So far there
+is only one known name conflict using this naming convention, and that
+is wx.KeyEvent.KeyCode, however since KeyCode was formerly a
+compatibility alias for GetKeyCode (and has been for a long time) it
+was decided to just switch it to a property.  If you want to use the
+method then change your calls to event.KeyCode() to
+event.GetKeyCode(), otherwise you can use it as a property just by
+dropping the parentheses.
+
+Updated the C++ code for wx.gizmos.TreeListCtrl from the wxCode
+project.  This has resulted in some minor API changes, most of which
+were worked around in the wrapper code.  
+
+Added wx.lib.delayedresult from Oliver Schoenborn.
+
+Added wx.lib.expando, a multi-line textctrl that expands as more lines
+are needed.
+
+wx.Image.Scale and Rescale methods now take an extra parameter
+specifying type of method to use for resampling the image.  It
+defaults to the current behavior of just replicating pixels, if
+wx.IMAGE_QUALITY_HIGH is passed then it uses bicubic and box averaging
+resampling methods for upsampling and downsampling respectively.
+
+Added the wx.lib.buttonpanel module, which is a tweaked version of
+Andrea Gavana's FancyButtonPanel module.
+
+Added the wx.lib.flatnotebook module, from Andrea Gavana.
+
+Renamed wx.FutureCall to wx.CallLater so it is named more like
+wx.CallAfter.  wx.FutureCall is now an empty subclass of wx.CallLater
+for compatibility of older code.
+
+Added the wx.lib.customtreectrl module from Andrea Gavana.
+
+Added ChangeSelection to wx.BookCtrl (the base class for wx.Notebook
+and other book controls) that is the same as SetSelection but doesn't
+send the change events.
+
+Added wx.TextCtrl.ChangeValue() which is the same as SetValue() but
+doesn't send the text changed event.
+
+For consistency, all classes having an Ok() method now also have
+IsOk(), use of the latter form is preferred although the former hasn't
+been deprecated yet
+
+Added the wx.AboutBox() function and wx.AboutDialogInfo class.  They
+provide a way to show a standard About box for the application, which
+will either be a native dialog or a generic one depending on what info
+is provided and if it can all be shown with the native dialog.
+
+The code in the animate contrib has been moved into the core wxWidgets
+library, and refactored a bit along the way.  For wxPython it still
+exists in the wx.animate module, but has basically been reduced to two
+classes, wx.animate.Animation, and wx.animate.AnimationCtrl.  You load
+the animated GIF (and hopefully there will be other supported formats
+in the near future) in the Animation object, and then give that to the
+AnimatedCtrl for display.  See the demo for an example.  There is also
+still a GIFAnimationCtrl class that provides some level of backwards
+compatibility with the old implementation.
+
+wxMac: The compile option that turns on the use of CoreGraphics (a.k.a
+Quartz) for wxDC is now turned on by default.  This means that all
+drawing via wxDC is done using the new APIs from apple, instead of the
+old Quick Draw API.  There are, however, a few places where Quartz and
+wxDC don't fit together very well, mainly the lack of support for
+logical drawing operations such as XOR, but there is work in progress
+to provide other ways to do the same sort of thing that will work with
+Quartz and also on the other platforms.
+
+The first parts of a new 2D drawing API has been added with the
+wx.GraphicsPath and wx.GraphicsContext classes.  They wrap GDI+ on
+Windows, Cairo on wxGTK and CoreGraphics on OS X.  They allow path-based
+drawing with alpha-blending and anti-aliasing, and use a floating
+point cooridnate system.  Currently they can only target drawing to
+windows, but other wx.DC backends are forthcoming.  The APIs may
+evolve a bit more before they are finalaized with the 2.8 release, but
+there is enough there now to get a good feel for how things will work.
+There is also a transitional wx.GCDC class that provides the wx.DC API
+on top of wx.GraphicsContext.  Docs and a demo are still MIA.
+
+Added a wx.AutoBufferedPaintDC that is a subclass of wx.PaintDC on
+platforms that do double buffering by default, and a subclass of
+wx.BufferedPaintDC on the platforms that don't.  You can use this
+class to help avoid the overhead of buffering when it is not
+needed. There is also a wx.AutoBufferedPaintDCFactory function that
+does a little more and actually tests if the window has
+double-buffering enabled and then decides whether to return a
+wx.PaintDC or wx.BufferedPaintDC.  This uses the new
+wx.Window.IsDoubleBuffered method.
+
+
+
+
+
+
+
+2.6.3.3
+-------
+* 15-July-2006
+
+wx.lib.pubsub updates from Oliver Schoenborn:
+    - fixed the hash problem with non-hashable objects
+    - now supports listeners that use \*args as an argument
+      (listener(\*args) was not passing the validity test)
+    - corrected some mistakes in documentation
+    - added some clarifications (hopefully useful for first time
+      users)
+    - changed the way singleton is implemented since old way prevented
+      pydoc etc from extracting docs for Publisher
+
+DocView and ActiveGrid IDE updates from Morgan Hua:
+    New Features: In Tab-View mode, Ctrl-number will take the user to
+    the numbered tab view.  Modified files now show an '*' astrisk in
+    the view title.  Debugger framework can now support PHP debugging.
+    Not important for python development, but at least that means the
+    debugger framework is more generalized.
+
+wx.lib.mixins.listctrl.TextEditMixin: Fixed the double END_LABEL_EDIT
+event problem in TextEditMixin by checking if the editor was already
+hidden before continuing with the CloseEditor method.  Also added code
+to OpenEditor to send the BEGIN_LABEL_EDIT event and to not allow the
+opening of the editor to continue if the event handler doesn't allow
+it.
+
+Undeprecated wx.GetNumberFromUser and added wx.NumberEntryDialog.
+
+Made necessaary changes for building wxPython for Python 2.5.  There
+may still be some issues related to the new Py_ssize_t type and 64-bit
+machines, but at least all compile errors and warnings related to it
+have been resolved.
+
+
+
+
+2.6.3.2
+-------
+* 3-April-2006
+
+Fixed reference leak in wx.gizmos.TreeListCtrl.GetSelections.
+
+wxMSW: Fixed sizing issue with wx.Choice and wx.ComboBox.  This change
+was implemented by reverting a prior fix for a different problem
+(contiuous painting/resizing when a combobox is used as a widget in a
+wx.html.HtmlWindow) so a method to fix both problems is still being
+investigated.
+
+wxGTK: Fixed potential buffer overrun when pasting from the
+clipboard. 
+
+Fixed problem in wx.lib.splitter when used on 64-bit platforms.  Used
+the current length of the list for specifying an append instead of
+sys.maxint.
+
+wxMSW: Support added for XP themed owner drawn buttons and bitmap
+buttons.  For example, if you change the foreground color of a button
+it will now be drawn with the XP themed style rather than an ugly
+generic button style.
+
+XRCed: Fix for Copy/Paste objects with international characters.
+
+Fixed the equality and inequality operators for some of the basic
+data types (wx.Point, wx.Size, wx.Colour, etc.) to no longer raise a
+TypeError if the compared object is not compatible, but to just return
+a boolean as expected.  For example::
+
+          wx.Colour(64,0,64) == 123      ==> False
+
+wxMSW: Fixed (again) sizing/positioning issues of calling Realize on
+a wx.ToolBar that is not manaaged directly by a frame and that is
+already shown.
+
+wxMSW: Fixed wx.Choice/wx.ComboBox so they send events when a new item
+is selected only with the keyboard.
+
+
+
+2.6.3.0
+-------
+* 27-March-2006
+
+Change the wx.ListCtrl InsertStringItem wrapper to use the form that
+takes an imageIndex, and set the default to -1.  This ensures that on
+wxMSW that if there is an image list but they don't specify an image,
+the native control doesn't use one anyway.
+
+wxMSW: wx.ListCtrl in report mode is now able to support images in
+other columns besides the first one.  Simply pass an image index to
+SetStringItem.  For virtual list controls you can specify the image to
+use on the extra columns by overriding OnGetItemColumnImage in your
+derived class.  It is passed the item number and the column number as
+parameters, and the default version simply calls OnGetItemImage for
+column zero, or returns -1 for other columns.
+
+Switched to using SWIG 1.3.27 for generating the wrapper code.  There
+are some small changes needed to SWIG to work around some bugs that
+wxPython exposes, and to be able to generate code that matches that
+which wxPython is using.  If you are building wxPython yourself and
+need to modify any of the \*.i files or to add your own, then you will
+want to be sure to use a matching SWIG.  See wxPython/SWIG/README.txt
+in the source tarball for details.
+
+wx.Image.Copy, Mirror, and GetSubImage now also do the right thing
+with  the alpha channel.
+
+wxMSW: Fixed problem in wx.TextCtrl where using SetValue and
+wx.TE_RICH2 would cause the control to be shown if it was hidden. 
+
+wxMSW: Numpad special keys are now distinguished from normal keys in
+key events.
+
+wxMSW: Multiline notebook tab label change now resizes the control
+correctly if an extra row is removed or added.
+
+wxMSW: On XP fall back to unthemed wxNotebook if specified orientation
+not available in the themed version.
+
+Added wx.Toolbar.GetToolsCount.
+
+Added wx.GridSizer.CalcRowsCols.
+
+Added wx.OutputStream.LastWrite.
+
+wxGTK: EVT_SET_CURSOR is now sent.
+
+wxGTK: Fix RequestMore for idle events.
+
+wxGTK: Implement user dashes for PS and GNOME printing.
+
+wxGTK: Correct update region code. Don't always invalidate the whole
+window upon resize. Reenable support for thewx.NO_FULL_REPAINT_ON_RESIZE 
+flag.  Also disable refreshing custom controls when focusing in and out.
+
+wx.lib.pubsub: Publisher is now able to parse a dotted notation string
+into a topic tuple.  For example: subscribing to "timer.clock.seconds"
+is the same as subscribing to ("timer", "clock", "seconds").
+
+Applied patch #1441370: lib.plot - allow passing in wx.Colour()
+
+Added wx.CommandEvent.GetClientData.
+
+Updated wxStyledTextCtrl to use version 1.67 of Scintilla.  
+NOTE: The STC_LEX_ASP and STC_LEX_PHP lexers have been deprecated,
+you should use STC_LEX_HTML instead.
+
+wxSTC: Implemented Fix for SF Bug #1436503.  Delay the start of the
+DnD operation in case the user just intended to click, not drag.
+
+Updated the analogclock.py module to the new analogclock package from
+E. A. Tacao.
+
+Added the wx.lib.mixins.listctrl.CheckListCtrlMixin class from Bruce
+Who, which makes it easy to put checkboxes on list control items.
+
+Applied a patch from Christian Kristukat to wx.lib.plot that adds
+scrollbars when the plot is zoomed in, and also the ability to grab a
+zoomed plot and move it around with a mouse drag.
+
+XRCed updated to allow wxMenuBar to be created inside a wxFrame.
+
+Added wx.StandardPaths.GetDocumentsDir() (patch 1214360)
+
+
+
+
+
+
+2.6.2.1
+-------
+* 10-Jan-2006
+
+wxMSW: Fix for bug #1211907, popup menu indenting inconsistent with
+bitmaps.
+
+wxMac: Don't send an event for wx.RadioButton deselections, just the
+selections.  This was done to make it consistent with the other
+platforms.
+
+wxMSW: Always set flat toolbar style, even under XP with themes: this
+is necessary or separators aren't shown at all.
+
+Fixes for bug #1217872, pydocview.DocService not correctly initialized.
+
+Fix for bug #1217874, Error in parameter name in DocManager.CreateView.
+
+Added wrappers for the wx.RendererNative class.
+
+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.
+
+Docview and IDE patch from Morgan Hua with fix for bug #1217890
+"Closing view crashes Python" plus some new features:
+
+    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.
+
+Some fixes to XRCed to make encoding errors a bit more user friendly.
+
+XRCed changes from Roman Rolinsky:
+
+    * 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).
+
+    * Use system clipboard for Copy/Paste.
+
+    * Improved some dialogs (window styles, growable cols). Changed
+      the range for wxSpinCtrl min/max to all integers (default 0/100
+      is not always good).
+
+Updates for wx.lib.foldpanelbar and wx.lib.hyperlink from Andrea
+Gavana.
+
+Fix for Bug #1283496: wxPython TheClipboard class causes problems for
+pychecker.  Ensure the app has been created before initializing
+wx.TheClipboard.
+
+Fix for Bug #1352602: FileBrowseButtonWithHistory can't type in Value.
+
+wxHTML: Added space after list item number.
+
+wx.lib.printout:  Applied patch #1384440.
+
+wxMSW:  Fix for Bug #1293225 Window_FromHWND crashes if parent is
+None.
+
+Fix for Bug #1261669, use a wx.TE_RICH2 style for the Process demo so
+it doesn't fill up too soon.
+
+Applied Patch #1354389: wxPython MenuItem SetBitmaps fix.
+
+Applied Patch #1239456: wxPython wx.DataObject.GetAllFormats fix.
+
+Applied Patch # #1230107 which allows image handlers to be written in
+Python by deriving from wx.PyImageHandler.
+
+Applied patch #1072210: generalize printout.py to allow text printing.
+
+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.
+
+Fix for bug #1336711: wx.lib.calendar.CalenDlg can yield incorrect
+result.
+
+Applied patch from Morgan Hua for updates to ActiveGrid code
+(pydocview, ActiveGrid IDE, etc.)
+
+Applied patch #1326241: Supporting "setup.py install --install-headers=path"
+
+Applied patch from Morgan Hua to fix bug #1219423: CommandManager
+should not repeat old commands after a branch.
+
+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.
+
+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!
+
+wxMSW: wx.lib.iewin.IEHtmlWindow now properly handles tabbing, return
+and other special keys properly.
+
+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:
+
+    * The Autocomplete and Calltip windows can now be opened manually
+      with Ctrl-Space and Ctrl-Shift-Space.
+
+    * In the stand alone PyCrust app the various option settings,
+      window size and position, and etc. are saved and restored at the
+      next run.
+
+    * Added a help dialog bound to the F1 key that shows the key
+      bindings.
+
+    * Added a new text completion function that suggests words from
+      the history.  Bound to Shift-Return.
+
+    * F11 will toggle the maximized state of the frame.
+
+    * switched to Bind() from wx.EVT_*().
+
+    * Display of line numbers can be toggled.
+
+    * 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.
+
+    * Ctrl-Shift-F will fold/unfold (hide/show) the selected lines.
+
+    * General code cleanup and fixes.
+
+    * Use wx.StandardPaths to determine the location of the config
+      files.
+
+    * Use wx.SP_LIVE_UPDATE on crust and filling windows.
+
+    * 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.
+
+    * 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.
+
+    * 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.
+
+    * Added an option to skip the running of the startup code when
+      PyShell or PyCrust starts.
+
+    * 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.
+
+    * Added an option for whether to insert text for function
+      parameters when popping up the call tip.
+
+    * Added Find and Find-Next functions that use the
+      wx.FindReplaceDialog.
+
+
+Applied patches from Will Sadkin for wx.lib.masked modules:
+
+    * Now ignores kill focus events when being destroyed.
+
+    * Added missing call to set insertion point on changing fields.
+
+    * Modified SetKeyHandler() to accept None as means of removing
+      one.
+
+    * Fixed keyhandler processing for group and decimal character
+      changes.
+
+    * Fixed a problem that prevented input into the integer digit of a
+      integerwidth=1 numctrl, if the current value was 0.
+
+    * Fixed logic involving processing of "_signOk" flag, to remove
+      default sign key handlers if false, so that
+      SetAllowNegative(False) in the NumCtrl works properly.
+
+    * 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.
+
+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.
+
+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.
+
+Added wx.SizerItem.SetUserData
+
+A variety of updates to wx.lib.floatcanvas, including Added
+DrawObjects, including a ScaledTextBox, with auto-wrapping, etc, and
+Scaled and Unscaled Bitmap Objects.
+
+       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), ...) 
+
+
+
+
+2.6.1.0
+-------
+* 4-June-2005
+
+wx.ListCtrl: patch #1210352, fixes editing in generic wx.ListCtrl with
+wx.LC_EDIT_LABELS.
+
+Applied patch #208286, MediaCtrl DirectShow rewrite.
+
+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.
+
+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.
+
+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.
+
+wx.lib.evtmgr: Fixed to use wx._core._wxPyDeadObject
+
+wx.lib.gridmovers: Don't scroll when the mouse is dragged outside of
+the grid, unless the mouse is kept in motion.
+
+wxMSW:  Applied patch #1213290 incorrect logic in
+wx.TopLevelWindow.ShowFullScreen.
+
+Applied patch #1213066 correct device names for Joystick in Linux.
+
+wxGTK: Applied patch #1207162 wx.TextCtrl.SetStyle fix for overlapping
+calls.
+
+wx.FileConfig: fixed DeleteEntry to set the dirty flag properly so the
+change will get written at the next flush.
+
+
+
+
 
 2.6.0.1
 -------
+* 30-May-2005
 
 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. 
+wx.STIPPLE_MASK_OPAQUE.
 
 wxMSW: Fix for default control colours when the system text fg colour
 is not black.
@@ -16,7 +970,7 @@ 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. 
+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
@@ -65,9 +1019,9 @@ 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
+         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
@@ -77,7 +1031,7 @@ 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 
+wx/lib/ticker_xrc.py
 
 wxSTC: Fixed CmdKeyAssign key bindings for Ctrl-Backspace.
 
@@ -100,7 +1054,7 @@ 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. 
+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
@@ -118,13 +1072,41 @@ 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. 
+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.)
 
 
 
@@ -181,7 +1163,7 @@ EVT_KEY_UP and EVT_TEXT events from its embedded text control.
 wxMac: Corrected refresh bugs in wxGrid.
 
 XRCed: Updated to version 0.1.5.
-    * Added wxWizard, wxWizardPageSimple (only from pull-down menu). 
+    * Added wxWizard, wxWizardPageSimple (only from pull-down menu).
     * Hide command for test window.
     * Replacing classes works better.
     * Added Locate tool.
@@ -189,7 +1171,7 @@ XRCed: Updated to version 0.1.5.
 
 
 
-2.5.5.1    
+2.5.5.1
 -------
 * 8-Apr-2005
 
@@ -910,11 +1892,11 @@ 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)
+        >>> b = frame.demoPage.GetChildren()[0]
+        >>> for x in range(0, 500, 10):
+        ...     b.Move((x, 50))
+        ...     app.Yield(True)
+        ...     wx.MilliSleep(10)
 
 
 wxGTK: Applied wxNO_BORDER patch (#1098374) for text control and combo