Detail

Box is an abstract widget which encapsulates functionality for a
particular kind of container, one that organizes a variable number of
widgets into a rectangular area. Box currently has two derived classes,
HBox and VBox.

The rectangular area of a Box is organized into either a single row or
a single column of child widgets depending upon whether the box is of type
HBox or VBox, respectively. Thus, all children of a Box are allocated
one dimension in common, which is the height of a row, or the width of a
column.

Box uses a notion of packing. Packing refers to adding widgets with
reference to a particular position in a Container. For a Box, there are
two reference positions: the start and the end of the box. For a VBox,
the start is defined as the top of the box and the end is defined as the
bottom. For a HBox the start is defined as the left side and the end is
defined as the right side.

Use repeated calls to boxPackStart to pack widgets into a Box from
start to end. Use boxPackEnd to add widgets from end to start. You may
intersperse these calls and add widgets from both ends of the same Box.
Besides adding widgets at the start or the end of a box, you can also
specify the padding around each widget (in pixels) and a Packing
parameter that denotes how to fill up unused space.

While the right amount of padding around each widget is a matter of
appearance, the Packing paramter specifies the way the widgets in
the container behave when the window is resized and thereby affect
the usability. Hence, once you have created a window, you should resize
it and see if the widgets behave as expected. The Packing parameter of
each child widget determines how excess space is used by that particular
widget. See the description of Packing for a detailed explanaition.

The Packing parameter determines how the child behaves in the horizontal
or vertical way in an HBox or
VBox, respectively. PackNatural
means the child is as big as it requests. It will stay at the start or
end of a Box if there is more space available.
All children packed with PackRepel will be padded on both sides with
additional space. PackGrow will increase the size of a widget so that it
covers the available space. A menu bar, for instance, should always
stay at the top of a window and should only occupy as little space
as possible. Hence it should be packed at the start of a
VBox with
the packing option PackNatural. The working area of a window
(e.g. the text area in an editor) should expand when the window is
resized. Here the packing option PackGrow is the right choice and
it is irrelevant whether the main area is inserted at the start or
the end of a box. Finally PackRepel is most useful in a window
where no widget can make use of excess space. Examples include a
dialog box without list boxes or text fields.

Methods

padding - extra space in pixels to put between this child and
its neighbors, over and above the global amount specified by
spacing boxSetSpacing. If child
is a widget at one of the reference ends of box, then padding
pixels are also put between child and the reference edge of
box.

padding - extra space in pixels to put between this child and
its neighbors, over and above the global amount specified by
spacing boxSetSpacing. If child
is a widget at one of the reference ends of box, then padding
pixels are also put between child and the reference edge of
box.

Moves child to a new position in the list of box children. The list
contains both widgets packed PackStart as well as widgets packed
PackEnd, in the order that these widgets were added to the box.

A widget's position in the box children list determines where the
widget is packed into the box. A child widget at some position in the list
will be packed just after all other widgets of the same packing type that
appear earlier in the list.

Sets the baseline position of a box. This affects only
horizontal boxes with at least one baseline aligned child.
If there is more vertical space available than requested,
and the baseline is not allocated by the parent then
position is used to allocate the baseline wrt the extra
space available.