ANNOUNCE: Pmw megawidgets 0.8.4
gregm at iname.com
Fri May 12 15:59:11 CEST 2000
Greg McFarlane <gregm at iname.com>
A new release of Pmw is out. The main changes in this release are:
- Added Pmw.MainMenuBar megawidget, which uses the menubar feature
of Tk to provide platform specific menu bars.
- Added Pmw.HistoryText megawidget. This can be used as the basis
of an interactive text-based database query gui. It maintains a
history of each query and allows editing of prior queries.
- Fixed several memory leaks. There are no more known memory leaks.
- Fixed problem in PmwBase when deleting windows that were created
before Pmw was initialised (such as splash windows displayed while
the application is coming up).
- Added splash window to Pmw demo.
- Removed key bindings for Pmw.ScrolledListBox except space and
- Fixed bug in Pmw.Balloon when the canvas or text item that
triggered the balloon is deleted before the balloon is displayed
by the initwait timer.
- Added arrownavigation option and previouspage() and nextpage()
methods to Pmw.NoteBook.
- Converted from regex module to re module, since regex is not
implemented for Jpython.
- Added references to the excellent Pmw.Blt.Graph documentation by
Bjørn Ove Thue and Hans Petter Langtangen.
For more information on Pmw, see the home page at
and click on the link to the latest version.
You can fetch the entire distribution from
If you have any comments, enhancements or new contributions, please
contact me (gregm at iname.com).
For those that do not know about Pmw, here is an extract from the
Pmw is a toolkit for building high-level compound widgets, or
megawidgets, constructed using other widgets as component parts.
It promotes consistent look and feel within and between graphical
applications, is highly configurable to your needs and is easy to
Pmw consists of:
- A few base classes, providing a foundation for building
- A library of flexible and extensible megawidgets built on
the base classes, such as buttonboxes, notebooks,
comboboxes, selection widgets, paned widgets, scrolled
widgets and dialog windows.
- A lazy importer/dynamic loader which is automatically
invoked when Pmw is first imported. This gives unified
access to all Pmw classes and functions through the Pmw.
prefix. It also speeds up module loading time by only
importing Pmw sub-modules when needed.
- Reference documentation, consisting of complete listings of
megawidget options, methods and components. Full
descriptions are also available for all the base classes and
several other megawidget classes. Descriptions of the other
megawidgets will be released soon.
- A test framework and tests for Pmw megawidgets.
- A slick demonstration of the megawidgets.
- An interface to the BLT busy, graph and vector commands.
The interface to Pmw megawidgets is similar to basic Tk widgets,
so it is easy for developers to include both megawidgets and basic
Tk widgets in their graphical applications. In addition, Pmw
megawidgets may themselves be extended, using either inheritance
The use of the Pmw megawidgets replaces common widget combinations
with higher level abstractions. This simplifies code, making it
more readable and maintainable. The ability to extend Pmw
megawidgets enables developers to create new megawidgets based on
Greg McFarlane INMS Telstra Australia gregm at iname.com
More information about the Python-list