<> <> <> <> DIRECTORY Buttons, Containers, IO, Labels, MBQueue USING [ Queue ], Menus, Rope USING [ ROPE ], VFonts, ViewerClasses USING [ Viewer ] ; FinchTool: CEDAR DEFINITIONS IMPORTS VFonts = { ROPE: TYPE = Rope.ROPE; Viewer: TYPE = ViewerClasses.Viewer; BuildDirectoryDisplayer: PROC [ directoryFiles: LIST OF Rope.ROPE, viewerName: Rope.ROPE, shift: BOOL_ FALSE] RETURNS[msV: ViewerClasses.Viewer]; DisplayDirectoryInViewer: PROC[ directoryFiles: LIST OF Rope.ROPE, msViewer: ViewerClasses.Viewer, shift: BOOL_FALSE]; FirstButton: PROC[ q: MBQueue.Queue, name: ROPE, proc: Buttons.ButtonProc, parent: Viewer, data: REF ANY_ NIL, border: BOOL_ FALSE, width: INTEGER_ 0, guarded: BOOL_ FALSE, font: VFonts.Font _ VFonts.defaultFont] RETURNS [nV: Viewer]; AnotherButton: PROC[ q: MBQueue.Queue, name: ROPE, proc: Buttons.ButtonProc, sib: Viewer, data: REF ANY_ NIL, border: BOOL_ FALSE, width: INTEGER_ 0, guarded: BOOL_ FALSE, font: VFonts.Font _ VFonts.defaultFont, newLine: BOOL_ FALSE] RETURNS [nV: Viewer]; Report: PROC[msg1, msg2, msg3, msg4: ROPE_NIL]; ReportRope: PROC[msg1: ROPE]; Status: PROC[msg1, msg2, msg3, msg4: ROPE_NIL]; CheckAborted: PROC[sib: Viewer] RETURNS[ok: BOOL]; CheckActive: PROC[handle: Handle] RETURNS [ active: BOOL_FALSE ]; Stop: Menus.MenuProc; Hangup: Menus.MenuProc; StartFinch: PROC; StopFinch: PROC; <> <> <> CallByDescription: PROC[description: ROPE, residence: BOOL_FALSE]; finchQueue: MBQueue.Queue; finchToolHandle: Handle; Handle: TYPE = REF FinchToolRec; -- a REF to the data for a particular instance of the sample tool; multiple instances can be created. FinchToolRec: TYPE = RECORD [ -- the data for a particular tool instance outer: Containers.Container _ NIL, -- handle for the enclosing container status: Labels.Label_NIL, -- current status line calledPartyText: Viewer_NIL, typescript: Viewer _ NIL, -- typescript for Finch activities tsIn: IO.STREAM_NIL, tsOut: IO.STREAM _ NIL, conversations: Viewer, -- Log of active and completed conversations directory: Viewer, -- user's main directory finchActive: BOOL_FALSE, -- TRUE when connected to server finchWasActive: BOOL_FALSE, finchActiveAtCheckpoint: BOOL_FALSE, -- TRUE when . . . what it says inExecCmd: BOOL_FALSE ]; }.