DIRECTORY Containers USING [ChildXBound, Create], DFOperations USING [SModelAction], DFOperationsQueue USING [Enqueue, RequestRecord], DFToolInternal USING [ AddOpToTable, DFTool, EnsureDFName, offScreenY, OpDefiner, Operation, OpsInteraction, OpSpecificProc, ViewerToRopeList], Rope USING [ROPE], ViewerOps USING [MoveViewer], ViewerTools USING [GetContents]; VerifyToolImpl: CEDAR PROGRAM IMPORTS Containers, DFOperationsQueue, DFToolInternal, ViewerOps, ViewerTools = BEGIN OPEN Ops: DFOperations, OpsQ: DFOperationsQueue, Tool: DFToolInternal; ROPE: TYPE = Rope.ROPE; ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- VerifyData: TYPE = RECORD [ -- this is a placeholder for future options dummy: NAT _ 0 ]; VerifySpecific: Tool.OpSpecificProc = { SELECT action FROM $createOptions => { op: Tool.Operation = NARROW[param]; tool: Tool.DFTool = op.tool; data: REF VerifyData = NEW[VerifyData _ []]; op.options _ data; op.optionsContainer _ Containers.Create[info: [ wx: 0, wy: Tool.offScreenY, ww: 9999, -- arbitrary; Containers.ChildXBound overrides wh: 0, parent: tool.inner, border: FALSE, scrollable: FALSE ]]; Containers.ChildXBound[tool.inner, op.optionsContainer]; op.height _ op.height + tool.parameters.entryVSpace; ViewerOps.MoveViewer[ viewer: op.optionsContainer, x: op.optionsContainer.wx, y: op.optionsContainer.wy, w: op.optionsContainer.ww, h: op.height, paint: FALSE ]; }; $doOp => { op: Tool.Operation = NARROW[param]; tool: Tool.DFTool = op.tool; wDir: ROPE = ViewerTools.GetContents[tool.wDir]; data: REF VerifyData = NARROW[op.options]; FOR list: LIST OF ROPE _ Tool.ViewerToRopeList[tool.dfNames], list.rest UNTIL list = NIL DO tool.opsQueue.Enqueue[NEW[OpsQ.RequestRecord _ [ dfFile: Tool.EnsureDFName[list.first], wDir: wDir, interact: Tool.OpsInteraction, log: tool.log, clientData: op, opSpecific: verify[] ]]]; ENDLOOP; }; ENDCASE; }; ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- Tool.AddOpToTable[ NEW[Tool.OpDefiner _ ["Verify", $verify, $individual, VerifySpecific]]]; END. žVerifyToolImpl.mesa last edited by Levin on December 15, 1983 12:00 pm Verify-specific Code Eventually, options creation will go here. Initialization Ê˜Jšœ™Jšœ2™2J˜šÏk ˜ Jšœ œ˜'Jšœ œ˜"Jšœœ˜1šœœ˜Jšœx˜x—Jšœœœ˜Jšœ œ˜Jšœ œ˜ —J˜šœœ˜JšœH˜O—J˜Jš˜J˜JšœB˜FJ˜Jšœœœ˜J™JšÏcœžœžœžœžœžœžœž˜'Jšœ™Jšžœžœžœžœžœžœžœž˜'J˜šœ œœž+˜HJšœœ˜J˜—J˜šœ'˜'šœ˜˜Jšœœ˜#J˜Jšœœœ˜,Jšœ˜šœ/˜/Jšœ˜Jšœ ž.˜9Jšœ˜Jšœ˜Jšœœ˜Jšœ ˜Jšœ˜—Jšœ8˜8Jšœ*™*Jšœ4˜4šœ˜Jšœ˜Jšœ5˜5Jšœ(˜(Jšœ˜ J˜—J˜—˜ Jšœœ˜#Jšœ˜Jšœœ&˜0Jšœœœ ˜*š œœœœ2œœ˜[šœœ˜0Jšœ&˜&J˜ Jšœ˜Jšœ˜J˜Jšœ˜J˜—Jšœ˜—J˜—Jšœ˜—J˜—˜J˜—Jšžœžœžœžœžœžœžœž˜'J™Jšžœžœžœžœžœžœžœž˜'J˜šœ˜JšœE˜H—J˜Jšœ˜J˜—…—& Õ