<> <> <> <<>> <> DIRECTORY Menus USING [Menu], Rope USING [ROPE], ViewerClasses USING [Viewer], WalnutOps USING [MsgSet], WalnutWindow USING [OutCome]; WalnutControlInternal: CEDAR DEFINITIONS = BEGIN Viewer: TYPE = ViewerClasses.Viewer; ROPE: TYPE = Rope.ROPE; WaitCallOutcome: TYPE = WalnutWindow.OutCome; blankMenu: Menus.Menu; forceQuitMenu: Menus.Menu; maybeQuitMenu: Menus.Menu; scavMenu: Menus.Menu; mailDBMenu: Menus.Menu; readOnlyDBMenu: Menus.Menu; nonMailDBMenu: Menus.Menu; workingMenu: Menus.Menu; walnutMenu: Menus.Menu; mailNotifyLabel: Viewer; previousUser: ROPE; mustQuitWalnut: ROPE; walnutRootFile: ROPE; invocationDirectory: ROPE; searchRules: LIST OF REF ANY; <<* * * * * * * * * from WalnutWindowMenuImpl>> <> GetUserResponse: PROC[m: Menus.Menu _ NIL] RETURNS[BOOL]; ChangeMenu: PROC[m: Menus.Menu, isBusy: BOOL]; BuildWalnutMenus: PROC; DoArchive: PROC[fileName: ROPE, msList: LIST OF WalnutOps.MsgSet, append: BOOL] RETURNS[ok: BOOL]; <> <<* * * * from WalnutNotifierImpl>> <> <<>> WalnutNotifier: PROC; RestartWalnut: PROC[ rootFile: ROPE, scavengeFirst: BOOL _ FALSE, firstTime: BOOL _ FALSE] RETURNS[ok: BOOL]; <> <<>> QuitWalnut: PROC[ra: REF ANY ]; <> <<>> DoStartupCall: PROC[proc: PROC[isRunning: BOOL]] RETURNS[outcome: WaitCallOutcome]; <> DoWaitCall: PROC[proc: PROC[]] RETURNS[outcome: WaitCallOutcome]; <> <<>> FlushWQueue: PROC; FixUpWalnutViewers: PROC; END.