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; BuildDirectories: PROC []; DestroyDirectories: PROC []; 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]; FeepValue: PROC[text: ROPE] RETURNS [feepText: ROPE]; 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 debug: BOOL_FALSE, -- currently controls intermediate speech reports outer: Containers.Container _ NIL, -- handle for the enclosing container calledPartyText: Viewer_NIL, callingPartyText: 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 directories: LIST OF Viewer, -- White pages directories finchActive: BOOL_FALSE, -- TRUE when connected to server finchWasActive: BOOL_FALSE, finchActiveAtCheckpoint: BOOL_FALSE, -- TRUE when . . . what it says inExecCmd: BOOL_FALSE, keepTwiddling: BOOL _ FALSE, -- TRUE while state = ringing, twiddleWait: CONDITION, finchToolHeight: NAT _ 64, pauseTimeTilted: INT_80, -- all times in milliseconds, all relate to Finch icon when pauseTimeMiddle: INT_0, -- phone is ringing pauseTimeOn: INT _ 4000, -- defaults to on all the time pauseTimeDrawFactor: INT _ 40, -- time to draw icons pauseTimeOff: INT _ 2000 ]; }. τFinchTool.mesa Last Edited by: Swinehart, September 9, 1985 0:25:17 am PDT Last Edited by: Lia, August 4, 1983 11:40 am Last Edited by: Pier, March 21, 1984 10:11:19 pm PST Polle Zellweger (PTZ) October 16, 1985 4:41:39 pm PDT description is a name or number; look for it everywhere that makes any sense. Residence is a hint, when description is a name, to use a home rather than office number. Place a call to resulting party. Polle Zellweger (PTZ) September 3, 1985 2:41:00 pm PDT Add debug field to control intermediate speech reports. changes to: FinchToolRec Swinehart, September 6, 1985 7:32:53 am PDT Eliminate status line in Finch Tool changes to: FinchToolRec Polle Zellweger (PTZ) October 16, 1985 4:41:39 pm PDT changes to: FinchToolRec Κ˜J™Jšœ;™;JšΟk,™,™4Icodešœ5™5—š ˜ J˜J˜ J˜J˜J˜J˜Jšœœœ˜J˜Jšœœ ˜J˜—J˜Jšœ œ œœ ˜/J˜Jšœœœ˜Jšœœ˜$J˜J˜šΟnœœ˜J˜—Jšžœœ˜J˜šž œœ˜Jšœœ+˜GJš œœœœ œœ œ˜;Jšœ œœ)˜=Jšœ˜—J˜šž œœ˜Jšœœ(˜DJš œœœœ œœ œ˜;Jš œ œœ3œœ˜SJšœ˜—J˜Jšžœœœœ˜/Jšž œœœ˜Jšžœœœœ˜/J˜Jšž œœœœ˜2J˜Jš ž œœœ œœ˜AJ˜Jšžœ˜Jšžœ˜J˜Jšž œœ˜Jšž œœ˜˜J™MJ™YJ™ —Jš žœœœ œœ˜BJ˜Jš ž œœœœ œ˜5J˜J˜J˜J˜IunitšœœœΟcΠckŸ]˜†procšœœœŸ+˜HJšœœœŸ1˜EJšœœŸ%˜HJšœœ˜Jšœœ˜JšœœŸ"˜