ANNOUNCE: wxPython 2.9.2.2
Announcing ---------- wxPython 2.9.2.2 has been released and is available for download at http://wxpython.org/download.php. This build adds some fixes for some bugs, and also a couple nice new features. The Cairo version of the wx.GraphicsContext back-end can now be used on Windows, and there is a new module in the library that helps wx applications to update themselves when new versions of the software are released. Various binaries are available for 32-bit and 64-bit Windows, and also for OSX using the Carbon and Cocoa APIs, for Python 2.6 and 2.7, and source code is also available at http://wxpython.org/download.php of course for building your own. What is wxPython? ----------------- wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a set of Python extension modules that wrap the GUI components of the popular wxWidgets cross platform library, which is written in C++. wxPython is a cross-platform toolkit. This means that the same program will usually run on multiple platforms without modifications. Currently supported platforms are 32-bit and 64-bit Microsoft Windows, most Linux or other Unix-like systems using GTK2, and Mac OS X 10.4+. In most cases the native widgets are used on each platform to provide a 100% native look and feel for the application. Changes in 2.9.2.2 ------------------ Fixed a problem with wx.ListCtrl.InsertStringItem when an imageIndex was not passed. Change the listctrl to not always assume that there is an image. Several fixes for the wx.lib.agw modules. Fixed a problem in wxGrid on OSX-cocoa where it would close the cell editor immediately because of extra kill focus events. Added an OSX implementation for the wxRegion constructor taking a sequence of points. Added the ability to use the Cairo backend for wx.GraphicsContext on Windows. The Cairo libraries are loaded dynamically on-demand, so there is not a runtime dependency on Cairo for applications that do not use it. The Cairo DLL and its dependencies are bundled with the wxPython installers. We expect to be able to also add dynamic loading of Cairo for OSX soon, (but if anybody would like to volunteer that would be nice too.) To create a Cairo graphics context you first have to get the Cairo GraphicsRenderer and then use it to create the context, like this:: cr = wx.GraphicsRenderer.GetCairoRenderer() ctx = cr.CreateContext(dc) If either GetCairoRenderer or CreateContext fails (either it's not supported or the Cairo shared libraries can not be found) then None will be returned, so be sure to check the return values. Using Cairo on Windows is usually faster and seems to be of better quality than using the GDI+ backend. The wx.GCDC class can now be constructed with an already exisiting wx.GraphicsContext. The wx.lib.softwareupdate module has been added. It implements a class designed to be mixed with wx.App in a derived class and provides code for enabling your applications to update themselves when new releases are made available (very similar to how most applications on the Mac will prompt you to allow it to self-update.) This is based on the Esky library available from the Python package index at http://pypi.python.org/pypi/esky. To enable your application to be self-updatable it must be packaged as an Esky bundle, which is a .zip file with a certain structure and meta-data, which means that you will have to modify your setup.py files to enable this. There is an example showing how to do this in the samples/doodle folder of the wxPython source tarball or the docs and demos package. Added a MultiMessageDialog class to wx.lib.dialogs that is similar to the stock wx.MessageDialog, but is additionally able to have a scrollable message area, custom icons, and customized button labels, (although they will still use the stock IDs). There is also a MultiMessageBox Function that is like the wx.MessageBox function. -- Robin Dunn Software Craftsman http://wxPython.org
participants (1)
-
Robin Dunn