<> <> <> <> DIRECTORY Rope USING [ROPE], CD USING [Instance, Design]; CDCellsInteractions: CEDAR DEFINITIONS = BEGIN CreateCellSelected: PROC [design: CD.Design, name: Rope.ROPE_NIL] RETURNS [done: BOOL, cellInst: CD.Instance]; <<--name=NIL: interactive read for name.>> <<--name#NIL: hint for name; may be modified.>> <<--If done: cell is included in directory of design.>> PushInCellInstance: PROC [design: CD.Design, inst: CD.Instance, convertIfNecessary: BOOL _ TRUE] RETURNS [done: BOOL]; <<--inst must be an instance of the currently toplevel pushed in cell of design>> <<--message of problem if not done>> PopFromCell: PROC [design: CD.Design, m: Method_interactive, name: Rope.ROPE_NIL] RETURNS [done: BOOL]; <<--message of problem if not done>> Method: TYPE = {flush, newcell, replace, interactive}; PushedCellName: PROC [design: CD.Design] RETURNS [Rope.ROPE]; <<--returns name of pushed in cell for printing purposes>> PopToTopLevel: PROC [design: CD.Design]; <<--if design is pushed-in: pop out to the top level>> MakeTopInstance: PROC [design: CD.Design] RETURNS [inst: CD.Instance]; <<--returns instance of top level object of design, or NIL if no top level object>> <<--if design is pushed-in, it will be popped out first.>> <<--if design has multiple objects on to level, a new cell will be created.>> END.