Version 16 of What is a Megawidget

Updated 2003-01-10 18:34:36

Purpose: collect information and pointers to what megawidgets are, how to write them, etc.


Occasionally these have been called meta-widgets rather than megawidgets.


A mega widget is NOT an attempt to create new, unique, widgets. Instead, it is an effort to combine existing widgets in ways that are commonly needed (or at the very least interesting to the person who is writing the megawidget).


See also Composite fields megawidgets.

See Adding User Data to Widgets the Megawidget Way.

Steve Uhler's 1996 Tcl workshop presentation slides on the search for the perfect megawidget can be found at http://www.best.com/%7Esau/mega/ .

282. Chengye Mao mailto:[email protected] has a web page which discusses building combined widgets (aka mega widgets) in pure Tcl at http://www.geocities.com/%7Echengye/comb.html .


Here are some of the megawidget frameworks of which I (LV) am aware. Please add to the following list.

 What: tablelist
 Where: http://www.nemethi.de/
 Description: This is a Multi-Column listbox designed for Tcl/Tk 8.x as
        well as a general utility module for other megawidgets like
        tablelist.  This widget allows each column to be dynamically
        sized and has several alignments.  It supports a variety of
        listbox like commands.  It also comes with bindings so that
        it acts like a listbox.
        Currently at version 1.6 .
 Updated: 08/2001
 Contact: mailto:[email protected]
 What: TkMegaWidget
 Where: http://www.ignoranceisbliss.com/htdocs/tkmegawidget.html
        ftp://ftp.procplace.com/pub/tcl/sorted/packages-7.6/devel/TkMegaWidget3.6g.tar.gz
        ftp://ftp.procplace.com/pub/tcl/sorted/packages-7.6/devel/TkMegaWidget4.0b.tar.gz
 Description: Support new Tcl/Tk widgets allowing you to attach minor commands
        and options to a widget, or even a private interpreter.
        Version 4.0b is available from the WWW page.
 Updated: 07/2000
 Contact: mailto:Unknown (Sven Delmas)
 What: [incr Tk] Slate megawidget
 Where: http://ptolemy.eecs.berkeley.edu/%7Ejohnr/code/slate/
 Description: The Slate is an [incr Tcl] megawidget layered over the Tcl/Tk
        canvas.  It contains visual hierarchy, symbolic item aspects and
        interaction support.  Release 3.0alpha supports
        Tcl 8.0 or [incr Tcl] 3.0.
 Updated: 07/1998
 Contact: mailto:[email protected] (John Reekie)
 What: Pmw
 Where: http://www.dscpl.com.au/pmw/
        ftp://ftp.dscpl.com.au/pub/pmw/Pmw.0.8.tar.gz
        http://www.dejanews.com/getdoc.xp?AN=423519318
        http://pmwcontribd.sourceforge.net/
 Description: A megawidget framework for constructing high-level
        compound widgets in Python 1.5.2 using Tk 8.x. Contains of a set of
        base classes for building megawidgets and a library of
        megawidgets such as ComboBox, Dialog, ButtonBox, etc. Also
        contains a python interface to BLT2.1's busy, graph and vector
        commands. The PmwContribD web site provides several Pmw based Tkinter
        widgets, including a ProgressMeter, basic TreeNavigator, and a GUI
        application framework for creating simple GUI apps quickly.
 Updated: 10/1999
 Contact: mailto:[email protected] (Greg McFarlane)
        mailto:[email protected] (Doug Hellmann)

Category GUI