DIRECTORY Buttons, Containers, FinchSmarts USING [ ConvDesc ], IO, Labels, MBQueue USING [ Queue ], Menus, Rope USING [ ROPE ], TiogaButtons USING [ TiogaButton ], VFonts, ViewerClasses USING [ Viewer ], ViewerEvents USING [ EventRegistration ] ; FinchTool: CEDAR DEFINITIONS IMPORTS VFonts = { ROPE: TYPE = Rope.ROPE; Viewer: TYPE = ViewerClasses.Viewer; BuildDirectories: PROC []; DestroyDirectories: PROC []; BuildDirectory: PROC[directoryFile: Rope.ROPE, newOK: BOOL¬TRUE]; 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[msg: ROPE, a1, a2, a3: IO.Value ¬ [null[]]]; ReportRope: PROC[msg1: ROPE]; Status: PROC[msg1, msg2, msg3, msg4: ROPE¬NIL]; CheckAborted: PROC[sib: Viewer] RETURNS[ok: BOOL]; CheckActive: PROC[handle: Handle, mustAlreadyBeActive: BOOL¬FALSE, complain: BOOL¬TRUE] RETURNS [ active: BOOL¬FALSE ]; GetSelectedDesc: PROC[chosenButton: TiogaButtons.TiogaButton¬NIL, checkActive: BOOL¬TRUE] RETURNS [cDesc: FinchSmarts.ConvDesc]; Stop: Menus.MenuProc; Hangup: Menus.MenuProc; StartFinch: PROC; StopFinch: PROC[disable: BOOL¬TRUE]; 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, callLog: IO.STREAM ¬ NIL, conversations: Viewer, -- Log of active and completed conversations logServiceCalls: LogServiceCalls ¬ $all, -- user can limit logging of service calls directories: LIST OF Viewer, -- White pages directories finchEnabledAtCheckpoint: BOOL¬FALSE, -- retains state of enabling over Checkpoint/Rollback. finchEnabledAtLastReport: BOOL¬FALSE, -- for avoiding multiple reports of same finchConnectedAtLastReport: BOOL¬FALSE, -- condition 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, scrollEvent: ViewerEvents.EventRegistration ¬ NIL, backgrounding: BOOL¬FALSE ]; LogServiceCalls: TYPE = {none, one, all}; }. p FinchTool.mesa Copyright Σ 1992 by Xerox Corporation. All rights reserved. Last Edited by: Swinehart, October 15, 1991 10:36 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) June 26, 1989 10:45:55 am PDT If check, make sure connection to Finch is active before returning result. 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 Polle Zellweger (PTZ) July 29, 1987 8:05:18 pm PDT changes to: GetSelectedDesc, DIRECTORY Polle Zellweger (PTZ) August 13, 1987 2:30:14 pm PDT Add logServiceCalls to allow user to limit logging of service calls. changes to: FinchToolRec, FinchTool, LogServiceCalls Polle Zellweger (PTZ) August 14, 1987 5:32:41 pm PDT changes to: FinchToolRec Polle Zellweger (PTZ) June 26, 1989 10:45:10 am PDT Add scrollEvent to allow unregistering when the conv viewer disappears. changes to: DIRECTORY, FinchToolRec ΚV•NewlineDelimiter –(cedarcode) style™™Jšœ Οeœ1™