NAME¶
Box, HBox, VBox - tile interactors in a box
SYNOPSIS¶
#include <InterViews/box.h>
DESCRIPTION¶
A box is a scene of interactors that are tiled side-by-side in the available
space. Interactors are placed left-to-right in a horizontal box, and
top-to-bottom in a vertical box.
A box will try to stretch or shrink the interactors inside it to fit the
available space. The natural size of a box is the sum of its elements along
the major axis, and the maximum along its minor axis. A box's stretchability
(shrinkability) is the sum of its elements along its major axis and the
minimum of its elements along its minor axis.
PUBLIC OPERATIONS¶
- HBox(...)
- VBox(...)
- Create a new box. Zero to seven interactors may be passed
as arguments; the interactors are inserted into the box.
- void Align(Alignment)
- Set the alignment mode that the box uses to place elements
along the minor axis. The default alignment for an hbox is Bottom;
other choices are Top and Center. The default alignment for
a vbox is Left; other choices are Right and
Center.
- void Insert(Interactor*)
- Append an interactor to the box. Components of an hbox
(vbox) will appear left-to-right (top-to-bottom) in the order in which
they are inserted.
- void Change(Interactor*)
- Notify the box that the given interactor's shape has
changed. If change propagation is true, the box will modify its own shape
to reflect the change and notify its parent. Regardless of propagation,
the box will recompute the positions of the component interactors and
update any that have changed.
- void Remove(Interactor*)
- Take an element of out a box. Remove does not cause any
immediate change to the other components in the box; the Change operation
must be called after one or more Removes to update the component
positions.
SEE ALSO¶
Glue(3I), Interactor(3I), Scene(3I), Shape(3I)