(FILECREATED "23-Sep-85 22:59:48" {QV}<NOTECARDS>RELEASE1.2I>KIRKPATCH002.;3 3032   

      changes to:  (FNS NC.MakeLink NC.AddLinkToGraphCard NC.AddLinkToTextCard)
		   (VARS KIRKPATCH002COMS)

      previous date: "23-Sep-85 15:44:46" {QV}<KELLEY>NC>KIRKPATCH002.;1)


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

(PRETTYCOMPRINT KIRKPATCH002COMS)

(RPAQQ KIRKPATCH002COMS ((* * FNS Redefined from NCLINKS)
			 (FNS NC.MakeLink)))
(* * FNS Redefined from NCLINKS)

(DEFINEQ

(NC.MakeLink
  (LAMBDA (Window LinkLabel DestinationID SourceID DisplayMode AnchorMode Message NoDisplayFlg 
		  LinkToInsertAfter)                         (* kirk: "23-Sep-85 22:56")
                                                             (* Make a link from (OR Window SourceID) to 
							     DestinationID with linklabel of LinkLabel)

          (* * rht 1/12/85: If need to create a new card%, then now shows card type menu near window of SourceID.)



          (* * rht 1/13/85: Added extra args Message and NoDisplayFlg.)



          (* * rht 3/26/85: Added LinkToInsertAfter arg which should be NIL or a link to insert the new To link after.
	  If NIL%, then insert at front of ToLinks.)



          (* * kirk 9/23/85: took out GETPROMPTWINDOW call for asknotecardtype)


    (PROG (LinkID Link Type)
          (OR SourceID (SETQ SourceID (NC.IDFromWindow Window)))
          (OR Window (SETQ Window (NC.FetchWindow SourceID)))
          (OR Message (SETQ Message "Please select the Card or Box to be linked to."))
          (OR DestinationID (SETQ DestinationID (NC.SelectNoteCards T
								    (FUNCTION (LAMBDA (CardID)
									(COND
									  ((NEQ CardID SourceID)
									    T)
									  (T (NC.PrintMsg
									       Window T 
							     "A Card/Box cannot link to itself. "
									       (CHARACTER 13)
									       "Selection ignored."
									       (CHARACTER 13))
									     NIL))))
								    NC.SelectingSingleCardMenu 
								    SourceID NIL Message)))
          (COND
	    ((EQ DestinationID '*New% Card*)
	      (SETQ DestinationID (AND (SETQ Type (NC.AskNoteCardType (WINDOWREGION Window)))
				       (NC.CoerceToID (NC.MakeNoteCard Type NIL NoDisplayFlg))))))
          (AND (NULL DestinationID)
	       (RETURN NIL))
          (SETQ LinkID (NC.GetNewLinkID PSA.Database))
          (SETQ Link
	    (create NOTECARDLINK
		    LINKID ← LinkID
		    SOURCEID ← SourceID
		    DESTINATIONID ← DestinationID
		    ANCHORMODE ← AnchorMode
		    LINKLABEL ← LinkLabel
		    DISPLAYMODE ←(OR DisplayMode (NC.DefaultLinkDisplayMode SourceID PSA.Database))))
          (NC.AddToLink Link PSA.Database LinkToInsertAfter)
          (NC.AddFromLink Link PSA.Database)
          (RETURN Link))))
)
(PUTPROPS KIRKPATCH002 COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (505 2949 (NC.MakeLink 515 . 2947)))))
STOP