X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e280c9ca954797b8405c3e945008d09a4d26c37b..9d45af36fe32c2aba06e9692f7a133884ce75f53:/wxPython/docs/CHANGES.txt?ds=sidebyside diff --git a/wxPython/docs/CHANGES.txt b/wxPython/docs/CHANGES.txt index 6dd2c9a49f..d92c8795fe 100644 --- a/wxPython/docs/CHANGES.txt +++ b/wxPython/docs/CHANGES.txt @@ -1,8 +1,9 @@ Recent Changes for wxPython ===================================================================== -2.7.0.0 +2.7.0.1 ------- +* The following deprecated items have been removed: @@ -20,13 +21,336 @@ The following deprecated items have been removed: * 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 obhect 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 exands 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. + + + + + + +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 @@ -41,6 +365,76 @@ 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) + + + @@ -70,7 +464,7 @@ 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:: +"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.