]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/CHANGES.txt
Added ability for wxSTC's scrollbars to be supplieed externally, such
[wxWidgets.git] / wxPython / CHANGES.txt
index 37670eb11a006ae3637348d4ed97e23fa27a3b70..4b3e749313e2596cced427643692af5d5293e06c 100644 (file)
@@ -2,14 +2,125 @@ CHANGES.txt for wxPython
 
 ----------------------------------------------------------------------
 
-?????
+2.3.2 (pre)
+-----
+Added EVT_HELP, EVT_HELP_RANGE, EVT_DETAILED_HELP,
+EVT_DETAILED_HELP_RANGE, EVT_CONTEXT_MENU, wxHelpEvent,
+wxContextMenuEvent, wxContextHelp, wxContextHelpButton, wxTipWindow,
+and a demo to show them in action.
+
+Deprecated PyShell and PyShellWindow, added a snapshot of PyCrust (see
+http://sourceforge.net/projects/pycrust/. )
+
+Added the new virtual list capabilities to wxListCtrl.
+
+Added a wxSTC style editor from Riaan Booysen to the sample apps.
+
+Added XRCed to the wxPython Tools directory, contributed by Roman
+Rolinsky.
+
+Added a new "constructor" to most of the window classes that calls the
+default C++ contructor, (the one with no parameters) and also added the
+coresponding Create(...) method.  This allows you to do a 2-step
+creation of windows which is sometimes required for doing things such
+as setting extended style flags before the window is created, or for
+passing the object to the XRC resource system to be created from the
+resource.  The name of the new "constructor" is the original name of
+the class with a "Pre" in it.  For example, wxPreWindow, wxPreFrame,
+etc.
+
+Updated to version 1.40 of Scintilla and updated wxStyledTextCtrl
+accordingly.  While doing this update I dropped the wxLB_SORT style
+from the wxListBox created for the AutoComplete functionality.  This
+means that you will have to sort the keyword lists yourself, but you
+are free to do case sensitive or case insensitive sorts and set the
+wxSTC flag accordingly.
+
+Updated wxColumnSorterMixin to also be able to place sort icons on the
+column headers, and updated the wxListCtrl demo to show it off by
+using wxColumnSorterMixin.
+
+Added wxGenBitmapTextButton, TablePrint, etc. contribs from Lorne White.
+
+Added wxNativeFontInfo and wxFontMapper.
+
+Added pySketch to the samples.
+
+Significantly changed how the Python interpreter lock and thread state
+are managed, which should fix the problem of running on a
+multi-processor machine.
+
+Added wxPyLog so log targets can be created in Python to handle log
+messages however is wished.  See demo/Main.py for an example.
+
+Added wxFindReplaceDialog.
+
+The second phase of OOR is implemented (for wxEvtHandler and derived
+classes at least.)  This means that finctions and methods that return
+an object derived from wxEvtHandler that was originally created in
+Python, will return the original python object (if it still exists)
+instead of letting SWIG wrap a new shadow object around the original
+C++ pointer.
+
+Added some optimization methods to wxDC: GetBoundingBox, DrawLineList,
+DrawPointList.
+
+Added a set of sophisticated Error Dialogs from Chris Fama.
+
+Added wxRightTextCtrl from Josu Oyanguren to wxPython.lib for aligning
+text in a wxTextCtrl to the right side.
+
+Added wxURLDataObject and and example showing drag and drop of URLs to
+and from web browsers.  It's still not 100% bullet-proof for all types
+of browsers, but it works for the majority of cases with the popular
+browsers on Windows.  On wxGTK it seems that only Netscape 4.x works,
+if anybody has any suggestions about this please bring it up on the
+wx-dev list.
+
+Added wxStopWatch.
+
+Added wxMimeTypesManager and wxFileType.
+
+Passing None for the handler parameter to one of the EVT_** functions
+will now Disconnect the event.
+
+Added wxPopupWindow and wxPopupTransientWindow.
+
+Added wxFileHistory.
+
+
+
+
+2.3.1
+-----
+Added EVT_GRID_EDITOR_CREATED and wxGridEditorCreatedEvent so the user
+code can get access to the edit control when it is created, (to push
+on a custom event handler for example.)
+
+Added wxTextAttr class and SetStyle, SetDefaultStyle and
+GetDefaultStyle methods to wxTextCtrl.
+
+Added ability to use xml resource files.  Still need to add ability to
+subclass wxXmlResourceHandler, etc...
+
+Added wxGridAutoEditMixin to the mixins library package.
+
+Made ColourSelect be derived from wxButton.
+
+Fixed img2py to work correctly with Python 2.1.
+
+Added enhanced wxVTKRenderWindow by Prabhu Ramachandran
+
+
+
+2.3.0
 -----
 Removed initial startup dependency on the OpenGL DLLs so only the
-glcanvasc.pyd depends on them.
+glcanvasc.pyd depends on them, (on wxMSW.)
 
 Changed wxFont, wxPen, wxBrush to not implicitly use the
-wxThe[Font|Pen|Brush]List behind the scenes, but to use normal ctor
-and dtors.
+wxThe[Font|Pen|Brush]List objects behind the scenes, but to use normal
+ctor and dtors.
 
 Exposed the wxThe[Font|Pen|Brush]List to wxPython.
 
@@ -37,25 +148,90 @@ it gobs faster in certain situations.
 
 Added tools that will take an image file in a wx supported format and
 convert it to data embedded in a Python source file.  The image is
-converted to XPM format (with its transparency mask intact, if there
-is one) which is essentially a list of strings containing info about
-each pixel.  It is then pickled and optionally compressed and written
-to a Python source file along with functions to convert it to either a
-wxBitmap or a wxImage.  See wxPython/demo/images.py for examples, and
-wxPython/Tools/img2py.py for the implementation.  Unfortunatly, there
-is no SaveFile implemented for the XPM image type in wxGTK so the
-tools to create the embedded image files don't work on wxGTK, only on
-wxMSW.  The img2xpm.py tool could probably be hacked to use external
-tools, or PIL, to do the XPM conversion on wxGTK.  If somebody does
-this please send me a patch.
+converted to XPM format which is essentially a list of strings
+containing info about each pixel.  The image's transparency mask is
+included, if there is one, or a mask can be added if a mask colour is
+specified on the command line.  It is then pickled and optionally
+compressed and written to a Python source file along with functions to
+convert it to either a wxBitmap or a wxImage.  See
+wxPython/demo/images.py for examples, and wxPython/Tools/img2py.py for
+the implementation.
 
 Fixed wxStyledTextCtrl to be much faster on wxGTK.  There was some
 experimental code that got left in place that ended up causing way too
 many refreshes.
 
-A couple hacks in my_distutils.py so wxPython can be built with the
-distutils that comes with Python 2.1.
-
+A couple more hacks in my_distutils.py so wxPython can be built with
+the distutils that comes with Python 2.1.
+
+Added a ton of missing methods for wxPrintData.
+
+Switched to InnoSetup for MSW distributions.
+
+Added wxToggleButton.
+
+Fixed bug that prevented wxTreeCtrl.OnCompareItems from being called.
+
+Added some methods to wxGrid:
+      GetCellHighlightPenWidth
+      GetCellHighlightROPenWidth
+      SetCellHighlightPenWidth
+      SetCellHighlightROPenWidth
+      GetGridWindow
+      GetGridRowLabelWindow
+      GetGridColLabelWindow
+      GetGridCornerLabelWindow
+
+Added wxGetClientDisplayRect which on wxMSW returns a wxRect
+representing the area on screen not occupied by the taskbar and such.
+On other platforms it is equivallent to wxGetDisplaySize.
+
+
+***---***---***---***---***---***---***---***---***---***---***---
+   Implemented the first phase of OOR (Original Object Return).  See
+   the text in the demo for more details of what this means, but in a
+   nutshell methods such as wxWindow.GetParent or FindWindowById will
+   now return a shadow object of the proper type if it can.  By
+   "proper type" I mean that if the wxWindow pointer returned from
+   FindWindowById really points to a wxButton then the Python object
+   constructed will be of a wxButtonPtr class instead of wxWindowPtr
+   as before.  This should reduce or eliminiate the need for
+   wxPyTypeCast.  (Woo Hoo!)  The objects returned are still not the
+   original Python object, but that is the next step.  (Although it
+   will probably only work on Python 2.1 and beyond because it will
+   use weak references.)
+
+   This first phase of the OOR plan is fairly significant and has
+   required a lot of changes all over wxPython, most of which should
+   be transparent to you, however I'm not 100% sure that it didn't
+   introduce any new bugs that are hiding somewhere and didn't get
+   stomped on during my testing.  So please be sure to test everything
+   thoroughly when you install this version and be sure to report any
+   object-type related oddities to me.
+***---***---***---***---***---***---***---***---***---***---***---
+
+There is now a wxObject class that most other classes derive from like
+in C++, but the methods provided don't really match but are wxPython
+specific.  It could have been added long ago but OOR required it so it
+finally got done.
+
+Finally added wxPyLineShape.GetLineControlPoints, which has been on my
+list for a while.  The above OOR modification made this easier.
+
+Fixed the __cmp__ methods for wxPoint and others.
+
+Added wxWave.
+
+Added the wxPython.lib.mixins package to the library, it is where
+useful mix-in classes can be placed.  Currently there is one to help
+make the columns in a wxListCtrl sortable, and the MagicIMageList from
+Mike Fletcher.  If you have any custom code that can be factored out
+of existing classes into a mix-in that would be useful to others
+please send it to me for inclusion in this package.
+
+Added a few little sample applications to help newbies to get started
+by having smaller functional apps to play with.  They can be found in
+wxPython/samples.