********************************************************************
* NOTE: This file is generated automatically from the event * definition file UnionFind.evt. ********************************************************************<* PRAGMA LL *> MODULEevent handling methods:; <*NOWARN*> IMPORT TextPort, Rd, ZeusClass, Filter, TextEditVBT; <*NOWARN*> IMPORT Fmt, ZFmt, Wr, ZeusPanel, UnionFindViewClass; <*NOWARN*> IMPORT FormsVBT, VBT, View; <* FATAL FormsVBT.Error, FormsVBT.Unimplemented *> REVEAL T = Public BRANDED OBJECT fv: FormsVBT.T := NIL; te: TextEditVBT.T := NIL; OVERRIDES init := TViewInit; install := TViewInstall; delete := TViewDelete; snapshot := TViewSnapshot; restore := TViewRestore; config := TViewConfig; reactivity := TViewReactivity; startrun := TViewStartrun; endrun := TViewEndrun; oeSetup := Setup; oeNewSet := NewSet; oeFinishedSets := FinishedSets; oeStartFind := StartFind; oeEndFind := EndFind; oeStartDoFind := StartDoFind; oeStepUp := StepUp; oeFound := Found; oeStepDown := StepDown; oeChangeParent := ChangeParent; oeEndDoFind := EndDoFind; oeStartUnion := StartUnion; oeFoundFirst := FoundFirst; oeCompareRanks := CompareRanks; oeUnite := Unite; oeEndUnion := EndUnion; END; PROCEDURE UnionFindTranscriptView TViewInit (view: T): T = <* LL = VBT.mu *> BEGIN TViewZTrace (view, "init"); RETURN UnionFindViewClass.T.init (view, NIL); END TViewInit; PROCEDUREClear (<* UNUSED *> fv : FormsVBT.T; <* UNUSED *> name: TEXT; cl : REFANY; <* UNUSED *> time: VBT.TimeStamp) = BEGIN TextPort.SetText(NARROW(cl, T).te.tp, "") END Clear; PROCEDURETViewInstall (view: T) = <* LL = VBT.mu *> BEGIN view.fv := ZeusPanel.NewForm("UnionFindTranscriptView.fv"); view.te := FormsVBT.GetVBT(view.fv, "transcript"); TViewZTrace (view, "install"); FormsVBT.AttachProc(view.fv, "clear", Clear, view); EVAL Filter.Replace (view, view.fv); UnionFindViewClass.T.install (view); END TViewInstall; PROCEDURETViewDelete (view: T) = <* LL = VBT.mu *> BEGIN TViewZTrace (view, "delete"); UnionFindViewClass.T.delete (view); END TViewDelete; PROCEDURETViewSnapshot (view: T; wr: Wr.T) RAISES {ZeusClass.Error} = <* LL = VBT.mu *> BEGIN TViewZTrace (view, "snapshot"); UnionFindViewClass.T.snapshot (view, wr); END TViewSnapshot; PROCEDURETViewRestore (view: T; rd: Rd.T) RAISES {ZeusClass.Error} = <* LL = VBT.mu *> BEGIN TViewZTrace (view, "restore"); UnionFindViewClass.T.restore (view, rd); END TViewRestore; PROCEDURETViewConfig ( view: T; state: ZeusClass.StateChange; o: ZeusClass.T) = <* LL = VBT.mu *> BEGIN TViewZTrace (view, "config"); UnionFindViewClass.T.config (view, state, o); END TViewConfig; PROCEDURETViewReactivity (view: T; <*UNUSED*> on: BOOLEAN) = <* LL = VBT.mu *> BEGIN TViewZTrace(view, "reactivity"); UnionFindViewClass.T.reactivity (view, TRUE); END TViewReactivity; PROCEDURETViewStartrun (view: T) = <* LL = {} *> BEGIN TViewZTrace (view, "startrun"); UnionFindViewClass.T.startrun (view); END TViewStartrun; PROCEDURETViewEndrun (view: T) = <* LL = {} *> BEGIN TViewZTrace (view, "endrun"); UnionFindViewClass.T.endrun (view); END TViewEndrun;PROCEDURESetup (view: T; ) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "Setup ...") ELSE TViewTrace (view, "Setup " ) END END END END Setup; PROCEDURENewSet (view: T; nm: TEXT) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "NewSet ...") ELSE TViewTrace (view, "NewSet " & ZFmt.Text(nm) ) END END END END NewSet; PROCEDUREFinishedSets (view: T; numSets: INTEGER; usesRanks: BOOLEAN) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "FinishedSets ...") ELSE TViewTrace (view, "FinishedSets " & ZFmt.Int(numSets) & " " & ZFmt.Bool(usesRanks) ) END END END END FinishedSets; PROCEDUREStartFind (view: T; id: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "StartFind ...") ELSE TViewTrace (view, "StartFind " & ZFmt.Int(id) ) END END END END StartFind; PROCEDUREEndFind (view: T; id: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "EndFind ...") ELSE TViewTrace (view, "EndFind " & ZFmt.Int(id) ) END END END END EndFind; PROCEDUREStartDoFind (view: T; id: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "StartDoFind ...") ELSE TViewTrace (view, "StartDoFind " & ZFmt.Int(id) ) END END END END StartDoFind; PROCEDUREStepUp (view: T; child, parent: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "StepUp ...") ELSE TViewTrace (view, "StepUp " & ZFmt.Int(child) & " " & ZFmt.Int(parent) ) END END END END StepUp; PROCEDUREFound (view: T; id: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "Found ...") ELSE TViewTrace (view, "Found " & ZFmt.Int(id) ) END END END END Found; PROCEDUREStepDown (view: T; child, parent: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "StepDown ...") ELSE TViewTrace (view, "StepDown " & ZFmt.Int(child) & " " & ZFmt.Int(parent) ) END END END END StepDown; PROCEDUREChangeParent (view: T; child, parent, root: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "ChangeParent ...") ELSE TViewTrace (view, "ChangeParent " & ZFmt.Int(child) & " " & ZFmt.Int(parent) & " " & ZFmt.Int(root) ) END END END END ChangeParent; PROCEDUREEndDoFind (view: T; id: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "EndDoFind ...") ELSE TViewTrace (view, "EndDoFind " & ZFmt.Int(id) ) END END END END EndDoFind; PROCEDUREStartUnion (view: T; id1, id2: INTEGER; bothRoots: BOOLEAN) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "StartUnion ...") ELSE TViewTrace (view, "StartUnion " & ZFmt.Int(id1) & " " & ZFmt.Int(id2) & " " & ZFmt.Bool(bothRoots) ) END END END END StartUnion; PROCEDUREFoundFirst (view: T; id1: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "FoundFirst ...") ELSE TViewTrace (view, "FoundFirst " & ZFmt.Int(id1) ) END END END END FoundFirst; PROCEDURECompareRanks (view: T; id1, id2: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "CompareRanks ...") ELSE TViewTrace (view, "CompareRanks " & ZFmt.Int(id1) & " " & ZFmt.Int(id2) ) END END END END CompareRanks; PROCEDUREUnite (view: T; child, parent, pRank: INTEGER) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "Unite ...") ELSE TViewTrace (view, "Unite " & ZFmt.Int(child) & " " & ZFmt.Int(parent) & " " & ZFmt.Int(pRank) ) END END END END Unite; PROCEDUREEndUnion (view: T; ) = <* LL = {} *> BEGIN LOCK VBT.mu DO IF FormsVBT.GetBoolean(view.fv, "alg") THEN IF NOT FormsVBT.GetBoolean(view.fv, "args") THEN TViewTrace (view, "EndUnion ...") ELSE TViewTrace (view, "EndUnion " ) END END END END EndUnion; PROCEDURETViewZTrace (view: T; t: TEXT) = BEGIN IF view.fv # NIL THEN IF FormsVBT.GetBoolean(view.fv, "zeus") THEN TextPort.PutText(view.te.tp, "**zeus: " & t & "\n"); TextPort.Normalize(view.te.tp, LAST(INTEGER)) END END END TViewZTrace; PROCEDURETViewTrace (view: T; t: TEXT) = BEGIN TextPort.PutText(view.te.tp, "--event: " & t & "\n"); TextPort.Normalize(view.te.tp, LAST(INTEGER)) END TViewTrace; PROCEDURETViewNew (): View.T = BEGIN RETURN NEW(T).init() END TViewNew; BEGIN ZeusPanel.RegisterView (TViewNew, "UnionFind Transcript View", "UnionFind"); END UnionFindTranscriptView.