HELP ATHENA                                Andreas Schoter, July 1991

This file describes the POPLOG interface to the Athena Widget Set.


         CONTENTS - (Use <ENTER> g to access required sections)

 -- Introduction
 -- Accessing Athena in POPLOG
 -- Athena Widgets
 -- Simple Widgets
 -- Menu Widgets
 -- Text Widgets
 -- Composite and Constraint Widgets
 -- Associated Documentation


-- Introduction -------------------------------------------------------

Athena is a public domain widgetset written at MIT and provided on the
MIT X tapes as an example widgetset. Athena widgets are therefore freely
available at many sites and for many architectures. Athena widgets are
built on top the the X Toolkit Intrinsics and C Xlib libraries. Athena
widgets provide a set of user interface tools for building interactive
graphical applications.

POPLOG provides a full programmers interface to the Athena widget set.

POPLOG does not include full online documentation for the Athena widget
set. REF *ATHENA gives a brief synopsis of the calling modes for each
procedure POPLOG provides to interact with the Athena widget set - these
shadow the Athena C functions and for full details the reader is asked
to refer to "The Athena Widget Set - C Language Interface" by Chris D.
Paterson, MIT X Consortium.

TEACH *ATHENA contains a worked example showing how to create a simple
Athena control panel.  Working through this will give you a basic
understanding of using widgets in POPLOG.

-- Accessing Athena in POPLOG -----------------------------------------

POPLOG does not have Athena widgets built into its binary, so to use
Athena widgets they must be dynamically loaded from the C object
library.  This is done for you automatically when you access the widget
set via the standard POPLOG procedure (see REF *XptWidgetSet).  If you
are loading a large number of widget classes this will take some time.


-- Athena Widgets -----------------------------------------------------

Athena includes several different types of widgets: Simple Widgets, Menu
Widgets, Text Widgets, and Composite and Constraint Widgets.


-- Simple Widgets -----------------------------------------------------

Simple Widgets are designed to perform specific user interface
functions, displaying information, or handling small amounts of user
input.  They are called "simple" because they cannot have children
(i.e. they can only be used as leaves on the widget tree).  For
details see Chapter 3 of the Athena Widget Set Manual. The following
widget classes are all examples of Athena Simple Widgets:

    CommandWidget
    GripWidget
    LabelWidget
    ListWidget
    ScrollbarWidget
    SimpleWidget
    StripChartWidget
    ToggleWidget


-- Menu Widgets -------------------------------------------------------

Menu widgets provide support for single paned popup and pulldown menus.
These may not be hierarchical (i.e. menu entries may not be themselves
other menus).  The menu widget set provides a container and a collection
of objects for making menu entries. For details see Chapter 4 of the
Athena Widget Set Manual. The following classes are all part of the menu
widget collection:

    MenuButtonWidget
    SimpleMenuWidget
    SmeBSBObject
    SmeLineObject
    SmeObject


-- Text Widgets -------------------------------------------------------

Athena text widgets provide facilities to display and edit one or more
lines of text. There are many facilities including scrollbars, search,
and built-in edit function to key sequence bindings.  The text widget
collection consists of several widgets and objects with a high degree of
modularity. For details see Chapter 5 of the Athena Widget Set Manual.
The following components comprise the text widget group:

    AsciiTextWidget
    AsciiSrcObject
    AsciiSinkObject
    TextWidget
    TextSrcObject
    TextSinkObject


-- Composite and Constraint Widgets -----------------------------------

Athena Composite and Constraint Widgets are used to contain arbitrary
widget children.  Each type of composite/constraint widget implements a
different policy for controlling the size and location of its children.
Some of them provide certain children as standard, whilst others do not
allowing the user full control.  For details see Chapter 6 of The Athena
Widget Set Manual.  The following are all Composite/Constraint Widgets:

    BoxWidget
    DialogWidget
    FormWidget
    PanedWidget
    ViewportWidget


-- Associated Documentation -------------------------------------------

For a complete description of Athena widgets see

    "Athena Widget Set -C Language Interface, X Window System,
     X Version 11, Release 4", by Chris D. Peterson, MIT X Consortium


For general information on X and POPLOG see

    REF *X              - an overview of interfaces to X
    HELP *X             - the POPLOG X Window interface


For information on the POPLOG Widget Set see

    TEACH *XTOOLKIT     - Tutorial for the X Toolkit
    TEACH *Xpw          - Tutorial for the POPLOG widget set
    HELP *Xpw           - the POPLOG Widget Set
    REF *XptWidgetSet   - loading widgets in POPLOG


For information on the POPLOG-Athena interface see

    REF *ATHENA         - Details of the POPLOG-Athena interface
    TEACH *ATHENA       - Tutorial for Athena Widgets


--- C.x/x/pop/help/athena
--- Copyright University of Sussex 1991. All rights reserved. ----------
