<> <> <> DIRECTORY HierarchicalDisplays, OrderedSymbolTableRef, Rope, Rosemary, RoseConditions, Trees, ViewerClasses, ViewRec; RoseDisplayInsides: DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; Viewer: TYPE = ViewerClasses.Viewer; Cell: TYPE = Rosemary.Cell; Node: TYPE = Rosemary.Node; TreeNode: TYPE = Trees.TreeNode; Condition: TYPE = RoseConditions.Condition; SymbolTable: TYPE = OrderedSymbolTableRef.Table; TreeNodeList: TYPE = LIST OF TreeNode; Display: TYPE = REF DisplayRep; DisplayRep: TYPE = RECORD [ rootCell: Cell, rootDisplay: HierarchicalDisplays.Parent, rv: ViewRec.RecordViewer, ctlPanel: ControlPanel, conditionHandle, conditionsHandle: REF ANY _ NIL, notice: CONDITION, stopResponse: StopResponse _ Abort, parms: Rosemary.TestParms _ NIL]; DisplayMode: TYPE = {Value, Test}; StopResponse: TYPE = {Resume, Abort}; IncList: TYPE = LIST OF RoseConditions.IncrementalCondition; ControlPanel: TYPE = REF ControlPanelRep; ControlPanelRep: TYPE = RECORD [ display: Display, status: Status _ Normal, incrementalDisplay: BOOLEAN _ FALSE, Pack: PROC [display: Display], NoticeEdits: PROC [display: Display] RETURNS [AOK: BOOLEAN], NoticeEditsAndRunIfOK: PROC [display: Display] RETURNS [AOK: BOOLEAN], Run, SingleStep: PROC [display: Display], Test: PROC [display: Display, cellPathName: ROPE], ListSchedule: PROC [display: Display] RETURNS [asRope: ROPE], Interrupt, Proceed, Abort: PROC [display: Display], ClearStack, ClearCondition, Or, PostCondition, RemoveCondition, PostIncremental, RemoveIncremental: PROC [display: Display], AddNamedCondition, DeleteNamedCondition: PROC [display: Display, name: ROPE], Save, Restore: PROC [display: Display, fileName: ROPE] RETURNS [errMsg: ROPE], mode: DisplayMode _ Value, conditions: SymbolTable, conditionStack: TreeNodeList _ NIL, condition: TreeNode _ NIL ]; Status: TYPE = {Normal, Interrupted}; NodeDisplayList: TYPE = LIST OF NodeDisplay; NodeDisplay: TYPE = RECORD [ org: NodeOrigin, dc: HierarchicalDisplays.Child --where this display is ]; NodeOrigin: TYPE = RECORD [ cell: Cell, display: Display]; CellBrowser: TYPE = REF CellBrowserRep; CellBrowserRep: TYPE = RECORD [ cell: Cell, display: Display, parent: CellBrowser, changed: BOOLEAN _ FALSE]; NodeElt: TYPE = REF NodeEltRep; NodeEltRep: TYPE = RECORD [ name: ROPE, node: Node, org: NodeOrigin, parent: CellBrowser, interfaceIndex: CARDINAL, interfaceNode, badString, changed: BOOLEAN _ FALSE, testData: REF ANY _ NIL, testProc: Rosemary.TestProc _ NIL]; CellState: TYPE = REF CellStateRep; CellStateRep: TYPE = RECORD [cb0: CellBrowser]; InterfaceNodes: TYPE = REF InterfaceNodesRep; InterfaceNodesRep: TYPE = RECORD [cb1: CellBrowser]; InternalNodes: TYPE = REF InternalNodesRep; InternalNodesRep: TYPE = RECORD [cb2: CellBrowser]; Components: TYPE = REF ComponentsRep; ComponentsRep: TYPE = RECORD [cb3: CellBrowser]; nodeDisplaysProp, cellStateDisplayProp: ATOM; leafProp: ATOM; nodeClass, cellClass, cellStateClass: HierarchicalDisplays.ChildClass; NDLSearch: PROC [ndl: NodeDisplayList, org: NodeOrigin, remove: BOOLEAN] RETURNS [newdl: NodeDisplayList, nd: NodeDisplay, found: BOOLEAN]; NotifyNodeView: Rosemary.NodeNotifyProc; NotifyCellView: Rosemary.CellNotifyProc; Push: PROC [display: Display, cond: Condition]; Pop: PROC [display: Display] RETURNS [cond: Condition]; END.