<> <> <> <> <> DIRECTORY GVBasics USING [RName], GVSend USING [Handle], Menus USING [Menu], Rope USING [ROPE], ViewerClasses USING [Viewer], ViewerEvents USING [EventRegistration], ViewerTools USING [TiogaContents]; WalnutSendInternal: CEDAR DEFINITIONS = BEGIN OPEN GVBasics, Rope, ViewerClasses, ViewerTools; SendMsgRecObject: TYPE = RECORD[ fullText: ROPE, -- text to be sent from: ROPE, -- The From: field to: LIST OF RName, cc: LIST OF ROPE, subject: ROPE, -- The Subject: field voiceID: ROPE, -- the ID for a voice message replyTo: BOOL_ FALSE, -- is this field present numRecipients: INT_ 0, numDLs: INT_ 0, endHeadersPos: INT_ 0 -- for adding Reply-To: field ]; SendingRec: TYPE = REF SendMsgRecObject; SenderInfo: TYPE = REF SenderInfoObject; SenderInfoObject: TYPE = RECORD [senderV: Viewer, replyToResponse: HowToReplyTo_ self, prevMsg: TiogaContents_ NIL, numCharsToDelete: INT_ 0, closeEvent, destroyEvent, editEvent: ViewerEvents.EventRegistration_ NIL, openEvent, focusEvent: ViewerEvents.EventRegistration_ NIL, dontClose: BOOL_ FALSE, successfullySent, userResponded, confirmed: BOOL_ FALSE, aborted: BOOL_ FALSE, validateFlag: BOOL_ TRUE, sendHandle: GVSend.Handle_ NIL]; maxWithNoReplyTo: INT = 20; HowToReplyTo: TYPE = {self, all, cancel}; SendParseStatus: PUBLIC TYPE = {ok, includesPublicDL, includesPrivateDL, fieldNotAllowed, syntaxError}; sendCaption: ROPE; needToAuthenticate: BOOL; replyToSelf: BOOL; sendMenu, formsMenu, sendingMenu, blankMenu, confirmMenu, replyToMenu: Menus.Menu; <<***********************************************************>> InsertIntoViewer: PROC [v: Viewer, what: ROPE, where: INT, labelFont: ROPE _ NIL, changeSelection: BOOL _ FALSE]; <> ShowErrorFeedback: PROC[v: Viewer, start, end: INT]; DeleteChars: PROC[v: Viewer, num: INT]; SenderReport: PROC[msg: ROPE, blink: BOOL_ FALSE]; CheckForAbortSend: PROC[senderInfo: SenderInfo] RETURNS[BOOL]; Confirmation: PROC[senderInfo: SenderInfo] RETURNS [BOOL]; ReplyToResponse: PROC[senderInfo: SenderInfo] RETURNS [HowToReplyTo]; GrabFocus: PROC[senderV: Viewer]; ClearFileAssoc: PROC[v: Viewer]; SenderNewVersion: PROC[viewer: Viewer]; UnsetNewVersion: PROC[viewer: Viewer]; LockViewerOpen: PROC[viewer: Viewer]; ReleaseOpenViewer: PROC[viewer: Viewer]; END.