DIRECTORY CD; CDCallSpecific: CEDAR DEFINITIONS = BEGIN CallProc: TYPE = PROC [design: CD.Design, aptr: CD.ApplicationPtr, x: REF] RETURNS [done: BOOL_TRUE, removeMe: BOOL_FALSE, include: CD.ApplicationList_NIL, repaintMe: BOOL_FALSE, repaintInclude: BOOL_FALSE]; CallForThis: PROC [design: CD.Design, aptr: CD.ApplicationPtr, 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.DesignPosition, objectSpecific: REF_NIL, whatElse: CallProc_NIL, x: REF_NIL] RETURNS [NAT]; Register: PROC [key: REF, objectType: REF CD.ObjectProcs, proc: CallProc]; END. "CDCallSpecific.mesa a Chipndale module by Ch. Jacobi September 20, 1983 12:35 pm last edited Christian Jacobi May 8, 1984 9:31:22 am PDT --x: passed through --done: if not done, this call will not be counted --removeMe: aptr is removed from the design --include: this list is included into the design --aptr MUST be part of design --the Call.. procedures loop over all applications 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 with CDObjectProcs.RegisterFurther --[internally uses CDObjectProcs.StoreFurther; this procedure is for conveniance only] �ÊÆ˜Jšœ(™(J˜Jšœ+™+Jšœ9™9J˜šÏk ˜ Jš�œ˜J˜—JšÏbœ�œ� œ˜#Jš�˜J˜š œ �œ�œ �œ�œ�œ˜KJš�œ�œ�œ �œ�œ �œ�œ˜PJš œ �œ�œ�œ�œ˜3Jšœ™Jšœ3™3Jšœ+™+Jšœ0™0J˜—šÏn œ�œ �œ�œ˜>Jš œ�œ�œ�œ�œ�œ˜=Jš�œ�œ˜Jšœ™—šŸ œ�œ �œ ˜%Jš œ�œ�œ�œ�œ�œ˜=Jš�œ�œ˜—šŸœ�œ �œ ˜*Jš œ�œ�œ�œ�œ�œ˜=Jš�œ�œ˜—šŸœ�œ �œ ˜-Jš œ�œ�œ�œ�œ�œ˜=Jš�œ�œ˜—šŸœ�œ �œ ˜,Jš œ�œ�œ�œ�œ�œ˜=Jš�œ�œ˜—šŸœ�œ �œ�œ˜CJš œ�œ�œ�œ�œ�œ˜=Jš�œ�œ˜J˜—JšœW™WJšœ™JšœJ™JJšœW™WJšœ$™$Jšœ*™*J˜Jšœ.™.JšœM™MJ˜J˜š Ÿœ�œ�œ�œ�œ˜JJšœF™FJšœB™BJšœW™W—J˜Jš�œ˜J˜—…—b J