********************************************************************
* NOTE: This file is generated automatically from the event * definition file Bresenham.evt. ********************************************************************MODULEFix any FormsVBT errors; don't handle exceptions for them.; <*NOWARN*> IMPORT Rd, ZeusClass, Fmt, Algorithm, Wr, ZeusPanel; <*NOWARN*> IMPORT FormsVBT, VBT, Text, ZeusUtil; <* PRAGMA LL *> BresenhamAlgClass <* FATAL FormsVBT.Error, FormsVBT.Unimplemented *> REVEAL T = Public BRANDED OBJECT OVERRIDES <* LL = VBT.mu *> init := BresenhamDefaultInit; snapshot := BresenhamDefaultSnapshot; restore := BresenhamDefaultRestore; updateEventCounts := BresenhamDefaultUpdateCts; END; PROCEDUREBresenhamDefaultInit (v: T): Algorithm.T = <* LL = VBT.mu *> PROCEDURE Attach (id: TEXT; proc: FormsVBT.Proc) = BEGIN FormsVBT.AttachProc(v.eventData, id, proc, v); END Attach; BEGIN v.eventData := ZeusPanel.NewForm("BresenhamEventData.fv"); Attach("stopatCodeEvents", BresenhamDoIt); Attach("waitatCodeEvents", BresenhamDoIt); Attach("eventCounts", BresenhamRefreshCts); Attach("stopAtSetup", BresenhamDoIt); Attach("waitAtSetup", BresenhamDoIt); Attach("stopAtNewLine", BresenhamDoIt); Attach("waitAtNewLine", BresenhamDoIt); Attach("stopAtErrorInit", BresenhamDoIt); Attach("waitAtErrorInit", BresenhamDoIt); Attach("stopAtShowPixel", BresenhamDoIt); Attach("waitAtShowPixel", BresenhamDoIt); Attach("stopAtFindError", BresenhamDoIt); Attach("waitAtFindError", BresenhamDoIt); Attach("stopAtChangeError", BresenhamDoIt); Attach("waitAtChangeError", BresenhamDoIt); Attach("stopAtCompareError", BresenhamDoIt); Attach("waitAtCompareError", BresenhamDoIt); Attach("stopAtShowNextPixel", BresenhamDoIt); Attach("waitAtShowNextPixel", BresenhamDoIt); Attach("stopAtMove", BresenhamDoIt); Attach("waitAtMove", BresenhamDoIt); FromFV (v.eventData, v); (* Get FV and internal data in sync *) RETURN Algorithm.T.init(v); END BresenhamDefaultInit; PROCEDUREBresenhamDoIt ( fv : FormsVBT.T; e : TEXT; arg: REFANY; <*UNUSED*> t : VBT.TimeStamp) = <* LL = VBT.mu *> BEGIN IF Text.Equal(e, "stopatCodeEvents") THEN NARROW(arg, T).stopatCodeEvents := FormsVBT.GetBoolean(fv, "stopatCodeEvents"); END; IF Text.Equal(e, "waitatCodeEvents") THEN NARROW(arg, T).waitatCodeEvents := FormsVBT.GetInteger(fv, "waitatCodeEvents"); END; IF Text.Equal(e, "stopAtSetup") THEN NARROW(arg, T).eventDataRec.stopAtSetup := FormsVBT.GetBoolean(fv, "stopAtSetup"); END; IF Text.Equal(e, "waitAtSetup") THEN NARROW(arg, T).eventDataRec.waitAtSetup := FormsVBT.GetInteger(fv, "waitAtSetup"); END; IF Text.Equal(e, "stopAtNewLine") THEN NARROW(arg, T).eventDataRec.stopAtNewLine := FormsVBT.GetBoolean(fv, "stopAtNewLine"); END; IF Text.Equal(e, "waitAtNewLine") THEN NARROW(arg, T).eventDataRec.waitAtNewLine := FormsVBT.GetInteger(fv, "waitAtNewLine"); END; IF Text.Equal(e, "stopAtErrorInit") THEN NARROW(arg, T).eventDataRec.stopAtErrorInit := FormsVBT.GetBoolean(fv, "stopAtErrorInit"); END; IF Text.Equal(e, "waitAtErrorInit") THEN NARROW(arg, T).eventDataRec.waitAtErrorInit := FormsVBT.GetInteger(fv, "waitAtErrorInit"); END; IF Text.Equal(e, "stopAtShowPixel") THEN NARROW(arg, T).eventDataRec.stopAtShowPixel := FormsVBT.GetBoolean(fv, "stopAtShowPixel"); END; IF Text.Equal(e, "waitAtShowPixel") THEN NARROW(arg, T).eventDataRec.waitAtShowPixel := FormsVBT.GetInteger(fv, "waitAtShowPixel"); END; IF Text.Equal(e, "stopAtFindError") THEN NARROW(arg, T).eventDataRec.stopAtFindError := FormsVBT.GetBoolean(fv, "stopAtFindError"); END; IF Text.Equal(e, "waitAtFindError") THEN NARROW(arg, T).eventDataRec.waitAtFindError := FormsVBT.GetInteger(fv, "waitAtFindError"); END; IF Text.Equal(e, "stopAtChangeError") THEN NARROW(arg, T).eventDataRec.stopAtChangeError := FormsVBT.GetBoolean(fv, "stopAtChangeError"); END; IF Text.Equal(e, "waitAtChangeError") THEN NARROW(arg, T).eventDataRec.waitAtChangeError := FormsVBT.GetInteger(fv, "waitAtChangeError"); END; IF Text.Equal(e, "stopAtCompareError") THEN NARROW(arg, T).eventDataRec.stopAtCompareError := FormsVBT.GetBoolean(fv, "stopAtCompareError"); END; IF Text.Equal(e, "waitAtCompareError") THEN NARROW(arg, T).eventDataRec.waitAtCompareError := FormsVBT.GetInteger(fv, "waitAtCompareError"); END; IF Text.Equal(e, "stopAtShowNextPixel") THEN NARROW(arg, T).eventDataRec.stopAtShowNextPixel := FormsVBT.GetBoolean(fv, "stopAtShowNextPixel"); END; IF Text.Equal(e, "waitAtShowNextPixel") THEN NARROW(arg, T).eventDataRec.waitAtShowNextPixel := FormsVBT.GetInteger(fv, "waitAtShowNextPixel"); END; IF Text.Equal(e, "stopAtMove") THEN NARROW(arg, T).eventDataRec.stopAtMove := FormsVBT.GetBoolean(fv, "stopAtMove"); END; IF Text.Equal(e, "waitAtMove") THEN NARROW(arg, T).eventDataRec.waitAtMove := FormsVBT.GetInteger(fv, "waitAtMove"); END; END BresenhamDoIt; PROCEDUREBresenhamRefreshCts ( <*UNUSED*> fv : FormsVBT.T; <*UNUSED*> e : TEXT; arg : REFANY; <*UNUSED*> t : VBT.TimeStamp) = <* LL = VBT.mu *> BEGIN NARROW(arg, T).updateEventCounts(FALSE); END BresenhamRefreshCts; PROCEDUREFromFV (fv : FormsVBT.T; alg: T) = <* LL = VBT.mu *> BEGIN alg.stopatCodeEvents := FormsVBT.GetBoolean(fv, "stopatCodeEvents"); alg.waitatCodeEvents := FormsVBT.GetInteger(fv, "waitatCodeEvents"); alg.eventDataRec.stopAtSetup := FormsVBT.GetBoolean(fv, "stopAtSetup"); alg.eventDataRec.waitAtSetup := FormsVBT.GetInteger(fv, "waitAtSetup"); alg.eventDataRec.stopAtNewLine := FormsVBT.GetBoolean(fv, "stopAtNewLine"); alg.eventDataRec.waitAtNewLine := FormsVBT.GetInteger(fv, "waitAtNewLine"); alg.eventDataRec.stopAtErrorInit := FormsVBT.GetBoolean(fv, "stopAtErrorInit"); alg.eventDataRec.waitAtErrorInit := FormsVBT.GetInteger(fv, "waitAtErrorInit"); alg.eventDataRec.stopAtShowPixel := FormsVBT.GetBoolean(fv, "stopAtShowPixel"); alg.eventDataRec.waitAtShowPixel := FormsVBT.GetInteger(fv, "waitAtShowPixel"); alg.eventDataRec.stopAtFindError := FormsVBT.GetBoolean(fv, "stopAtFindError"); alg.eventDataRec.waitAtFindError := FormsVBT.GetInteger(fv, "waitAtFindError"); alg.eventDataRec.stopAtChangeError := FormsVBT.GetBoolean(fv, "stopAtChangeError"); alg.eventDataRec.waitAtChangeError := FormsVBT.GetInteger(fv, "waitAtChangeError"); alg.eventDataRec.stopAtCompareError := FormsVBT.GetBoolean(fv, "stopAtCompareError"); alg.eventDataRec.waitAtCompareError := FormsVBT.GetInteger(fv, "waitAtCompareError"); alg.eventDataRec.stopAtShowNextPixel := FormsVBT.GetBoolean(fv, "stopAtShowNextPixel"); alg.eventDataRec.waitAtShowNextPixel := FormsVBT.GetInteger(fv, "waitAtShowNextPixel"); alg.eventDataRec.stopAtMove := FormsVBT.GetBoolean(fv, "stopAtMove"); alg.eventDataRec.waitAtMove := FormsVBT.GetInteger(fv, "waitAtMove"); END FromFV; <*UNUSED*> PROCEDUREToFV (fv : FormsVBT.T; alg: T) = <* LL = VBT.mu *> BEGIN FormsVBT.PutBoolean(fv, "stopatCodeEvents", alg.stopatCodeEvents); FormsVBT.PutInteger(fv, "waitatCodeEvents", alg.waitatCodeEvents); FormsVBT.PutBoolean(fv, "stopAtSetup", alg.eventDataRec.stopAtSetup); FormsVBT.PutInteger(fv, "waitAtSetup", alg.eventDataRec.waitAtSetup); FormsVBT.PutBoolean(fv, "stopAtNewLine", alg.eventDataRec.stopAtNewLine); FormsVBT.PutInteger(fv, "waitAtNewLine", alg.eventDataRec.waitAtNewLine); FormsVBT.PutBoolean(fv, "stopAtErrorInit", alg.eventDataRec.stopAtErrorInit); FormsVBT.PutInteger(fv, "waitAtErrorInit", alg.eventDataRec.waitAtErrorInit); FormsVBT.PutBoolean(fv, "stopAtShowPixel", alg.eventDataRec.stopAtShowPixel); FormsVBT.PutInteger(fv, "waitAtShowPixel", alg.eventDataRec.waitAtShowPixel); FormsVBT.PutBoolean(fv, "stopAtFindError", alg.eventDataRec.stopAtFindError); FormsVBT.PutInteger(fv, "waitAtFindError", alg.eventDataRec.waitAtFindError); FormsVBT.PutBoolean(fv, "stopAtChangeError", alg.eventDataRec.stopAtChangeError); FormsVBT.PutInteger(fv, "waitAtChangeError", alg.eventDataRec.waitAtChangeError); FormsVBT.PutBoolean(fv, "stopAtCompareError", alg.eventDataRec.stopAtCompareError); FormsVBT.PutInteger(fv, "waitAtCompareError", alg.eventDataRec.waitAtCompareError); FormsVBT.PutBoolean(fv, "stopAtShowNextPixel", alg.eventDataRec.stopAtShowNextPixel); FormsVBT.PutInteger(fv, "waitAtShowNextPixel", alg.eventDataRec.waitAtShowNextPixel); FormsVBT.PutBoolean(fv, "stopAtMove", alg.eventDataRec.stopAtMove); FormsVBT.PutInteger(fv, "waitAtMove", alg.eventDataRec.waitAtMove); CountsToFV (fv, alg); END ToFV; PROCEDURECountsToFV (fv : FormsVBT.T; alg: T) = <* LL = VBT.mu *> BEGIN FormsVBT.PutText(fv, "ctOfSetup", Fmt.Int(alg.eventDataRec.ctOfSetup)); FormsVBT.PutText(fv, "ctOfNewLine", Fmt.Int(alg.eventDataRec.ctOfNewLine)); FormsVBT.PutText(fv, "ctOfErrorInit", Fmt.Int(alg.eventDataRec.ctOfErrorInit)); FormsVBT.PutText(fv, "ctOfShowPixel", Fmt.Int(alg.eventDataRec.ctOfShowPixel)); FormsVBT.PutText(fv, "ctOfFindError", Fmt.Int(alg.eventDataRec.ctOfFindError)); FormsVBT.PutText(fv, "ctOfChangeError", Fmt.Int(alg.eventDataRec.ctOfChangeError)); FormsVBT.PutText(fv, "ctOfCompareError", Fmt.Int(alg.eventDataRec.ctOfCompareError)); FormsVBT.PutText(fv, "ctOfShowNextPixel", Fmt.Int(alg.eventDataRec.ctOfShowNextPixel)); FormsVBT.PutText(fv, "ctOfMove", Fmt.Int(alg.eventDataRec.ctOfMove)); END CountsToFV; PROCEDUREBresenhamDefaultUpdateCts ( v: T; reset: BOOLEAN) = <* LL = VBT.mu *> BEGIN IF reset THEN v.eventDataRec.ctOfSetup := 0; v.eventDataRec.ctOfNewLine := 0; v.eventDataRec.ctOfErrorInit := 0; v.eventDataRec.ctOfShowPixel := 0; v.eventDataRec.ctOfFindError := 0; v.eventDataRec.ctOfChangeError := 0; v.eventDataRec.ctOfCompareError := 0; v.eventDataRec.ctOfShowNextPixel := 0; v.eventDataRec.ctOfMove := 0; END; CountsToFV (v.eventData, v); END BresenhamDefaultUpdateCts; PROCEDUREBresenhamDefaultSnapshot (v: T; wr: Wr.T) RAISES {ZeusClass.Error} = <* LL = VBT.mu *> BEGIN TRY Wr.PutChar(wr, '(') EXCEPT ELSE RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultSnapshot write error"); END; IF v.eventData = NIL THEN RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultSnapshot: " & "eventData not set!"); END; TRY v.eventData.snapshot(wr) EXCEPT FormsVBT.Error (msg) => RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultSnapshot FV error: " & msg); ELSE RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultSnapshot error"); END; Algorithm.T.snapshot(v, wr); TRY Wr.PutChar(wr, ')') EXCEPT ELSE RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultSnapshot write error"); END; END BresenhamDefaultSnapshot; PROCEDUREBresenhamDefaultRestore (v: T; rd: Rd.T) RAISES {ZeusClass.Error} = <* LL = VBT.mu *> BEGIN IF rd = NIL THEN RETURN END; IF NOT ZeusUtil.EatChar(rd, '(') THEN RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultRestore read error"); END; IF v.eventData = NIL THEN RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultRestore: " & "eventData not set!"); END; TRY v.eventData.restore(rd); v.updateEventCounts(FALSE); FromFV(v.eventData, v); EXCEPT ELSE RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultRestore error"); END; Algorithm.T.restore(v, rd); IF NOT ZeusUtil.EatChar(rd, ')') THEN RAISE ZeusClass.Error( "BresenhamAlgClass.BresenhamDefaultRestore read error"); END; END BresenhamDefaultRestore; BEGIN END BresenhamAlgClass.