DIRECTORY CD; CDCallSpecific: CEDAR DEFINITIONS = BEGIN CallProc: TYPE = PROC [design: CD.Design, inst: CD.Instance, x: REF] RETURNS [done: BOOL_TRUE, removeMe: BOOL_FALSE, include: CD.InstanceList_NIL, repaintMe: BOOL_FALSE, repaintInclude: BOOL_FALSE]; CallForThis: PROC [design: CD.Design, inst: CD.Instance,objectSpecific: REF_NIL, whatElse: CallProc_NIL, x: REF_NIL] RETURNS [NAT]; CallForAll: PROC [design: CD.Design, objectSpecific: REF_NIL, whatElse: CallProc_NIL, x: REF_NIL] RETURNS [NAT]; CallForSelected: PROC [design: CD.Design, objectSpecific: REF_NIL, whatElse: CallProc_NIL, x: REF_NIL] RETURNS [NAT]; CallForOneSelected: PROC [design: CD.Design, objectSpecific: REF_NIL, whatElse: CallProc_NIL, x: REF_NIL] RETURNS [NAT]; CallIfOneSelected: PROC [design: CD.Design, objectSpecific: REF_NIL, whatElse: CallProc_NIL, x: REF_NIL] RETURNS [NAT]; CallForPointed: PROC [design: CD.Design, point: CD.Position, objectSpecific: REF_NIL, whatElse: CallProc_NIL, x: REF_NIL] RETURNS [NAT]; Register: PROC [key: REF, objectType: REF CD.ObjectClass, proc: CallProc]; END. ϊCDCallSpecific.mesa a ChipNDale module Copyright c 1983, 1984 by Xerox Corporation. All rights reserved. by Ch. Jacobi, September 20, 1983 12:35 pm last edited Christian Jacobi, September 19, 1985 2:34:49 am PDT --x: passed through --done: if not done, this call will not be counted --removeMe: inst is removed from the design --include: this list is included into the design --inst MUST be part of design --the Call.. procedures loop over all instances of the most pushed in cell, or what --ever their name suggests and: --first check if the object has a objectSpecific furtherProc and calls it, --if there is no objectSpecific furtherProc, or it returns NOT done, it calls whatElse. --objectSpecific=NIL means no search --whatElse=NIL means nothing else to call. --using removeMe is a slow method for deleting --usually setting removeMe demands setting repaintMe to remove it from screen --registers proc to be called for an objectType, if key=objectSpecific --key must have been registered property Κ™˜codešœ(™(Kšœ Οmœ7™BKšœ+™+Kšœ@™@K˜—šΟk ˜ Kšžœ˜—K˜KšΠblœžœž œ˜#Kšž˜K˜š œ žœžœ žœžœžœ˜EKšžœžœžœ žœžœ žœžœ˜MKš œ žœžœžœžœ˜3Kšœ™Kšœ3™3Kšœ+™+Kšœ0™0—K˜šΟn œžœ žœžœžœžœžœžœžœžœžœ˜ƒKšœ™K™—š  œžœ žœžœžœžœžœžœžœžœ˜pK˜—š œžœ žœžœžœžœžœžœžœžœ˜uK˜—š œžœ žœžœžœžœžœžœžœžœ˜xK˜—š œžœ žœžœžœžœžœžœžœžœ˜wK˜—Kš œžœ žœžœžœžœžœžœžœžœžœ˜ˆK˜KšœT™TKšœ™KšœJ™JKšœW™WKšœ$™$šœ*™*K˜—Kšœ.™.šœM™MK˜—K˜š  œžœžœžœžœ˜JKšœF™FKšœ)™)—K˜Kšžœ˜K˜—…—D Χ