HELP OPENLOOK                                   Jonathan Meyer, Nov 1990

This file describes the POPLOG interface to the Open Look Intrinsics
Toolkit Widget Set (sometimes referred to as OLIT or Xol, this widgetset
is referred to as OpenLook in the rest of this document).


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

 -- NOTE: OPENLOOK STARTUP
 -- Introduction
 -- Accessing OpenLook in POPLOG
 -- OpenLook Widgets
 -- Action Widgets
 -- Text Widgets
 -- Container Widgets
 -- Popup Widgets
 -- Associated Documentation

-- NOTE: OPENLOOK STARTUP ---------------------------------------------

OpenLook does not use the standard X11R4 intrinsics conventions
for toolkit initialization.

Because of this, DO NOT CALL -SYSXSETUP- OR RUN POPLOG USING THE '%x'
OPTION WITHOUT FIRST LOADING OPENLOOK WIDGETS. This will have
unpredicatable results. Instead, start POPLOG without the '%x' option,
and call *XptDefaultSetup or *sysxsetup AFTER LOADING OPENLOOK. Eg.

    % pop11

    Setpop
    : XptWidgetSet("OpenLook") ->; ;;; setup OPENLOOK
    : XptDefaultSetup();    ;;; now safe to call XptDefaultSetup
    : ...

Having loaded OPENLOOK, it is safe to make a saved image and then
restore that image using the '%x' option:

    % pop11

    Setpop
    : XptLoadWidgetSet("OpenLook");
    : if syssave('openlook.psv') then syssetup(); chain(setpop); endif;
    : bye


You can now do:
    % pop11 +openlook %x

    Setpop
    : ved ...


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

OpenLook is an X Toolkit widgetset that provides a collection of
widgets for building applications conforming to the Open Look
look-and-feel. OpenLook was developed by AT&T and Sun as a joint
venture. OpenLook applications must be run in conjunction with an
OpenLook compliant X server (either the Sun OpenWindows X Server, or a
server providing the necessary OpenLook fonts and window manager).

POPLOG does not include full online documentation of OpenLook. For
details, the user should consult the books and manuals listed in the
'Associated Documentation' section below.

TEACH *XolDemos describes some demonstration programs written in Pop-11
using the OpenLook widgetset. Programmers wishing to make use of
OpenLook widgets may wish to run these programs and examine the source
code. The demonstrations include at least one instance of every OpenLook
widget.

TEACH *XolTutorial is a worked example showing you how to make a simple
OpenLook control panel. Working through this example will give you a
better understanding of using widgets in POPLOG.


-- Accessing OpenLook in POPLOG ---------------------------------------

OpenLook widgets require the presence of an X Server capable of
supporting OpenLook applications. That is, the server must have the
relevant fonts and window manager in order for OpenLook applications to
work correctly.

In addition, POPLOG does not have OpenLook widgets built into its
binary. To use OpenLook widgets, they must be dynamically loaded from a
C object library.

To detect the presence of OpenLook capabilities, and also to find the
OpenLook C object libraries, POPLOG expects the environment variable
OPENWINHOME to be set. OPENWINHOME should be a string specifying the
directory of the base of an OpenLook installation. More specifically,
POPLOG looks for the C object library for OpenLook in $OPENWINHOME/lib.
See the INCLUDE *xdefs for default definitions used by POPLOG when
loading X libraries.

When running under Sun OpenWindows, the environment variable OPENWINHOME
is set for you automatically by the 'openwin' startup script of
OpenWindows. In other cases, it is usually sufficient to set it to
'/usr', '/usr/openwin', or '/usr/local' according to your OpenLook
installation.

-- OpenLook Widgets ---------------------------------------------------

OpenLook includes several types of widgets. "Action Widgets" are widgets
which users interact with to control an application. "Text Widgets" are
widgets that display text and/or allow text to be entered and edited.
"Container Widgets" are used to hold collections action, text and other
container widgets. "Popup Widgets" are widgets that are summoned and
dismissed by the user as part of a dialog or interaction. Some of the
important members of each category of widgets are listed in sections
below.

The following list shows every widget and gadget that is available in
OpenLook:

    AbbrevMenuButtonWidget
    ArrowWidget
    BaseWindowShellWidget
    ButtonWidget
    ButtonGadget
    CaptionWidget
    CheckBoxWidget
    ControlAreaWidget
    EventObj
    ExclusivesWidget
    FlatCheckBoxWidget
    FlatExclusivesWidget
    FlatNonexclusivesWidget
    FlatWidget
    FooterPanelWidget
    FormWidget
    HelpWidget
    ListPaneWidget
    MagWidget
    ManagerWidget
    MenuShellWidget
    MenuButtonWidget
    MenuButtonGadget
    NonexclusivesWidget
    NoticeShellWidget
    OblongButtonWidget
    OblongButtonGadget
    PopupWindowShellWidget
    PushpinWidget
    RectButtonWidget
    ScrollbarWidget
    ScrolledWindowWidget
    ScrollingListWidget
    SliderWidget
    StaticTextWidget
    StubWidget
    TextWidget
    TextEditWidget
    TextFieldWidget
    TextPaneWidget

-- Action Widgets -----------------------------------------------------

    OblongButtonWidget      - button for invoking an action
    RectButtonWidget        - toggle button for multi-choice
    CheckBoxWidget          - boolean on-off "tick" button
    MenuButtonWidget        - button with popup menu associated with it
    AbbrevMenuButtonWidget  - label-less MenuButtonWidget
    SliderWidget            - thermometer widget
    ScrollbarWidget         - scrollbar widget with popup menu
    StubWidget              - basic widget for graphics output

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

    StaticTextWidget        - contains non-editable text
    TextWidget              - full text editor widget
    TextFieldWidget         - single line (scrolling) text entry field

-- Container Widgets --------------------------------------------------

    BulletinBoardWidget     - basic non-constraint layout widget
    ControlAreaWidget       - layout widget for row/column panels
    FormWidget              - constraint layout widget
    CaptionWidget           - wraps a label around a single child
    FooterPanelWidget       - simple main window/footer window manager
    ExclusivesWidget        - single choice RectButton/CheckBox manager
    NonexclusivesWidget     - multi-choice RectButton manager
    FlatCheckboxWidget      - efficient CheckBox manager
    ScrolledWindowWidget    - viewport on a child widget
    ScrollingListWidget     - selection widget with scrolling items list

-- Popup Widgets ------------------------------------------------------

    NoticeShellWidget       - modal popup for messages and prompts
    PopupWindowShellWidget  - modeless popup for dialog boxes
    MenuShellWidget         - popup menu shell


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

For a complete description of OpenLook widgets, see:

    OPEN LOOK Intrinsics Toolkit Widget Set Programmer's Guide
    OPEN LOOK Intrinsics Toolkit Widget Set Reference Manual

    TEACH *OPENLOOK   - Tutorial for OpenLook widgets
    TEACH *XolDemos   - Demonstrations using OpenLook widgets
    HELP *X           - Overview of X facilities in POPLOG
    HELP *Xpw         - The POPLOG Widget Set
    REF *XptWidgetSet - loading widgets in POPLOG

--- C.x/x/pop/help/openlook
--- Copyright University of Sussex 1990. All rights reserved. ----------
