DIRECTORY Graphs, Menus, Rope, ViewerClasses; GraphBrowsers: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; Viewer: TYPE = ViewerClasses.Viewer; Browser: TYPE = REF BrowserRep; BrowserRep: TYPE; Pane: TYPE = REF PaneRep; PaneRep: TYPE; BrowserClass: TYPE = REF BrowserClassRep; BrowserClassRep: TYPE = RECORD [ cmds: BrowserCmds, fork: BOOLEAN _ TRUE, --FORK calls on command procs serialize: BOOLEAN _ TRUE --only one outstanding cmd call at a time ]; BrowserCmds: TYPE = ARRAY Menus.MouseButton OF ARRAY BOOLEAN--Control-- OF ARRAY BOOLEAN--Shift-- OF BrowserCmd; BrowserCmd: TYPE = RECORD [ proc: BrowserCmdProc, cmdData: REF ANY _ NIL, button: Menus.MouseButton _ red, ctl, shift: BOOLEAN _ FALSE]; BrowserCmdProc: TYPE = PROC [pane: Pane, index: CARDINAL--origin 0--, cmdData, browserData: REF ANY, button: Menus.MouseButton, ctl, shift, paint: BOOLEAN]; Browse: PROC [vertex: Graphs.Vertex, browserClass: BrowserClass, browserData: REF ANY _ NIL, viewerInit: ViewerClasses.ViewerRec _ [], paint: BOOLEAN _ TRUE] RETURNS [Browser]; BrowserQuaViewer: PROC [Browser] RETURNS [Viewer]; Expand, Contract: BrowserCmdProc; basicBrowserClass: BrowserClass; GetPaneVertex: PROC [pane: Pane] RETURNS [vertex: Graphs.Vertex]; GetChildName: PROC [pane: Pane, index: CARDINAL--origin 0--] RETURNS [name: ROPE]; GetChildVertex: PROC [pane: Pane, index: CARDINAL--origin 0--] RETURNS [vertex: Graphs.Vertex]; GetPaneUpEdge: PROC [pane: Pane] RETURNS [parent: Pane, index: CARDINAL--origin 0--]; END. PGraphBrowsers.Mesa Last Edited by: Spreitzer, June 6, 1985 4:32:47 pm PDT Κi– "cedar" style˜J™J™6J˜IcodešΟk œ$˜-K˜KšΠbx œœ œ˜"K˜Kš˜K˜Kšœœœ˜Kšœœ˜$K˜Kšœ œœ ˜Kšœ œ˜K˜Kšœœœ ˜Kšœ œ˜K˜Kšœœœ˜)šœœœ˜ Kšœ˜KšœœœΟc˜4Kšœ œœŸ)˜CKšœ˜—K˜Kšœ œœœœŸ œœœŸ œœ ˜pK˜šœ œœ˜K˜Kšœ œœœ˜Kšœ ˜ Kšœ œœ˜K˜—šΟnœœœŸ œœœ0œ˜œK˜—Kš œœBœœœ3œœœ ˜°K˜Kš œœ œ ˜2K˜Kš œ œ˜!K˜K˜ K˜Kš  œœœ˜AK˜Kš   œœŸ œœœ˜RKš  œœŸ œœ˜_K˜Kš   œœœŸ œ˜UK˜Kšœ˜—…—κ£