]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/docs/CHANGES.txt
fixed LastRead() after Read(wxOutputStream&) (patch 1658301)
[wxWidgets.git] / wxPython / docs / CHANGES.txt
index 991c9a76b83f9ddf966f01fa21036a0b32b5600d..fe9cdd31c9c1e7233cc2043d34b1df79fb2e42cb 100644 (file)
 Recent Changes for wxPython
 =====================================================================
 
-2.7.0.0
+2.9.0.0
 -------
 *
 
+wxGTK: Implemented support for underlined fonts in wx.StaticText
+
+wxGTK: wx.TopLevelWindow.SetSizeHints size increments now work
+
+Added wx.EventBlocker class 
+
+
+
+
+2.8.1.2
+-------
+*
+
+Added wx.ToolBar.SetToolNormalBitmap and SetToolDisabledBitmap
+methods.  (Keep in mind however that the disabled bitmap is currently
+generated on the fly by most native toolbar widgets, so this
+SetToolDisabledBitmap method won't have any affect on them...)
+
+Refactored the inspection tool such that it can be used as a wx.App
+mix-in class as it was used before (with the wx.lib.mixins.inspect
+module) and also as a non mix-in tool (using wx.lib.inspect.InspectionTool). 
+
+
+
+
+
+2.8.1.1
+-------
+* 19-Jan-2007
+
+wxMSW: Fix lack of spin control update event when control lost focus
+
+Added a typeId property to the PyEventBinder class that holds the
+eventType ID used for that event.  So when you need the eventType
+(such as when sending your own instance of standard events) you can
+use, for example, wx.EVT_BUTTON.typeId instead of
+wx.wxEVT_COMMAND_BUTTON_CLICKED.   Note that there are a few composite
+events, such as EVT_MOUSE and EVT_SCROLL, that will actually bind
+multiple event types at once, and in these cases the typeId property
+may not give you what you want.  You should use te component events in
+these cases.
+
+PyCrust now has an option for showing/hiding the notebook.
+
+wxMSW:  Corrected drawing of bitmaps for disabled menu items.
+
+Enhanced the wx.lib.mixins.inspect module.  In addition to showing a
+PyCrust window it is now a widget browser, which provides a tree
+loaded up with all the widgets in the app, optionally with the sizers
+too, and also a panel displaying the properties of the selected
+window.  Run the demo and type Ctrl-Alt-I keystroke (or Cmd-Alt-I on
+the Mac) to see how it works.  You can add this to your own apps with
+just a few lines of code.
+
+Added wx.SearchCtrl.[Get|Set]DescriptiveText
+
+wxMac: Added support for the wx.FRAME_FLOAT_ON_PARENT style.
+
+wxMac: the popups used for call tips and autocomplete lists in
+StyledTextCtrl (such as in PyShell) are now top-level float-on-parent
+windows so they are no longer clipped by the bounds of the stc window.
+
+
+
+
+
+2.8.1.0
+-------
+* 8-Jan-2006
+
+Added EVT_TASKBAR_CLICK and use it to show taskbar icon menu on right
+button release, not press, under MSW (bug 1623761)
+
+Added wx.TreeCtrl.CollapseAll[Children]() and IsEmpty() methods
+
+Fix wx.MDIChidFrame.GetPosition() (patch 1626610)
+
+Fix attribute memory leak in wx.grid.Grid::ShowCellEditControl() (patch
+1629949)
+
+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.
+
+wxMac: Applied patch #1622389, fixing two memory leaks in
+GetPartialTextExtents.
+
+More fixes for the native wx.ListCtrl on Mac.
+
+Added wx.aui.AuiNotebook.GetAuiManager().
+
+Added wx.aui.AuiMDIParentFrame and wx.aui.AuiMDIChildFrame, which
+essentially implement the MDI interface using a normal wx.Frame and a
+wx.aui.AuiNotebook.  
+
+
+
+
+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
@@ -52,21 +333,20 @@ 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)
+        # 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)
+        # 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)
-
+        # 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
@@ -123,7 +403,7 @@ 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.
+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
@@ -162,8 +442,9 @@ 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 that was
-hit (if any) in addition to the item and flags.
+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.
@@ -190,6 +471,141 @@ 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.
+
+
 
 
 
@@ -264,7 +680,7 @@ 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
+          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
@@ -693,9 +1109,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
@@ -1566,11 +1982,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