DIRECTORY Containers USING [Container], Icons USING [IconFlavor], Menus USING [ClickProc, Menu], Rope USING [ROPE]; PeanutWindow: CEDAR DEFINITIONS = BEGIN OutputRope: PROC [text: Rope.ROPE]; OutputChar: PROC [char: CHAR]; SetNewMail: PROC [newMail: BOOL]; AddCommand: PROC [name: Rope.ROPE, proc: Menus.ClickProc, data: REF ANY _ NIL, fork: BOOL _ TRUE, guarded: BOOL _ FALSE]; AddButton: PROC [name: Rope.ROPE, proc: Menus.ClickProc, data: REF ANY _ NIL, fork: BOOL _ TRUE, guarded: BOOL _ FALSE, redisplay: BOOL _ TRUE]; Create: PROC RETURNS [new: BOOL]; Destroy: PROC; peanutParent: Containers.Container; newMailIcon: Icons.IconFlavor; noMailIcon: Icons.IconFlavor; messageSetIcon: Icons.IconFlavor; dirtyMessageSetIcon: Icons.IconFlavor; mailMessageIcon: Icons.IconFlavor; dirtyMailMessageIcon: Icons.IconFlavor; menu: Menus.Menu; abortFlag: BOOL; END. าPeanutWindow.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Written by Scott McGregor, February 1983 Last edited by McGregor on March 4, 1983 9:11 am Last edited by Paxton on March 3, 1983 9:30 am Last Edited by: Pausch, July 14, 1983 2:25 pm Doug Wyatt, March 7, 1985 11:22:50 am PST Write a rope to the peanut typescript Write a character to the peanut typescript Change the peanut window to indicate new mail state Add a new command to the one-line peanut menu (saved across destroy of window) Add a new button to the button area below the menu (not saved across destroy of window) the peanut viewer will be repainted if 'redisplay' is TRUE. Create the peanut window Destroy the peanut window ส>˜code– "Cedar" stylešœ™K– "Cedar" stylešœ ฯmœ1™