ANN: wxPython

Robin Dunn robin at
Sun Jan 12 00:56:14 CET 2003

I'm pleased to annouce that the release of wxPython is ready for 
download from  wxPython is the Python binding to 
the wxWindows C++ cross platform GUI library, which supports creating 
GUI applications on WIndows, Linux and Mac OS X with a native look and feel.

This release is primarily a bugfix release and a transition from the 
2.3.x series to the "stable" 2.4.x series of releases.  However there 
have been a few releases made since I last widely announced it so I will 
summarize the new features in the recent releases below

Updated XRCed and wxTimeCtrl contribs.

Show a couple new wxGrid features in the demo.

Added wxHtmlFilter.

wxASSERT and related C++ runtime diagnostics are now converted to
Python exceptions.  When an assert happens a wxPyAssertionError
(which derives from AssertionError) exception is created and when
control returns back to the Python code that invoked the C++ API it
will be raised.  The same exception restrictions are in place as
before, namely that exceptions can't cross from one Python layer
through C++ to another Python layer.  That simply means that if you
want to catch wxPyAssertionError or any other exception that you need
to do it before control returns to C++ at the end of your event
handler or callback code.  There is some test code in demo/
you can use to play with this new feature.

Added some methods to wxApp (SetAssertMode and GetAssertMode) that let
you control how C++ assertions are processed.  Valid modes are:
wxPYAPP_ASSERT_DIALOG.  Using _SUPPRESS will give you behavior like
the old "final" builds and the assert will be ignored, _EXCEPTION is
the new default described above, and _DIALOG is like the default in and prior "hybrid" builds.  You can also combine _EXCEPTION
and _DIALOG if you wish, although I don't know why you would.

You can now overload OnInitGui, OnExit and OnAssert in your classes
derived from wxApp.

Added GetSelectedCells, GetSelectionBlockTopLeft,
GetSelectionBlockBottomRight, GetSelectedRows, GetSelectedCols nethods
to wxGrid.

Added Python == and != operators for some basic classes.

Fixed the Python wrappers for wxInputStream so they no longer block
when reading from a wxProcess on wxGTK.  They now work more or less as
they did before but the dual meaning of eof() has been
removed.  There is now a CanRead() method that lets you know if there
is data waiting to be read from the pipe.

Fixed method name clash in wxIEHtmlWin, renamed Refresh to RefreshPage.

Added Throbber from Cliff Wells to the library and the demo.

Windows installer prompts to uninstall old version first.

Added wxPython.lib.evtmgr by Robb Shecter, which is an easier, more
"Pythonic" and more OO method of registering handlers for wxWindows
events using the Publish/Subscribe pattern.

Added wxPython.lib.popupctl by Gerrit van Dyk which is a combobox-like
gizmo for poping up arbitrary controls.  It is currently using
wxDialog because of some issues with wxPopupWindow...

Added wxPython.lib.gridmovers by Gerrit van Dyk which facilitates the
dragging of columns and/or rows in a wxGrid.

Added wxPython.lib.multisash by Gerrit van Dyk which is a nice
implementation of allowing the user to split a window any number of
times either horizontally or vertically, and to close the split off
windows when desired.

Added helpviewer tool that displays HTML books similarly to how MS
HTMLHelp viewer does.  Changed how the wxPythonDocs tarball is built
and added a script to launch the doc viewer.

Robin Dunn
Software Craftsman  Java give you jitters?  Relax with wxPython!

More information about the Python-list mailing list