DIRECTORY Commander USING [CommandObject, Handle], CommandTool USING [DoCommand], DB, IO USING[noWhereStream, STREAM], Nut, Rope USING [Cat, ROPE], TiogaMenuOps USING [Open], ViewerClasses USING [Viewer, ViewerRec, ViewerFlavor], ViewerOps, WhiteboardDB, WhiteboardViewers; WhiteboardNut: CEDAR PROGRAM IMPORTS CommandTool, IO, Nut, Rope, TiogaMenuOps, ViewerOps, WhiteboardDB, WhiteboardViewers = BEGIN OPEN ViewerClasses; ROPE: TYPE = Rope.ROPE; CreateWBViewer: PUBLIC PROC[eName: ROPE, parent: Viewer] = BEGIN newV: Viewer; IF NOT WhiteboardDB.WBExists[eName] THEN RETURN; newV _ ViewerOps.FindViewer[Rope.Cat["Whiteboard: ", eName]]; IF newV = NIL OR newV.destroyed THEN { newV _ Nut.GetSpawnedProperty[parent]; IF newV = NIL OR newV.destroyed OR newV.newVersion OR Nut.GetFrozenProperty[newV] OR newV.class.flavor # WhiteboardViewers.wb THEN newV _ NIL; newV _ WhiteboardDB.Display[eName, newV]; [] _ Nut.SetSpawnedProperty[parent, newV] } ELSE Open[newV]; RETURN; END; WhiteboardDisplay: Nut.NutProc = { IF NOT WhiteboardDB.WBExists[eName] THEN RETURN; [] _ WhiteboardDB.Display[eName] }; CreateTextViewer: PUBLIC PROC[eName: ROPE] = BEGIN newV: Viewer; newV _ ViewerOps.FindViewer[eName]; IF newV = NIL OR newV.destroyed THEN newV _ TiogaMenuOps.Open[fileName: eName] ELSE Open[newV]; RETURN; END; DoCommandFile: PUBLIC PROC[commandFile: ROPE] = BEGIN cmd: Commander.Handle = NEW[Commander.CommandObject _ []]; cmd.out _ IO.noWhereStream; cmd.err _ IO.noWhereStream; [] _ CommandTool.DoCommand[commandLine: Rope.Cat["///Commands/Source ", commandFile, " &\n"], parent: cmd]; END; Open: PROC[viewer: Viewer] = BEGIN IF viewer#NIL THEN IF viewer.iconic THEN ViewerOps.OpenIcon[viewer] ELSE ViewerOps.PaintViewer[viewer, all]; END; Nut.Register["Whiteboard", $Whiteboard, WhiteboardDisplay, WhiteboardDisplay] END... dWhiteboardNut.mesa Copyright (C) 1984 by Xerox Corporation. All rights reserved. last edited by: John Maxwell on: September 22, 1982 12:19 pm Willie-Sue on: February 22, 1983 4:19 pm Cattell on: April 21, 1983 4:02 pm Donahue, November 19, 1985 9:00:05 am PST (Removed use of PressPrinter stuff -- press files now get treated like tools) Widom, August 24, 1984 7:21:39 pm PDT Last Edited by: Winkler, December 18, 1984 5:21:52 pm PST If whiteboard has been deleted, do nothing try to find a viewer that might have been created register the necessary procedures with Nut for outside clients of Whiteboards Êï˜Jšœ™Jšœ=™=Jšœ™Jšœ,™,Jšœ(™(Jšœ"™"Jšœ)™)J™MJšœ%™%J™9J˜šÏk ˜ Jšœ œ˜(Jšœ œ ˜Jšœ˜Jšœœœ˜ Jšœ˜Jšœœœ˜Jšœ œ˜Jšœœ#˜6J˜ J˜ J˜J˜—šœœœ˜šœ˜JšœV˜V—Jš˜Jšœ˜J˜—Jšœœœ˜J˜šÏnœ œœ˜:š˜J˜ J™*Jšœœœœ˜0Jšœ1™1J˜=šœœœœ˜&Jšœ&˜&Jš œœœœœœ)˜}Jšœœ˜Jšœ)˜)J˜+—Jšœ ˜Jšœ˜Jšœ˜J˜——˜"Jšœœœœ˜0Jšœ ˜ J˜—J˜šžœ œœ˜,Jš˜J˜ J˜#Jšœœœœ*˜NJšœ ˜Jšœ˜Jšœ˜J˜—šž œœœœ˜/š˜Jšœœ˜:Jšœ œ˜Jšœ œ˜Jšœk˜kJšœ˜——J˜šžœœ˜Jš˜šœœ˜Jšœœ˜0Jšœ$˜(—Jšœ˜—J˜JšœM™MJ˜J˜MJ˜Jšœ˜J˜—…—.