(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP")
(FILECREATED "31-Jan-89 16:49:46" {QV}<IDE>1.41>RARPATCH064.;1 2700   

      changes to%:  (VARS RARPATCH064COMS))


(* "
Copyright (c) 1989 by Xerox Corporation.  All rights reserved.
")

(PRETTYCOMPRINT RARPATCH064COMS)

(RPAQQ RARPATCH064COMS
       [
        (* ;; "Add to NCLINKS")

        
        (* ;; "Adds a PointerWhenDeleted fn to the image obj which calls the PointerWhenDeleted Fn of the cardtype. That fn is currently stored as a prop (like the WhenDeletedFn (see NCPROGINT).")

        (FNS NC.PointerWhenDeletedFn)
        (VARS (NC.PointerIconImageObjFns (IMAGEFNSCREATE (FUNCTION NC.PointerIconDisplayFn)
                                                (FUNCTION NC.PointerIconImageBoxFn)
                                                (FUNCTION NC.PointerIconPutFn)
                                                (FUNCTION NC.PointerIconGetFn)
                                                (FUNCTION NC.PointerIconCopyFn)
                                                (FUNCTION NC.LinkIconButtonEventInFn)
                                                NIL NIL NIL (FUNCTION NC.PointerWhenDeletedFn])



(* ;; "Add to NCLINKS")




(* ;; 
"Adds a PointerWhenDeleted fn to the image obj which calls the PointerWhenDeleted Fn of the cardtype. That fn is currently stored as a prop (like the WhenDeletedFn (see NCPROGINT)."
)

(DEFINEQ

(NC.PointerWhenDeletedFn
  [LAMBDA (PointerIcon stream)

    (* ;; "Send a pointer deleted message to the card (apply the card's PointerDeleted function).")

    (LET* [(Pointer (NC.FetchPointerFromPointerIcon PointerIcon))
           (linkedCard (fetch (NCPointer DestinationCard) of Pointer))
           (sourceCard (NCP.CardFromWindow (WFROMDS stream T)))
           (pointerDeleteFn (GETPROP (NCP.CardType sourceCard)
                                   'DeletePointersFn]
          (if (AND sourceCard linkedCard pointerDeleteFn)
              then (APPLY* pointerDeleteFn sourceCard linkedCard])
)

(RPAQ NC.PointerIconImageObjFns (IMAGEFNSCREATE (FUNCTION NC.PointerIconDisplayFn)
                                       (FUNCTION NC.PointerIconImageBoxFn)
                                       (FUNCTION NC.PointerIconPutFn)
                                       (FUNCTION NC.PointerIconGetFn)
                                       (FUNCTION NC.PointerIconCopyFn)
                                       (FUNCTION NC.LinkIconButtonEventInFn)
                                       NIL NIL NIL (FUNCTION NC.PointerWhenDeletedFn)))
(PUTPROPS RARPATCH064 COPYRIGHT ("Xerox Corporation" 1989))
(DECLARE%: DONTCOPY
  (FILEMAP (NIL (1442 2078 (NC.PointerWhenDeletedFn 1452 . 2076)))))
STOP