X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3ffa4b966c1a66dbd862e390b1c71d1b4df09533..1d88e73a3f25f16ad845b114153edd603d4970be:/wxPython/docs/CHANGES.txt diff --git a/wxPython/docs/CHANGES.txt b/wxPython/docs/CHANGES.txt index a550ce3a81..e281bded0c 100644 --- a/wxPython/docs/CHANGES.txt +++ b/wxPython/docs/CHANGES.txt @@ -1,21 +1,559 @@ 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 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 after the wx.App has been +created, but before OnInit is called, so if you use any of these +objects before the wx.App is created you will need to adjust your +code. 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. + + + + + +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 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 @@ -48,6 +586,111 @@ locking or unlocking in wxPyBeginBlockThreads and wxPyEndBlockThreads 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.) + @@ -103,7 +746,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. @@ -111,7 +754,7 @@ XRCed: Updated to version 0.1.5. -2.5.5.1 +2.5.5.1 ------- * 8-Apr-2005