DIRECTORY CD USING [Design, ObPtr, Layer, DesignRect, ApplicationPtr, Rect, Number, highLightError], Rope USING [ROPE]; CDErrors: CEDAR DEFINITIONS = BEGIN highLightError: CD.Layer = CD.highLightError; AppPredicate: TYPE = PROC [aptr: CD.ApplicationPtr] RETURNS [yes: BOOL_TRUE]; IncludeMessage: PROC [ design: CD.Design, ob: CD.ObPtr, rect: CD.DesignRect_all, message: Rope.ROPE_NIL, owner: ATOM_NIL --shoud have been registered as property to avoid conflicts ] RETURNS [done: BOOL, into: CD.ObPtr, app: CD.ApplicationPtr]; all: PRIVATE CD.Rect = [FIRST[CD.Number], FIRST[CD.Number], LAST[CD.Number], LAST[CD.Number]]; RemoveMessages: PROC [ design: CD.Design, ob: CD.ObPtr, owner: ATOM_NIL, alsoOthers: BOOL_FALSE, removeIt: AppPredicate_NIL --NIL means TRUE ]; RemoveAllMessages: PROC [design: CD.Design, owner: ATOM, removeIt: AppPredicate_NIL]; END. ÒCDErrors.mesa (part of ChipNDale) Copyright c 1985 by Xerox Corporation. All rights reserved. by Christian Jacobi, March 1, 1985 9:32:15 am PST last edited by Christian Jacobi, March 1, 1985 9:32:18 am PST -- Error messages are rectangles of layer highLightError. -- The signal name property of the application contains a message. -- The owner atom allows different applications to independent remove old messages. -- Include an error message relative to an arbitrary object ob. -- If ob is not a cell, the message is actually placed into any other conveniant location. -- into: describes where error message may be found; NIL: if not done or top layer. -- app: can be used for further properties... -- This procedure may make internal use of CDMarks.GetNewMark. -- rect will be clipped to ob's size -- Remove all error messages (with this owner; NIL means all owners) denoting ob. -- alsoOthers: messages pointing to other objects but residing in ob will also be removed. -- removeIt: client may specify a proc to determine if a message should be removed. -- If ob (or the cell containing the message rectangle) has been renamed, this -- procedure might not find and remove all error messages. -- This procedure may cause cells to be repositioned. -- Remove all error messages with this owner from of the whole design. -- removeIt: client may specify a proc to determine if a message should be removed. -- This procedure may cause cells to be repositioned. Êi˜šœ(™(Jšœ Ïmœ1™™>—J˜šÏk ˜ JšžœžœR˜ZJšœžœžœ˜J˜—JšÏbœžœž œ˜Jšž˜J˜J™9JšœÏcœ'™BJšœ œ œH™UJ˜Jšœžœ žœ˜-J˜Jš œžœžœžœžœžœžœ˜MJ˜šÐbnœžœ˜Jšœžœ˜Jšœžœ˜ Jšœžœ˜Jšœžœžœ˜Jšœžœž ;˜KJšœ˜Jšžœžœžœ žœ˜=Jšœ?™?JšœZ™ZJšœT™TJšœ.™.Jšœ?™?J™$˜Jšœžœžœ žœžœ žœžœ žœžœ žœžœ ˜^—J™—J˜šÏnœžœ˜Jšœžœ ˜Jšœžœ˜Jšœžœžœ˜Jšœ žœžœ˜Jšœžœ ˜+Jšœ˜JšœR™RJšœ[™[JšœT™TJšœN™NJšœ;™;Jšœ6™6J˜—š ¢œžœ žœžœžœ˜UJšœG™GJšœT™TJšœ6™6J˜—Jšžœ˜J˜J˜J˜—…—l §