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: BOOLFALSE] RETURNS [done: BOOL, cellInst: CD.Instance];
--Creates cell from selection [if not empty].
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.