A panel is a both a container and a containee window. It serves mainly
as a geometry management device, but the
'border creates a
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 them all in the upper left corner
and does not stretch any of them. The horizontal-panel%
and vertical-panel% classes provide useful geometry
management.
(new panel% | | [parent parent] | | | [ | [style style] | | | | [enabled enabled] | | | | [vert-margin vert-margin] | | | | [horiz-margin horiz-margin] | | | | [border border] | | | | [spacing spacing] | | | | [alignment alignment] | | | | [min-width min-width] | | | | [min-height min-height] | | | | [stretchable-width stretchable-width] | | | | [stretchable-height stretchable-height]]) | |
|
→ (is-a?/c panel%) |
|
| style | | : | | (listof (one-of/c 'border 'deleted | 'hscroll 'auto-hscroll | 'vscroll 'auto-vscroll)) |
| | = | | null |
|
enabled : any/c = #t |
vert-margin : (integer-in 0 1000) = 0 |
horiz-margin : (integer-in 0 1000) = 0 |
border : (integer-in 0 1000) = 0 |
spacing : (integer-in 0 1000) = 0 |
| alignment | | : | | | | | | = | | '(center center) |
|
min-width : (integer-in 0 10000) = graphical-minimum-width |
min-height : (integer-in 0 10000) = graphical-minimum-height |
stretchable-width : any/c = #t |
stretchable-height : any/c = #t |
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 includes
'deleted, 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
parent’s
add-child method.
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 are like 'hscroll or
'vscroll, 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%.
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<%>.