Specifications
Athena Widget Set libXaw 1.0.7
Name Class Type Notes Default Value
resizable Boolean Boolean FALSE
right Edge XawEdgeType XawRubber
top Edge XawEdgeType XawRubber
vertDistance Thickness int defaultDistance resource
bottom
left
right
top What to do with this edge of the child when the parent is resized. This
resource may be any edgeType.See Layout Semantics for details.
fromHoriz
fromVert Which widget this child should be placed underneath (or to the right of).
If a value of NULL is specified then this widget will be positioned rela-
tive tothe edge of the parent.
horizDistance
vertDistance The amount of space, in pixels, between this child and its left or upper
neighbor.
resizable If this resource is False then the parent widget will ignore all geometry
request made by this child. The parent may still resize this child itself,
however.
6.3.3. Layout Semantics
The Form widget uses twodifferent sets of layout semantics. One is used when initially laying
out the children. The other is used when the Form is resized.
The first layout method uses the fromVert and fromHoriz resources to place the children of the
Form. A single pass is made through the Form widget’schildren in the order that theywere cre-
ated. Each child is then placed in the Form widget belowortothe right of the widget specified by
the fromVert and fromHoriz resources. The distance the newchild is placed from its left or
upper neighbor is determined by the horizDistance and vertDistance resources. This implies
some things about howthe order of creation affects the possible placement of the children. The
Form widget registers a string to widget converter which does not postpone conversion and does
not cache conversion results.
The second layout method is used when the Form is resized. It does not matter what causes this
resize, and it is possible for a resize to happen before the widget becomes visible (due to con-
straints imposed by the parent of the Form). This layout method uses the bottom, top, left,and
right resources. These resources are used to determine what will happen to each edge of the
child when the Form is resized. If a value of XawChain<something> is specified, the the edge
of the child will remain a fixed distance from the chain edge of the Form. For example if
XawChainLeft is specified for the right resource of a child then the right edge of that child will
remain a fixed distance from the left edge of the Form widget. If a value of XawRubber is speci-
fied, that edge will growbythe same percentage that the Form grew. For instance if the Form
grows by 50% the left edge of the child (if specified as XawRubber will be 50% farther from the
left edge of the Form). One must be very careful when specifying these resources, for when they
are specified incorrectly children may overlap or completely occlude other children when the
Form widget is resized.
Edge Type Resource Name Description
XawChainBottom ChainBottom Edge remains a fixed distance from bottom of Form
XawChainLeft ChainLeft Edge remains a fixed distance from left of Form
XawChainRight ChainRight Edge remains a fixed distance from right of Form
117