<* PRAGMA LL *>A
ZeusCodeView.T
is a subclass of a View.T
with one
additional field cv
, which is a CodeView.T
. It
encapsulates CodeView.T
into the Zeus framework. See
CodeView.i3
for details on using code views.
INTERFACEZeusCodeView ; IMPORT Algorithm, CodeView, Rd, Thread, VBT, View, Wr; TYPE T <: Public; Public = View.T OBJECT cv: CodeView.T END; PROCEDURE New (name : TEXT; source : Rd.T; alg : Algorithm.T; errorWr: Wr.T := NIL; READONLY fontName := CodeView.DefaultFont; paneOffset: CARDINAL := 20; background: VBT.T := NIL ): T; <* LL = VBT.mu *>
Creates and returns an initializedT
with the given name, usingCodeView.New
with the last two arguments to create thecv
field. Thealg
argument is the algorithm for which this is a code view.
PROCEDURE Enter (alg: Algorithm.T; procedureName: TEXT; pauseTime := -1) RAISES {Thread.Alerted}; <* LL = {} *>
Indicates that procedure procedureName
has been entered. Causes a
window to pop up containing the source for the procedure with the header
highlighted.
PROCEDURE Exit (alg: Algorithm.T; pauseTime := -1) RAISES {Thread.Alerted}; <* LL = {} *>
Indicates that the current procedure is about to exit. Its source window will be deleted.
PROCEDURE At (alg: Algorithm.T; highlight := 0; pauseTime := -1) RAISES {Thread.Alerted}; <* LL = {} *>
Highlights the region numbered highlight
, indicating the current
position within the procedure.
PROCEDURE Event (alg : Algorithm.T; highlight := 0; pauseTime := -1; procedureName: TEXT := NIL ) RAISES {Thread.Alerted}; <* LL = {} *>
Ifname # NIL
, invokesEnter
. Ifhighlight < 0
, invokesExit
, otherwise invokesAt
.
For Zeus internal use:
TYPE Arg = REF RECORD (* argument of a code view event *) highlight := 0; pauseTime := -1; procedureName: TEXT := NIL END; END ZeusCodeView.