Specifications

Athena Widget Set libXaw 1.0.7
Chapter 6
Composite and Constraint Widgets
These widgets may contain arbitrary widget children. Theyimplement a policyfor the size and
location of their children.
Box This widget will pack its children as tightly as possible in non-overlapping rows.
Dialog An implementation of a commonly used interaction semantic to prompt for auxil-
iary input from the user,such as a filename.
Form Amore sophisticated layout widget that allows the children to specify their posi-
tions relative tothe other children, or to the edges of the Form.
Paned Allows children to be tiled vertically or horizontally.Controls are also provided
to allowthe user to dynamically resize the individual panes.
Porthole Allows viewing of a managed child which is as large as, or larger than its parent,
typically under control of a Panner widget.
Tr e e Provides geometry management of widgets arranged in a directed, acyclic graph.
Viewport Consists of a frame, one or twoscrollbars, and an inner window. The inner win-
dowcan contain all the data that is to be displayed. This inner windowwill be
clipped by the frame with the scrollbars controlling which section of the inner
windowiscurrently visible.
6.0.1. A Brief Note on Geometry Management
The geometry management semantics provided by the X Toolkit give full control of the size and
position of a widget to the parent of that widget. While the children are allowed to request a cer-
tain size or location, it is the parent who makes the final decision. Manyofthe composite widgets
here will denyany geometry request from their children by default. If achild widget is not get-
ting the expected size or location, it is most likely the parent disallowing a request, or implement-
ing semantics slightly different than those expected by the application programmer.
If the application wishes to change the size or location of anywidget it should makeacall to
XtSetValues.This will allowthe widget to ask its parent for the newsize or location. As noted
above the parent is allowed to refuse this request, and the child must live with the result. If the
application is unable to achieve the desired semantics, then perhaps it should use a different com-
posite widget. Under no circumstances should an application programmer resort to XtMoveWid-
get or XtResizeWidget;these functions are exclusively for the use of Composite widget imple-
mentors.
Formore information on geometry management consult the XToolkit Intrinsics — C Language
Interface.
6.1. Box Widget
Application Header file <X11/Xaw/Box.h>
Class Header file <X11/Xaw/BoxP.h>
Class boxWidgetClass
Class Name Box
Superclass Composite
108