(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP")
(FILECREATED "30-May-88 15:23:44" {QV}<NOTECARDS>1.3LNEXT>RHTPATCH322.;2 2548   

      changes to%:  (FNS NC.LinkIconLeftButtonFn)
                    (VARS RHTPATCH322COMS)

      previous date%: "30-May-88 15:22:56" {QV}<NOTECARDS>1.3LNEXT>RHTPATCH322.;1)


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

(PRETTYCOMPRINT RHTPATCH322COMS)

(RPAQQ RHTPATCH322COMS ((DECLARE%: DONTCOPY (PROPS (RHTPATCH322 MAKEFILE-ENVIRONMENT)
                                                   (RHTPATCH322 FILETYPE)))
                        
          
          (* ;; "Allows one to specify an operation other than TraverseLink for left buttoning in link icons.  Just hang a function as the LinkIconLeftButtonFn property off of the card type atom.  The function will get called with two args, the destination card and the window containing the link icon.")

                        
          
          (* ;; "Change to NCLINKS")

                        (FNS NC.LinkIconLeftButtonFn)))
(DECLARE%: DONTCOPY 

(PUTPROPS RHTPATCH322 MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP"))

(PUTPROPS RHTPATCH322 FILETYPE :TCOMPL)
)



(* ;; 
"Allows one to specify an operation other than TraverseLink for left buttoning in link icons.  Just hang a function as the LinkIconLeftButtonFn property off of the card type atom.  The function will get called with two args, the destination card and the window containing the link icon."
)




(* ;; "Change to NCLINKS")

(DEFINEQ

(NC.LinkIconLeftButtonFn
  [LAMBDA (LinkIcon Window)                                  (* ; "Edited 30-May-88 15:23 by Trigg")

(* ;;; "Left button has been pressed in the link icon.  For now, just traverse the link.")
          
          (* ;; "rht 5/30/88: Now checks to see if destination card type has a LinkIconLeftButtonFn prop.  If so, run that instead of traversing the link.")

    (LET ((Card (fetch (Link DestinationCard) of (NC.FetchLinkFromLinkIcon LinkIcon)))
          CardType LinkIconLeftButtonFn)
         (SETQ CardType (NC.RetrieveType Card))
         (if (SETQ LinkIconLeftButtonFn (GETPROP CardType 'LinkIconLeftButtonFn))
             then (ADD.PROCESS `(APPLY* ',LinkIconLeftButtonFn ',Card ',Window) 'NAME '
                         LinkIconLeftButton)
           else (NC.TraverseLink LinkIcon Window])
)
(PUTPROPS RHTPATCH322 COPYRIGHT ("Xerox Corporation" 1988))
(DECLARE%: DONTCOPY
  (FILEMAP (NIL (1585 2465 (NC.LinkIconLeftButtonFn 1595 . 2463)))))
STOP