X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2268569346a39bcff9b7ba734f85652a7bf4c2d9..c5d11c71d791122ec50379c15887898a4d49f1af:/wxPython/docs/CHANGES.txt diff --git a/wxPython/docs/CHANGES.txt b/wxPython/docs/CHANGES.txt index ba86f7459f..426c834fc6 100644 --- a/wxPython/docs/CHANGES.txt +++ b/wxPython/docs/CHANGES.txt @@ -1,14 +1,126 @@ Recent Changes for wxPython ===================================================================== +2.5.5.0 +------- + +wxMSW: Fixed bug #1022383, 'several ComboBoxes appear selected' + +wx.grid.Grid: Fixed bug #1163384. Moved the code that handles +activating the cell editors to a EVT_CHAR event handler. This is done +so the character inserted into the editor will be the "cooked" char +value (including accented or composed keys) rather than the raw code +provided by the EVT_KEY_DOWN event. + +Added orient parameter to wx.MDIParentFrame.Tile() + +wxMSW: wxTextCtrl with wx.TE_RICH2 style now uses RichEdit 4.1 if +available. + +Added GetCount, GetCountRGB, and GetCountColour methods to +wx.ImageHistogram. + +wxMSW: wx.Window.Refresh changed to explicitly refresh all children as +well as the parent. Previously it was implicitly done because parents +did not clip their children by default. Now that they always clip +children then Refresh needed to be fixed to do a recursive refresh. +This also fixes the Freeze/Thaw problems that some people had with +2.5.4.1. + +wx.SplitterWindow: Send EVT_SPLITTER_SASH_POS_CHANGED only once after +end of dragging and not after each CHANGING event (modified patch +#1076226) + +wx.glcanvas.GLCanvas: applied patch fixing problems with X server +crash when using nVidia cards (patch 1155132) + +wx.lib.mixins.listctrl: Patches from Toni Brkic: + * Bugfix for TextEditMixin when the view can't be scrolled + * Enhancement for ListCtrlAutoWidthMixin, allowing it to manage + the width of any column. + +wxMac: removal and reusing toolbar tools like the other platforms is +now possible. + +wxMac: Correct radio tool selection after calling Realize a 2nd time. + +wxMSW: Applied patch #1166587, removes all flicker from wx.StaticBox + +Added wx.lib.foldpanelbar, Andrea Gavana's port of Jorgen Bodde's C++ +wxFoldPanelBar classes to Python. + +wxGTK: Applied patch #1173802, reimplementation of GtkFileChooser +wxFileDialog by Mart Raudsepp. Note that this new file dialog is only +used on GTK2 >= 2.4. For earlier GTK2 versions and GTK1 then the +older generic file dialog is used. + +wxMSW: fixes to static box borders calculations (finalizes patch +#1166587) -2.5.3.2 +wx.Image: Use Python's buffer interface API for all image data and +alpha Set/Get methods and the ImageFromData* constructors. They all +still copy the buffer except for SetDataBuffer and SetAlphaBuffer, but +this gives more flexibility on where the data can come from. + +Added MDI support to XRC + +Added wx.animate module and a demo. The wx.animate module provides a +control that is able to display an animated GIF file. + +wx.lib.plot.py: Applied patch from Werner F. Bruhin that allows either +vertical and/or horizontal gridlines. + +wxMSW: Extra space given for top border of wx.StaticBoxSizer so the +upper line is not cliped when there is no label. + +wxMSW: Restored old behaviour of wx.StaticBox.SetBackgroundColour only +affecting the label. + +wxMSW: Fixed missing EVT_RIGHT_DOWN and EVT_TREE_ITEM_RIGHT_CLICK +events in a wx.TreeCtrl. + +Added wx.GetTopLevelWindows() function which returns a copy of the +list of top-level windows that currently exist in the application. + +Updated docview library modules and sample apps from the ActiveGrid +folks. + +Added the ActiveGrid IDE as a sample application. + + + +2.5.4.1 ------- +wx.Sizer Add, Insert, and Prepend functions now return a reference to the +wx.SizerItem that was added to the sizer, and the wx.SizerItem has a +GetRect accessor to give the position of the item on the parent window. + +Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given +wx.Window, wx.Sizer or position index. + +wxMSW: wx.RadioButtons in the same group no longer have to be +consecutive (there may be intervening controls). Without this fix, an +out-of-sync assert is generated when clicking on a radio button and +then calling GetValue(). + +Some XRC changes: + - Added 'icon' property to wxFrame and wxDialog + - No longer ignores menu bitmaps on non-MSW platforms + - Notebook page bitmaps are now supported + - added system colours and fonts support (based on patch #1038207) + +wxMSW: fix for [ 1052989 ] TextCtrl.SetBackgroundColour(wx.NullColour) +bug. + +Added wx.PasswordEntryDialog analagous to wx.TextEntryDialog, allows +detecting entering an empty string vs. cancel unlike the +wx.GetPasswordFromUser dialog function. + OGL patch from Shane Holloway: Two simple problems found in the new python ogl code. First is - the patch for _canvas.py. Essentially: + the patch for _canvas.py. Essentially:: dx = abs(dc.LogicalToDeviceX(x - self._firstDragX)) dy = abs(dc.LogicalToDeviceY(y - self._firstDragY)) @@ -27,6 +139,231 @@ OGL patch from Shane Holloway: Fixed GetSaveData and SetSaveData in wx.lib.multisash to not depend on the default way that class objectss are converted to strings. +Fixed problem in StyledTextCtrl.Set[HV]ScrollBar that could leave the +internal scrollbar visible. + +Added wx.StandardPaths which provides methods for determining standard +system paths for each platform. + +wxMSW: The window background is now only erased by default if the +background colour or background mode has been changed. This better +allows the default system themed behaviour to show through for +uncustomized windows. Explicit support added for using the correct +theme texture for wx.Notebook pages and their children. + +wx.Image: Added support for alpha channels in interpolated and +non-interpolated image rotation. Added ConvertAlphaToMask helper +method for turning shades of grey into shades of alpha and a colour. + +wxGTK2: Reimplemented DoDrawRotatedText() by way of a rotation of an +alpha blended text bitmap. It would be better if Pango could draw +directly into an wxImage (as FreeType can,) but that is for later... + +Added wrappers and a demo for the wx.MediaCtrl class, which can play +various forms of audio/video media using native codecs install on the +system. So far it is only implemented for Windows and OSX. + +wxGTK: Patch applied for Freeze()/Thaw() for wxTextCtrtl. + +Added "gravity" for splitter window (patch 1046105). Gravity is a +floating-point factor between 0.0 and 1.0 which controls position of +sash while resizing the wx.SplitterWindow. The gravity specifies +how much the left/top window will grow while resizing. + +wxMSW: wx.Slider's C++ implementation rewritten to be more +maintainable and hopefully less buggy. The position of the labels has +also been changed in order to better comply with Microsoft's examples +of how to use the control. + +wxMSW: Fix wx.TreeCtrl to end label editing if the control loses +focus (a slightly modified patch 1084592.) + +Added wx.EXEC_NODISABLE flag for wx.Execute, which will prevent all +the app's windows being disabled while a synchronous child process is +running. + +wxMSW: Much work to correct painting (or leaving transparent) of +control backgrounds, properly using background themes on XP, etc. + +Fixed a circular reference problem with wx.Timer. It will now +completely cleanup after itself when the last reference to the timer +is removed. If you were previously using timer.Destroy() to cleanup +your timers it will no longer work. Instead you should hold a +reference to the timer and then del the reference when you are +finished with the timer. + +Updated to 1.3.24 of SWIG. All of my big patches have been applied to +the main SWIG source tree, but unfortunatly there were also some bugs +added that affected the wxPython build and a few details in my +original patch were changed/removed, so we are still not free of +patches. A new patch for SWIG is located in the wxPython/SWIG +directory of the wxPython source tree. SWIG 1.3.24 plus this patch +should be used by anyone who is making custom modifications to +wxPython's .i files, or building their own extension modules or +etc. that need to interact with the wxPython swigged types. For the +morbidly curious, here are a few more details: + + * Since it is now possible easily and simply share the SWIG type + tables across modules I reverted to always using the stock SWIG + runtime instead of my slightly hacked up version of it exported + via the wxPython C API. + + * The %name directive is now deprecated so I replaced most uses of + it with a custom %Rename macro that uses %rename internally. + These will evetually need to be replaced with a DocDecl macro + when docstrings are added for those items. + + * The "this" attribute of all SWIGged classes is no longer a + string containing a "swigified pointer", but rather a custom + built-in type that holds the real C pointer to the object and + the type info. It can be converted to a string like the old + value using str() or to the long integer value of the pointer + using long(). + +Added SetDefaultPyEncoding and GetDefaultPyEncoding functions which +will set/get the encoding used by wxPython to convert string or +unicode objects to/from wxString objects. Previously the default +Python encoding was always used, but unless the user had tweaked their +sitecustomize.py file it is always "ascii", which would result in +errors if the strings contained character codes >= 128. +SetDefaultPyEncoding will now allow you to control which encoding will +be used to do those conversions. The default encoding is set to the +value of `locale.getdefaultlocale()[1]` when wxPython is first +imported. Please see http://www.alanwood.net/demos/charsetdiffs.html +for information on the differences between the common latin/roman +encodings. + +Added wxStdDialogButtonSizer, which is a a special sizer that knows +how to order and position standard buttons in order to conform to the +current platform's standards. You simply need to add each `wx.Button` +to the sizer, and be sure to create the buttons using the standard +ID's. Then call `Realize` and the sizer will take care of the rest. + +wxMSW Toolbar: pass correct tool id (and not always -1) to the +EVT_TOOL_RCLICKED handler + +wxGTK: Applied patch for combo box SELECTED events (no longer get +lots of surplus events) + +wxGTK: Applied patch for proper menu highlight colour detection in +wx.SystemSettings. + +wxGTK: Commited scrollbar patch #1093339 which sends lineup, linedown +events based on intercepting the mouse down events. + +wxGTK: Applied patch #1102789 which solved conflicts between wxWidgets +and GTK+'s context menu code. + +wxGTK: Applied patch #1100327 for correct feedback from DND actions +(not all actions are allowed). + +Fixed memory leak in wxGrid::UpdateAttr[Rows][Or][Cols] (patch 1104355) + +For efficiency reasons, text controls no longer set the string for +each text updated event, but rather query for the string value only +when GetString is called from an event handler. + +Added wx.SL_INVERSE style which will cause wx.Slider to invert the min +and max ends of the slider. + +Several patches applied, such as #1111174, #1110252 and others, that +make the generic wx.TreeCtrl (used on wxGTK and wxMac) be more +conistent with the wxMSW native wx.TreeCtrl. + +XRCed: + * Edit->Locate command (Ctrl-L) for quick selection of items. + Works with event-handling controls (buttons, text fields) but + not with labels/sizers. + * Some improvements: relative paths for files supplied as command- + line argument work correctly, notebook panels are highlighted + better. + +wxMac: Fixed a long-standing issue where wxSlider controls with a +hardcoded size would misplace their labels behind the slider control. + +wx.HtmlListBox fixed so calling RefreshLine(s) will cause the data for +that line to be refetched from the overridden methods in the derived +class. + +The default DoGetBestSize now includes the difference (if any) between +the client size and total size of the window, (such as the size of +borders.) Code that sets the client size using the best size, or that +added extra space to sizers to compensate for this bug may need to be +changed. + +Can suppress themed notebook pages with the wxNB_NOPAGETHEME style or +setting system option msw.notebook.themed-background to 0. + +wxSyledTextCtrl updated to use Scintilla 1.62. + +Can now set the msw.window.no-clip-children system option to 1 to +eliminate weird refresh behaviour (delays between a window being +erased and repainted, giving a ghostly gradual-redraw effect). May be +a temporary 'fix' until properly fixed before 2.6. + +wxMac: Toolbar is now more native looking with borderless toolbar +buttons. + +wxMac: Switched wx.Bitmap to use newer Quartz object types and APIs +internally. This results in faster display and better alpha support. + +Added wx.DatePickerCtrl. + +wx.html.HtmlWindow now supports background images. + +Added wx.lib.gestures module from Daniel Pozmanter which supports +using Mouse Gestures in an application. + +wxGTK2: ENTER and LEAVE mouse events are now sent for multi-line text +controls. + +wxMSW: "Alt" key (VK_MENU) now results in WXK_ALT keyboard event, not +WXK_MENU + +Added modules from Peter Yared and Morgan Hua that implement the wx +Doc/View framework in pure Python code. See wx.lib.docview for the +base implementation and wx.lib.pydocview for Python-specific +extensions. There are also a couple sample applications located in +samples/docview. + +Added GetBitmap, GetIcon to wx.ImageList. + +wxGTK wx.Button.SetLabel no longer invalidates/resets the font. + +wx.Sizer.AddWindow, AddSizer, AddSpacer and etc. have now been +undeprecated at the request of Riaan Booysen, the Boa Constructor team +lead. Boa needs them to help keep track of what kind of item is being +managed by the sizer. They are now just simple compatibility aliases +for Add, and etc. + +The old C++ version of the OGL lib is no longer built by default. Use +the Python version in the wx.lib.ogl package instead. + +The wx.iewin module is no longer built by default. You can use the +wx.lib.iewin version instead. + +Fixed wx.BufferedPaintDC for scrolled windows to work whether the +buffer is covering only the client area or the full virtual area of +the scrolled window. By default it will assume that only the client +area is covered. This is different than the old behavior so to +indicate that the entire virtual area is covered simply add a +style=wx.BUFFER_VIRTUAL_AREA parameter. + +wx.gizmos.TreeListCtrl: Add support for the EVT_TREE_ITEM_GETTOOLTIP +event. + +Added Resize, SetRGBRect, Size, and GetOrFindMaskColour methods to +wx.Image. + +Added wx.Rect.IsEmpty + +wxGTK: + - Corrected wx.ListBox selection handling + - Corrected default button size handling for different themes + - Corrected splitter sash size and look for different themes + - Fixed keyboard input for dead-keys + + 2.5.3.1 @@ -58,8 +395,8 @@ button and wxWidgets will choose the stock label to go with it automatically. Additionally on the platforms that have a native concept of a stock button (currently only GTK2) then the native stock button will be used. For example, the following will result in a -button with "Cancel" as the label and an accelerator on the "C", and -if run on wxGTK2 then there will also be an image of a red X:: +button with "Cancel" as the label and if run on wxGTK2 then there will +also be an image of a red X:: b = wx.Button(parent, wx.ID_CANCEL) @@ -386,6 +723,9 @@ in the PyShell:: ... wx.MilliSleep(10) +wxGTK: Applied wxNO_BORDER patch (#1098374) for text control and combo +box. + 2.5.1.5