X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3ca6a5f04692678cd2d9f3ea0843fc3f5a0b254f..a044cb721af4610dc8443e24f9f51535f69ab02c:/wxPython/CHANGES.txt diff --git a/wxPython/CHANGES.txt b/wxPython/CHANGES.txt index a64317d078..4cfcb16f19 100644 --- a/wxPython/CHANGES.txt +++ b/wxPython/CHANGES.txt @@ -2,11 +2,357 @@ 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. + + + + +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, (on wxMSW.) + +Changed wxFont, wxPen, wxBrush to not implicitly use the +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. + +Also added wxTheColourDatabase and added a library module (in the +wxPython.lib.colourdb module) to load LOTS more colour names into the +colour database. + +Added wxWakeUpMainThread, wxMutexGuiEnter, wxMutexGuiLeave, +wxMutexGuiLocker and wxThread_IsMain to assist with dealing with GUI +access from non-GUI threads. + +wxPyOnDemandOutputWindow is now (more) thread safe if non-GUI threads +use print, sys.stdout.write, etc. + +Added CreateTextSizer and CreateButtonSizer to wxDialog + +Added wxPython/lib/infoframe.py from Chris Fama. It contains a class +that can be used in place of wxPyOnDemandOutputWindow. + +Added colourselect.py, imagebrowser.py and an updated calendar.py to +wxPython/lib from Lorne White. + +Added patch to wxPoint_LIST_helper from Tim Hochberg that should make +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 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 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. + + + + +2.2.6 +----- + +No changes happened in the Python wrappers for this release, only +changes and fixes in the wxWindows library. + + + +2.2.5 +----- + +New typemaps for wxString when compiling for Python 2.0 and beyond +that allow Unicode objects to be passed as well as String objects. If +a Unicode object is passed PyString_AsStringAndSize is used to convert +it to a wxString using the default encoding. + +Fixed the generic buttons so tool tips work for them. + +Fixed a bug in the demo's tree control. + +Added a listbox to the listbox demo that shows how to find items with +a matching prefix as keys are typed. + +Added code to the wxListCtrl demo to show how to get text from a +column in report mode. + +Added code to the toolbar demo to clear the long help from the status +bar after 2 seconds. + +Added wxJoystick. + +Fixed wxTimer so it can be used as described in the docs, either with +a Notify method in a subclass, or sending an event to a wxEvtHandler +object, (usually a window.) + +Added wxNotifyEvent.Allow() + +Fixed GOBS of reference leaks. + +Massive code changes and cleanup to allow wxPython to be split into +multiple extension modules again. A Python CObject is used to allow +the "export" of SWIG functions and other common helper functions from +the wxc module to other modules, even if they are in separate shared +libraries. Should also be usable from 3rd party code, just include +wxPython/src/export.h + +Changed the default setup so the following are built as separate +extension modules: calendar, glcanvas, grid, html, ogl, stc, and +utils. Will probably add more later. + +Changed the wxPrinterDC to use the new constructor taking a +wxPrintData object. The old ctor is still there using the +wxPrinterDC2 name. + +Added wxPython.lib.anchors.py from Riaan Booysen. It contains a class +that implements Delphi's Anchors with wxLayoutConstraints. + +Added wxPython.lib.fancytext from Timothy Hochberg. + +Changed the GenericButtons to send their event in idle time, so the +mouse won't be captured when the event handler is called. + +Added wxPython.lib.rpcMixin from Greg Landrum, although it's not +integrated with the demo yet. It allows a wxPython GUI to be an +XML-RPC server. + + + +New in 2.2.2 +------------ + +Significantly changed how the wxStyledtextCtrl code that wraps +Scintilla is implemented. Most of it is now automatically generated +from an interface definition file provided by Scintilla. This means +that it will be much easier to stay in sync with new Scintilla +releases, but also means that some of the method and identifier names +have changed. See wxPython/demo/data/stc.h for a copy of the C++ +interface from which the Python interface is generated. There is now +some inline documentation in that file that should really help explain +how things work. + +I am now using the Python Distutils to build wxPython and to make some +of the distribution files. (See http://www.python.org/sigs/distutils-sig/) +This means no more messing with my kludgy build.py/Makefile hack, +builds will be more consistent with other Python extensions that also +use Distutils, and will hopefully make wxPython easier to build for +platforms where there have been troubles before. If you are building +wxPython for Python 1.5.2 or for 1.6, then you will need to get and +install version 1.0 of Distutils from the website above. If you are +using Python 2.0 then you already have it. + +Added wxInputStream and the wxFileSystem family of classes, +contributed by Joerg Baumann. + +Added wxProcess and support for it to wxExecute. wxProcess lets you +get notified when an asyncronous child process terminates, and also to +get input/output streams for the child process's stdout, stderr and +stdin. + +Removed the old python sizers. + +Added __add__, __sub__ and __cmp__ (equality check only) for wxPoint +and wxRealPoint. + +Changed the build to make one big extension module instead of one for +the core and each contrib. This allowed me to do away with the +libwxPyHelpers.so on unix systems. + +Lots of little fixes here and there. + +Some hacks on wxGTK to try and make the AutoComplete listbox in the +wxStyledTextCtrl to behave better. It's still not as nice as on +wxMSW, but at least it's a bit more usable now. + + + + New in 2.2.1 ------------ Various tweaks, fixes, missing methods, etc. +Added example use of wxTaskBarIcon to the demo. + New in 2.2.0