A panel is a both a container and a containee window. It serves mainly
as a geometry management device, but the 'border
container with a border. Unlike a pane%
object, a panel%
object can be hidden or disabled.
A panel% object has a degenerate placement strategy for
managing its children: it places each child as if it was the only
child of the panel. The horizontal-panel% and
vertical-panel% classes provide useful geometry management
for multiple children.
Changed in version 1.3 of package gui-lib: Changed the placement strategy to
stretch and align children, instead of
placing all children at the top-left
If the 'border
style is specified, the window is created with
a thin border (in which case the client size of the panel may be
less than its total size). If style
, then the panel is created as hidden,
and it does not affect its parent’s geometry; the panel can be made active later by calling
If the 'hscroll or 'vscroll style is specified, then
the panel includes a scrollbar in the corresponding direction, and
the panel’s own size in the corresponding direction is not
constrained by the size of its children subareas. The 'auto-hscroll
and 'auto-vscroll styles imply 'hscroll and
'vscroll, respectively, but they cause the corresponding scrollbar to
disappear when no scrolling is needed in the corresponding direction;
the 'auto-vscroll and 'auto-hscroll modes assume that
children subareas are placed using the default algorithm for a panel%,
vertical-panel%, or horizontal-panel%. The 'hide-hscroll
and 'hide-vscroll styles imply 'auto-hscroll and
'auto-vscroll, respectively, but the corresponding scroll bar is never
made visible (while still allowing the panel content to exceed its own size).
For information about the enabled argument, see window<%>. For information about the horiz-margin and vert-margin
arguments, see subarea<%>. For information about the border, spacing, and alignment
arguments, see area-container<%>. For information about the
min-width, min-height, stretchable-width, and
stretchable-height arguments, see area<%>.
Changed in version 1.25 of package gui-lib: Added 'hide-vscroll and 'hide-hscroll.