<* PRAGMA LL *> INTERFACETypeinVBT ; IMPORT Font, PaintOp, TextPort, VBT; TYPE T <: Public; Public = TextPort.T OBJECT <* LL.sup = VBT.mu *> tabNext: VBT.T := NIL METHODS init (expandOnDemand := FALSE; hMargin, vMargin := 0.5; font := Font.BuiltIn; colorScheme: PaintOp.ColorScheme := NIL; wrap := TRUE; readOnly := FALSE; turnMargin := 0.5; model := TextPort.Model.Default): T; END; END TypeinVBT.
TypeinVBT
overrides the returnAction
, tabAction
, key
, and
shape
methods.
The default returnAction
method is a no-op, but most clients will
override this method.
The TextPort
's height is initially set to the height of the
tallest character in the current font. Its default width is 30
times the width of the widest character in the current font. The
default height is one line, but if expandOnDemand
is TRUE
, then
SELF
will expand (and contract) vertically as the text requires,
so that the entire text is visible in the window.
The default tabAction
method tests whether SELF.nextTab
is
NIL
. If so, it calls the parent-method, TextPort.T.tabAction
.
If not, it sends a miscellaneous code of type VBT.TakeSelection
with the VBT.KBFocus
selection to SELF.nextTab
, i.e., it asks
the nextTab VBT
to take the keyboard focus. In addition, if that
VBT is itself a TextPort, then it selects all the text in the
TextPort in replace-mode.