(FILECREATED "23-Jun-87 17:33:01" {QV}<NOTECARDS>1.3K>NEXT>PMIPATCH047.;2 4404   

      changes to:  (FNS NC.MakeGraphCard NC.GraphChangeLabelFn NC.BrowserAddLabel)
		   (VARS PMIPATCH047COMS)

      previous date: "23-Jun-87 15:19:26" {QV}<NOTECARDS>1.3K>NEXT>PMIPATCH047.;1)


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

(PRETTYCOMPRINT PMIPATCH047COMS)

(RPAQQ PMIPATCH047COMS ((* * pmi 6/23/87: Fixes bug reported by Cathy where graph (browser)
			     cards aren't marked as dirty when labels are changed (added))
			  (DECLARE: FIRST (P (NC.LoadFileFromDirectories (QUOTE NCGRAPHCARD))
					     (NC.LoadFileFromDirectories (QUOTE NCBROWSERCARD))))
			  (* * Change to NCGRAPHCARD)
			  (FNS NC.MakeGraphCard)
			  (* * New to NCGRAPHCARD)
			  (FNS NC.GraphChangeLabelFn)
			  (* * Change to NCBROWSERCARD)
			  (FNS NC.BrowserAddLabel)))
(* * pmi 6/23/87: Fixes bug reported by Cathy where graph (browser) cards aren't marked as 
dirty when labels are changed (added))

(DECLARE: FIRST 
(NC.LoadFileFromDirectories (QUOTE NCGRAPHCARD))
(NC.LoadFileFromDirectories (QUOTE NCBROWSERCARD))
)
(* * Change to NCGRAPHCARD)

(DEFINEQ

(NC.MakeGraphCard
  (LAMBDA (Card Title NoDisplayFlg)                          (* pmi: "23-Jun-87 17:32")

          (* * Creates a StructEdit card. Alot like a graph card except that it allows editing of underlying NC structure, 
	  and doesn't allow an "insertlink" operation in title bar menu.)



          (* * fgh 11/14/85 Updated to handle Card object.)



          (* * rht 5/5/86: Replaced call to NC.SetupTitleBarMenu with Install calls.)



          (* * fgh 6/30/86 Added NC.GRAPHERCOPYBUTTONEVENTFN to SHOWGRAPH call)



          (* * rht 9/19/86: Mod to above fix. Now calls NC.MakeNewCardWindow a new fn that creates window and hangs Card off 
	  windowprop.)



          (* * pmi 6/23/87: Added the GRAPH.CHANGELABELFN NC.GraphChangeLabelFn to the Graph being created, which will then 
	  mark the substance dirty when a label is changed.)


    (LET (Window Graph CardType)
         (SETQ Graph (create GRAPH
				 GRAPH.ADDNODEFN ←(FUNCTION NC.GraphAddNodeFn)
				 GRAPH.DELETENODEFN ←(FUNCTION NC.GraphDeleteNodeFn)
				 GRAPH.ADDLINKFN ←(FUNCTION NC.GraphAddLinkFn)
				 GRAPH.DELETELINKFN ←(FUNCTION NC.GraphDeleteLinkFn)
				 GRAPH.MOVENODEFN ←(FUNCTION NC.GraphMoveNodeFn)
				 GRAPH.FONTCHANGEFN ←(FUNCTION NC.GraphFontChangeFn)
				 GRAPH.CHANGELABELFN ←(FUNCTION NC.GraphChangeLabelFn)))
         (NC.SetSubstance Card Graph)
         (COND
	   ((NOT NoDisplayFlg)
	     (SETQ Window (NC.MakeNewCardWindow Card (OR Title "Untitled")))
	     (SETQ CardType (NC.RetrieveType Card))
	     (SHOWGRAPH Graph Window (FUNCTION NC.GraphCardLeftButtonFn)
			  (FUNCTION NC.GraphCardMiddleButtonFn)
			  T T (FUNCTION NC.GRAPHERCOPYBUTTONEVENTFN))
	     (WINDOWADDPROP Window (QUOTE SHRINKFN)
			      (FUNCTION NC.GraphCardShrinkFn))
	     (NC.InstallTitleBarButtonEventFn Window (FUNCTION NC.TitleBarButtonEventFn))
	     (NC.InstallTitleBarLeftMenu Window CardType)
	     (NC.InstallTitleBarMiddleMenu Window CardType)))
         (OR Window Card))))
)
(* * New to NCGRAPHCARD)

(DEFINEQ

(NC.GraphChangeLabelFn
  (LAMBDA (Graph Window Node)                                (* pmi: "23-Jun-87 17:32")

          (* * pmi 6/23/87: Created to mark the card as dirty and prompt for the node label -
	  needed to make sure substance is marked dirty when a label is changed.)


    (LET ((GraphID (NC.CoerceToCard Window)))
         (NC.MarkCardDirty GraphID)
         (PROMPTINWINDOW "Node label?                  "))))
)
(* * Change to NCBROWSERCARD)

(DEFINEQ

(NC.BrowserAddLabel
  (LAMBDA (Graph Window)                                     (* pmi: "23-Jun-87 17:32")

          (* * This builds a label node in the default grapher style except that we force non-boxed nodes.)



          (* * pmi 6/23/87: Added call to NC.MarkCardDirty to make sure substance is marked dirty when nodes are created.)


    (NC.MarkCardDirty (NC.CoerceToCard Window))
    (DEFAULT.ADDNODEFN Graph Window NIL)))
)
(PUTPROPS PMIPATCH047 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (1170 3313 (NC.MakeGraphCard 1180 . 3311)) (3345 3810 (NC.GraphChangeLabelFn 3355 . 3808
)) (3847 4322 (NC.BrowserAddLabel 3857 . 4320)))))
STOP