Specifications

Athena Widget Set libXaw 1.0.7
Widget
An object providing a user-interface abstraction (for example, a Scrollbar widget).
Widget class
The general group to which a specific widget belongs, otherwise known as the type of the
widget.
Widget programmer
Aprogrammer who adds newwidgets to the X Toolkit.
1.3. Underlying Model
The underlying architectural model is based on the following premises:
Widgets are X windows
Every user-interface widget is associated with an X window. The X windowIDfor a wid-
get is readily available from the widget. Standard Xlib calls can be used by widgets for
manyoftheir input and output operations.
Information hiding
The data for every widget is private to the widget and its subclasses. That is, the data is nei-
ther directly accessible nor visible outside of the module implementing the widget. All pro-
gram interaction with the widget is performed by a set of operations (methods) that are de-
fined for the widget.
Widget semantics and widget layout geometry
Widget semantics are clearly separated from widget layout geometry.Widgets are con-
cerned with implementing specific user-interface semantics. Theyhav e little control over
issues such as their size or placement relative toother widget peers. Mechanisms are pro-
vided for associating geometric managers with widgets and for widgets to makesuggestions
about their own geometry.
1.4. Conventions Used in this Manual
•All resources available to the widgets are listed with each widget. Manyofthese are avail-
able to more than one widget class due to the object oriented nature of the Intrinsics. The
newresources for each widget are listed in bold text, and the inherited resources are listed
in plain text.
•Global symbols are printed in bold and can be function names, symbols defined in include
files, or structure names. Arguments are printed in italics.
•Each function is introduced by a general discussion that distinguishes it from other func-
tions. The function declaration itself follows, and each argument is specifically explained.
General discussion of the function, if anyisrequired, follows the arguments. Where appli-
cable, the last paragraph of the explanation lists the return values of the function.
•Toeliminate anyambiguity between those arguments that you pass and those that a func-
tion returns to you, the explanations for all arguments that you pass start with the word
specifies or,inthe case of multiple arguments, the word specify.The explanations for all
arguments that are returned to you start with the word returns or,inthe case of multiple
arguments, the word return.The explanations for all arguments that you can pass and are
returned start with the words specifies and returns.
•Any pointer to a structure that is used to return a value is designated as such by the _return
suffix as part of its name. All other pointers passed to these functions are used for reading
only.Afewarguments use pointers to structures that are used for both input and output
and are indicated by using the _in_out suffix.
3