GraphBrowsers.Mesa
Last Edited by: Spreitzer, June 6, 1985 4:32:47 pm PDT
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: BOOLEANTRUE,  --FORK calls on command procs
serialize: BOOLEANTRUE--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 ANYNIL,
button: Menus.MouseButton ← red,
ctl, shift: BOOLEANFALSE];
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 ANYNIL, viewerInit: ViewerClasses.ViewerRec ← [], paint: BOOLEANTRUE] 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.