DIRECTORY ColorDisplayManager USING [NextState], Menus USING [ClickProc], MessageWindow USING [Append, Blink], ViewerClasses USING [Column, Viewer], ViewerMenus USING [], ViewerOps USING [Adjust, ChangeColumn, CloseViewer, DestroyViewer, GrowViewer, TopViewer], WindowManager USING [colorDisplayOn]; ViewerMenusImpl: CEDAR PROGRAM IMPORTS ColorDisplayManager, MessageWindow, ViewerOps, WindowManager EXPORTS ViewerMenus SHARES ViewerClasses, ViewerOps = BEGIN OPEN Menus; Column: TYPE ~ ViewerClasses.Column; Viewer: TYPE ~ ViewerClasses.Viewer; Destroy: PUBLIC ClickProc = { viewer: Viewer ~ NARROW[parent]; IF viewer.inhibitDestroy THEN { MessageWindow.Append["Sorry, this viewer can not be destroyed.", TRUE]; MessageWindow.Blink[]; RETURN; }; ViewerOps.DestroyViewer[viewer]; }; Close: PUBLIC ClickProc = {ViewerOps.CloseViewer[NARROW[parent]]}; Grow: PUBLIC ClickProc = {ViewerOps.GrowViewer[NARROW[parent]]}; Adjust: PUBLIC ClickProc = {ViewerOps.Adjust[NARROW[parent], mouseButton=red]}; ToTheLeft: PROC [column: Column] RETURNS [Column] = { IF WindowManager.colorDisplayOn AND column = left AND ColorDisplayManager.NextState[].side = left THEN RETURN [color]; RETURN [left] }; ToTheRight: PROC [column: Column] RETURNS [Column] = { IF WindowManager.colorDisplayOn AND column = right AND ColorDisplayManager.NextState[].side = right THEN RETURN [color]; RETURN [right] }; Left: PUBLIC ClickProc = { viewer: Viewer ~ NARROW[parent]; ViewerOps.ChangeColumn[viewer, ToTheLeft[viewer.column]]; IF shift THEN ViewerOps.GrowViewer[viewer]; }; Right: PUBLIC ClickProc = { viewer: Viewer ~ NARROW[parent]; ViewerOps.ChangeColumn[viewer, ToTheRight[viewer.column]]; IF shift THEN ViewerOps.GrowViewer[viewer]; }; Color: PUBLIC ClickProc = { viewer: Viewer ~ NARROW[parent]; IF WindowManager.colorDisplayOn THEN { ViewerOps.ChangeColumn[viewer, color]; IF shift THEN ViewerOps.GrowViewer[viewer]; }; }; Top: PUBLIC ClickProc = {ViewerOps.TopViewer[NARROW[parent]]}; END.  ViewerMenusImpl.mesa Copyright Σ 1985, 1986, 1991 by Xerox Corporation. All rights reserved. Edited by McGregor on December 14, 1982 10:50 am Last Edited by: Maxwell, June 6, 1983 12:11 pm Michael Plass, February 20, 1987 6:38:27 pm PST Doug Wyatt, April 5, 1985 12:09:54 pm PST Save: PUBLIC ClickProc = { viewer: ViewerClasses.Viewer ~ NARROW[parent]; IF viewer.newFile OR viewer.newVersion THEN ViewerOps.SaveViewer[viewer]; }; Restore: PUBLIC ClickProc = {ViewerOps.RestoreViewer[NARROW[parent]]}; ΚZ•NewlineDelimiter –(cedarcode) style™codešœ™Kšœ Οeœ=™HKšœ0™0Kšœ.™.K™/K™)—K˜šΟk ˜ Kšœžœ ˜&Kšœžœ ˜Kšœžœ˜$Kšœžœ˜%Kšœ žœ˜Kšœ žœK˜ZKšœžœ˜%—K˜KšΠblœžœž˜Kšžœ=˜DKšžœ ˜Kšžœ˜šœžœžœ˜K˜Kšœžœ˜$šœžœ˜$K˜—šΟnœžœ˜Kšœžœ ˜ šžœžœ˜KšœAžœ˜GK˜Kšžœ˜K˜—Kšœ ˜ Kšœ˜K˜—š œžœ$žœ ˜BK˜—š œžœ#žœ ˜@K˜—š œžœ™Kšœžœ ™.Kšžœžœžœ™IKšœ™K™—š œžœ&žœ ™FK™—š œžœžœ˜OK˜—š  œžœžœ ˜5Kš žœžœžœ-žœžœ ˜vKšžœ˜ Kšœ˜K˜—š  œžœžœ ˜6Kš žœžœžœ.žœžœ ˜xKšžœ˜Kšœ˜K˜—š œžœ˜Kšœžœ ˜ Kšœ9˜9Kšžœžœ˜+Kšœ˜K˜—š œžœ˜Kšœžœ ˜ Kšœ:˜:Kšžœžœ˜+Kšœ˜K˜—š œžœ˜Kšœžœ ˜ šžœžœ˜&Kšœ&˜&Kšžœžœ˜+Kšœ˜—Kšœ˜K˜—Kš œžœ"žœ ˜>K˜K˜—Kšžœ˜K˜K˜—…—Β