CDCellsInteractions.mesa (a ChipNDale module)
Copyright © 1983, 1986 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi, 23-Aug-83
Last edited by: Christian Jacobi, September 26, 1986 3:53:10 pm PDT
DIRECTORY
Rope USING [ROPE],
CD USING [Instance, Design];
CDCellsInteractions: CEDAR DEFINITIONS =
BEGIN
CreateCellSelected: PROC [design: CD.Design, name: Rope.ROPENIL] 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: BOOLTRUE] 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.ROPENIL] 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.