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.
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.