CDCellsInteractions.mesa (a ChipNDale module)
Copyright © 1983, 1987 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi, 23-Aug-83
Last edited by: Christian Jacobi, February 3, 1987 3:34:51 pm PST
DIRECTORY
Rope USING [ROPE],
CD USING [Instance, Design];
CDCellsInteractions: CEDAR DEFINITIONS =
BEGIN
CreateCellSelected:
PROC [design:
CD.Design, interactiveName:
BOOL←
FALSE]
RETURNS [done:
BOOL, cellInst:
CD.Instance];
--Creates cell from selection [if not empty].
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.