Recent Changes for wxPython
=====================================================================
+2.7.0.0
+-------
+
+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 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 do it the *right way* like this:
+
+ def OnBeginDocument(self, start, end):
+ # do something here
+ return super(MyPrintout, self).OnBeginDocument(start, end)
+
+Note that the old way 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
+
+
+
+
+2.6.3.0
+-------
+
+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.
+
+
+
+
+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 controls when the system text fg colour is not black.
+wxMSW: Fix for default control colours when the system text fg colour
+is not black.
wxGTK: Patch #1171754, It is now possible to have a menu item that
both has an icon and is a submenu.
wxMSW: Patch #1197009, better refreshes when windows are moved and
-resized.
+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
as these can be triggered after Python has been finalized in embedding
situations.
+Added alternate constructors for wx.Font: wx.FontFromPixelSize,
+wx.FFont, wx.FFontFromPixelSize. See the docstrings or new api docs
+for details.
+
+Added wx.lib.hyperlink from Andrea Gavana. It is a control like
+static text that acts like a hyper-link, launching the system's
+default browser in response to the clicks.
+
+Added an optional parameter to wxversion.select that allows you to
+specify that the extra components specified in the version string are
+required. For example, if you ask for "2.6-unicode" but only the ansi
+version is installed then by default the ansi version will be selected
+as it considered close enough since the version numbers match. If you
+want to force the options to be required then you can just add a True
+parameter, like this::
+
+ import wxversion
+ wxversion.select("2.6-unicode", True)
+ import wx
+
+Tweaked wx.lib.buttons such that flat buttons (e.g. have no bevel and
+a wx.BORDER_NONE style flag) paint themed backgrounds if there are
+transparent areas and the parent is displaying a theme.
+
+wxMSW: Fix for wrong sash colour of wx.SplitterWindow in the silver
+theme on XP.
+
+Added a wx.xrc.XmlResourceHandler for the Ticker class. See
+wx/lib/ticker_xrc.py
+
+wxSTC: Fixed CmdKeyAssign key bindings for Ctrl-Backspace.
+
+wxMSW: Fixed a bug in wx.TextCtrl where all the lines were being used
+to calculate the best size, instead of using a reasonable limit.
+
+XRCed: Use wx.GetDefaultPyEncoding/wx.SetDefaultPyEncoding for
+changing active encoding. Fixed pasting siblings (Ctrl key pressed
+while pasting).
+
+wx.lib.filebrowsebutton: Bug fix from Chad Netzer for when
+self.history is None.
+
+wx.ogl: Patch from Davide Salomoni that adds an optional point
+parameter to LineShape.InsertLineControlPoint allowing one to
+optionally specify where the new control point has to be drawn.
+
+wxMSW: setting foreground colour for wx.CheckBox now works when using
+XP themes.
+
+More updates to the docview library modules and sample apps from the
+ActiveGrid folks. Their sample IDE is now able to integrate with
+Subversion.
+
+wx.grid.Grid: Ensure that the grid gets the focus when it is
+left-clicked. Note that if you have custom widgets that handle the
+EVT_LEFT_DOWN event but do not call event.Skip() then you will
+probably want to add a call to self.SetFocus in the event handler.
+
+wxGTK: Add wxSTAY_ON_TOP support [Patch 1206023]
+
+wx.TreeCtrl: wx.EVT_TREE_ITEM_MENU event made consistent on all
+platforms. The location of the click or the item is included in the
+event as well.
+
+wxGTK: Setting background colour of a window now only affects the
+window itself, not the borders, scrollbars, etc. (Bug #1204069)
+
+Print framework: Add more paper sizes and code to fallback to an
+explicit paper size if a known paper size is not found for the
+printer.
+
+wxMac: Applied patch for bug #1206181 Option-key decodes are wrong,
+also applied patch for bug #1205691 Modified Fn keys don't work.
+
+wx.Image: Fixed to preserve alpha channel in Rotate90 method.
+
+wxMSW: Fixed incorrect background colour on wx.CheckListBox.
+
+wxMSW: Fixed drawing of owner drawn buttons with multiline labels
+
+Removed a bunch of unnecessary files, and removed or replaced images
+that we're not sure of their origin or license.
+
+The default DoGetBestSize is updated to not always return the current
+size if the window has no sizer, children, or minsize set. Instead
+the current size is set as the minsize. This solves the occasional
+problem where a sizer may cause a childless panel to grow but never
+shrink.
+
+wxMSW: When converting a wx.Icon to a bitmap check if the icon has an
+alpha channel and set the bitmap to use it.
+
+Fixed the wrong class name used in wx.PyScrolledWindow's call to
+_setCallbackInfo.
+
+wxMSW: patch #1207202, Fixes GDI leak when using stock cursors.
+
+wx.calendar.CalendarCtrl: Patch #1207531, Keeps the CalendarCtrl wide
+enough even when the weekday names for the locale are shorter than
+usual.
+
+Made GridCellNumberEditor.StartingKey also insert the typed char when
+there is a range of allowed values (so a wx.SpinCtrl is used instead
+of a wx.TextCtrl.)
+
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.
-2.5.5.1
+2.5.5.1
-------
* 8-Apr-2005