<* PRAGMA LL *> <* PRAGMA SUBTYPE *>A
SplitterVBT.T
is a parent window that partitions its screen
into a row or column of children windows, depending on the
{\em axis} of the split, with adjusting bars between all
children. The adjusting bars allow the user to adjust the
allocation of screen real estate among the splitter's
children, subject to the size constraints of each child.
A SplitterVBT
is subclass of an HVSplit
, but through the
MultiSpit
interface, only the ``interesting'' children of the
HVSplit
are exposed. That is, adjusting bars are never
exposed to the client: they are inserted automatically when a
new child is added, and removed as necessary. To access all
children, including the adjusting bars, use the Split
interface instead. The HVSplit
routines Move
, Adjust
,
FeasibleRange
, AvailSize
, and AxisOf
can be used.
INTERFACEThe callSplitterVBT ; IMPORT Axis, HVSplit, PaintOp, Pixmap; TYPE <* SUBTYPE T <: MultiSplit.T *> T <: Public; Public = HVSplit.T OBJECT METHODS <* LL <= VBT.mu *> init (hv : Axis.T; size : REAL := DefaultSize; op : PaintOp.T := PaintOp.BgFg; txt : Pixmap.T := Pixmap.Gray; saveBits: BOOLEAN := FALSE; parlim : INTEGER := -1 ): T; END;
v.init(...)
initializes v
as a SplitterVBT
with
no children. See the HVSplit
interface for an explanation
of parameters saveBits
and parlim
. See the HVBar
interface for an explanation of the size
, op
, and txt
parameters.
CONST DefaultSize = 2.0; END SplitterVBT.