ui/src/split/JoinScreen.i3


Copyright (C) 1994, Digital Equipment Corp.

<* PRAGMA LL *>

INTERFACE JoinScreen;

IMPORT VBT, ScreenType, Batch;

TYPE
  Public = VBT.ScreenType OBJECT
           METHODS
             addScreen    (st: ScreenType.T): BOOLEAN;
             removeScreen (st: ScreenType.T): BOOLEAN;
             succ         (st: ScreenType.T; VAR hint: INTEGER): ScreenType.T;
             eval         ();
             init         (): T;
           END;
  T <: Public;
If addScreen or removeScreen returns TRUE, you must schedule a call to st.eval(), and then schedule a call to rescreen on all VBTs which have st as their screentype.

PROCEDURE New(): T;
Create a screentype suitable for a JoinedVBT.

PROCEDURE PaintBatch(v, ch: VBT.T; b: Batch.T);
A suitable paintbatch method if ch has as its screentype a T, and v has as its screentype a member of that T. This procedure will consume b, so you should have already copied the batch if ch has multiple parents.

PROCEDURE SetCursor(v: VBT.Split; ch: VBT.T);

END JoinScreen.