WMWidgets Class Hierarchy

Note: * represents widgets which cannot be instantiated, only inherited from
Only public inheritances are shown in this diagram.

WMWidget* - Base class for all widgets
  |
  +--WMEllipse* - Inherited widgets are displayed inside an ellipse
  |
  +--WMTextBar - Draw a string of text
  |
  +--WMMeter* - Base class for meter widgets
  |    |
  |    +--WMMeterBar - A bar that displays a quantity by ranging from
  |         |          empty to full
  |         +--WMSlider - A bar that can be slid up or down to set a value
  |                       (also inherits from WMCallback)
  |
  +--WMHistory - Show a graph of how a quantity has been varying with time
  |
  +--WMImage - Display an XPM on a region of the window
  |    |
  |    +--WMCanvas - Display a region which may be changed by drawing functions
  |    |
  |    +--WMLED - Display an image of an LED in one of four states
  |    |
  |    +--WMButton - A button which, when pressed, executes one or more
  |        ^         callback functions
  |        |       - may also have an image on it
  |        |
  +--WMCallback* - A widget that can execute callback functions when clicked
  |   ^
  |   |
  |  WMClickable* - (does not inherit from WMWidget)
  |   |             Inherited widgets must specify what happens when
  |   |             a mouse button is pressed or released, by defining
  |   |		    press() and release() methods.
  |   v
  +--WMFrame - A widget which contains other widgets and may have an optional
       |       border
       +--WMWindow - The topmost level widget.  All other widgets must be
                     contained (recursively) by this widget in order to be
                     displayed
  

WMApp - Contains one or more WMWindows.  Only one WMWindow may be displayed
        on screen at a time.  (WMWindows are still active in the background
        when not displayed, unless they are set otherwise.)

