<> <> <> DIRECTORY ImagerFont USING [Font], IO USING [STREAM, Value], Rope USING [ROPE], ViewerClasses USING [ClickProc, Viewer]; SoftcardToolPrivate: CEDAR DEFINITIONS = BEGIN DragonState: TYPE = {unknown, running, stopped}; ClickProc: TYPE = ViewerClasses.ClickProc; ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; Viewer: TYPE = ViewerClasses.Viewer; entryHeight: INTEGER = 14; betweenHeight: INTEGER = 4; leftEdge: INTEGER = 3; xFudge: INTEGER = 4; activeFont: ImagerFont.Font; labelFont: ImagerFont.Font; selectFont: ImagerFont.Font; tinySelectFont: ImagerFont.Font; regDir: ROPE; SetDragonStateLabelButton: PROC[which: DragonState]; GetAsInt: PROC[who: Viewer] RETURNS[val: INT]; GetAsCard: PROC[who: Viewer] RETURNS[val: CARD32]; CheckedGetAsCard: PROC[who: Viewer, which: ROPE, max: CARD32] RETURNS[ok: BOOL, val: CARD32]; <> <> <<>> CheckForValid: PROC[val, max: CARD32, which: ROPE] RETURNS[ok: BOOL]; < max; prints outs a message as well>> BuildVariousButtons: PROC[topViewer, sibx: Viewer] RETURNS[Viewer]; BuildMiscButtons: PROC[topViewer, sibx: Viewer] RETURNS[Viewer]; BuildPeekPokeButtons: PROC[topViewer, sibx: Viewer] RETURNS[Viewer]; BuildRegisterButtons: PROC[topViewer, sibx: Viewer] RETURNS[Viewer]; TSOutPutF: PROC[format: ROPE _ NIL, v1, v2, v3, v4, v5: IO.Value _ [null[]]]; TSOutPutRope: PROC[r: ROPE]; TSOutPutChar: PROC[ch: CHAR]; END..