INTERFACEA View.T is a subclass of a ZeusClass.T with four additional methods:View ; IMPORT ReactivityVBT, VBT, ZeusClass;
init(ch) inserts the ch
argument as the child of the View.T (which is
a ReactivityVBT.T), sets the reactivity to Passive, and returns the
View.T. If ch
is NIL
, then a child is created that displays
the background. The init() method should be called just after the View.T is
created. Any user-supplied override to the init method must invoke the
init method of the supertype.
isCompat(alg) is called by ZeusPanel to determine whether the view is compatible with a particular algorithm. Compatibility means that the view is prepared to display the events that the algorithm generates. This method generally just calls ISTYPE; the user should not have to override it except under unusual circumstances.
startrun(v) is called by ZeusPanel just after the user issues the
command to start running the algorithm, and before the algorithm is
actually run. Many subclasses will override the startrun
method to
erase anything in the window left over from the previous execution of
the algorithm. If a view's startrun procedure is called, ZeusPanel
guarantees that its endrun procedure will eventually be called.
endrun(v) is called by ZeusPanel just after the algorithm finishes
running, either because it was aborted by the user, it crashed, or it
came to a normal completion. Typically, it is used by views to clean
up
after themselves -- to kill any active threads, etc. An endrun
method will only be called if its startrun method had been called
previously.
The default ZeusClass config
method is a noop. The other ZeusClass
methods have the following defaults:
install
tells Trestle to insert self into the window system,
but not to put self on the screen; restore will be called
immediately after install, and will do that.
delete
tells Trestle to delete self from the window system
snapshot
records location of Trestle window
restore
installs and moves self to a previously recorded location
reactivity
calls ReactivityVBT.Set to make the view Passive or Active.
The view is made Dormant whenever it is incompatible with
the current algorithm, and in this case the reactivity method
has no effect.
Subclasses of View.T that are created by zume will be extended with methods for each OUTPUT event and UPDATE event in the .evt file. The output methods are invoked with LL < VBT.mu. Update methods (which are called in response to a feedback event) are invoked with LL = VBT.mu. User-supplied overrides for OUTPUT and UPDATE methods MUST NOT invoke the corresponding supertype methods.
REVEAL ZeusClass.Private <: ReactivityVBT.T; TYPE T <: Public; Public = ZeusClass.T OBJECT METHODS (* LL = VBT.mu *) init (ch: VBT.T): T; isCompat (alg: ZeusClass.T): BOOLEAN; (* LL < VBT.mu *) startrun (); endrun (); END; END View.