<> <> <> <> <> <> <> <<(Added WalnutActive, regularized Message and Message Set display procs)>> <<(This is now intended to be the high-level programmer's interface to the Walnut Window procedures. Changed operations around and moved some things in from the old Walnut Window.)>> DIRECTORY Menus USING [MenuProc], Rope USING [ROPE], ViewerClasses USING [Viewer]; WalnutWindow: CEDAR DEFINITIONS = BEGIN Viewer: TYPE = ViewerClasses.Viewer; ROPE: TYPE = Rope.ROPE; OutCome: TYPE = {ok, flushed, notRunning}; << Msg and MsgSet viewer procedures>> GetMsgName: PROC[v: Viewer] RETURNS[mName: ROPE]; <> GetMsgSetName: PROC[v: Viewer] RETURNS[msName: ROPE]; <> CurrentVersion: PROC[msName: ROPE] RETURNS[version: INT]; <> AddToMsgMenu: PROC[label: ROPE, proc: Menus.MenuProc, clientData: REF ANY _ NIL, onQueue: BOOL _ FALSE, doReset: BOOL _ TRUE]; <> <> RemoveFromMsgMenu: PROC[name: ROPE]; <> <> DisplayMsg: PROC[msg: ROPE, oldV: Viewer _ NIL, shift: BOOL _ FALSE] RETURNS[v: Viewer]; <> <<>> DisplayMsgSet: PROC[msgSet: ROPE, shift: BOOL _ FALSE, repaint: BOOL _ TRUE] RETURNS[v: Viewer]; <> <> StartUp: PROC[rootFile: ROPE, scavengeFirst: BOOL _ FALSE]; <> Shutdown: PROC; <> QueueCall: PROC[proc: PROC[] RETURNS[doReset: BOOL]] RETURNS[outCome: OutCome]; <> <> GetNewMail: PROC; <> Expunge: PROC; Scavenge: PROC[rootFile: ROPE]; WriteArchiveFile: PROC[fileName: ROPE, msgSetList: LIST OF ROPE]; <> ReadArchiveFile: PROC[fileName, msgSet: ROPE, useCategoriesInFile: BOOL _ FALSE]; <> <> SelectMsgSetsFromMSNames: PROC [msNames: LIST OF ROPE] RETURNS[notFound: LIST OF ROPE]; <> EnumWalnutViewers: PROC[keepSeparate: BOOL] RETURNS [msgSetList, msgList: LIST OF Viewer]; <<>> END.