(FILECREATED " 4-Feb-87 20:32:45" {QV}<NOTECARDS>1.3K>NEXT>RHTPATCH193.;2 3264   

      changes to:  (FNS NC.LinkIconMiddleButtonFn)
		   (VARS RHTPATCH193COMS)

      previous date: " 4-Feb-87 15:25:22" {QV}<NOTECARDS>1.3K>NEXT>RHTPATCH193.;1)


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

(PRETTYCOMPRINT RHTPATCH193COMS)

(RPAQQ RHTPATCH193COMS ((* * Allows menu items to be added to LinkIconMiddleButton menu. The extra 
			     items should be hung off the ExtraLinkIconMenuItems property of the 
			     destination card type's atom.)
			  (* * Change to NCLINKS)
			  (FNS NC.LinkIconMiddleButtonFn)))
(* * Allows menu items to be added to LinkIconMiddleButton menu. The extra items should be 
hung off the ExtraLinkIconMenuItems property of the destination card type's atom.)

(* * Change to NCLINKS)

(DEFINEQ

(NC.LinkIconMiddleButtonFn
  (LAMBDA (LinkIcon Window)                                  (* rht: " 4-Feb-87 20:31")
                                                             (* Middle button has been pressed in the Notecard 
							     pointer. Bring up menu of choices for manipulating 
							     this pointer.)

          (* * rht 11/18/86: Now calls NC.TraverseLink rather than NC.EditNoteCard.)



          (* * rht 2/4/87: Now checks the ExtraLinkIconMenuItems property of the destination's card type atom.
	  If non-nil, then include those items in link icon menu.)


    (DECLARE (GLOBALVARS NC.LinkIconMiddleButtonMenu))
    (LET ((Card (fetch (Link DestinationCard) of (NC.FetchLinkFromLinkIcon LinkIcon)))
	  ExtraItems Selection Menu)
         (SETQ ExtraItems (GETPROP (NC.RetrieveType Card)
				       (QUOTE ExtraLinkIconMenuItems)))
         (SETQ Menu (COND
	     ((AND (BOUNDP (QUOTE NC.LinkIconMiddleButtonMenu))
		     (type? MENU NC.LinkIconMiddleButtonMenu)
		     (NULL ExtraItems))
	       NC.LinkIconMiddleButtonMenu)
	     (T (create MENU
			  ITEMS ←(APPEND (QUOTE ((Bring% Up% Card/Box (QUOTE Edit)
									  
					     "Bring up the note card pointed to by this pointer.")
						      (Change% Link% Type (QUOTE Relabel)
									  
							      "Change the label of this pointer.")
						      (Change% Card% Title (QUOTE Retitle)
									   
							   "Change the destination card's title.")
						      (Change% Display% Mode (QUOTE Display)
									     
				      "Change the type of information displayed in this pointer.")))
					   ExtraItems)
			  CENTERFLG ← T
			  TITLE ← "Link Ops"))))
         (if (NULL ExtraItems)
	     then (SETQ NC.LinkIconMiddleButtonMenu Menu))
         (if (NC.CardP (NC.CoerceToCard Window))
	     then (SELECTQ (SETQ Selection (MENU Menu))
			       (Edit (NC.TraverseLink LinkIcon Window))
			       (Display (NC.ChangeLinkDisplayMode LinkIcon Window))
			       (Relabel (NC.RelabelLink LinkIcon Window))
			       (Retitle (NC.ChangeCardTitleFromLinkIcon LinkIcon Window))
			       (NIL NIL)
			       (APPLY* Selection Card))
	   else NIL))))
)
(PUTPROPS RHTPATCH193 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (854 3182 (NC.LinkIconMiddleButtonFn 864 . 3180)))))
STOP