ui/src/split/RootVBT.i3


Copyright (C) 1994, Digital Equipment Corp.
 by Steve Glassman, Mark Manasse and Greg Nelson           
<*PRAGMA LL*>
A RootVBT.T provides the up methods for VBTs at the root of an applications, the methods that talk to an X server or talk RPC to a parent VBT in another address space.

A RootVBT.Child provides a series of filters that are useful at the root of applications.

INTERFACE RootVBT;

IMPORT Filter, Split, VBT;

TYPE
  T <: Split.T;
  Child <: Filter.T;

PROCEDURE NewChild(ch: VBT.T; p: DeleteProc := NIL): Child;
Return a stack of filters over ch that implement et-agenting, highlighting, palette initialization on rescreening, and calls p(ch) before forwarding a deleted or disconnected code to ch, if p # NIL. In any case, after a deleted or disconnected code it removes the child from the filter.

TYPE DeleteProc = PROCEDURE(v: VBT.T) <* LL.sup = VBT.mu *>;

PROCEDURE Misc(v: Child; READONLY cd: VBT.MiscRec);
= Child.misc. This will go away when the compiler bug is fixed.

END RootVBT.