(FILECREATED "21-Jul-87 18:48:45" {QV}<NOTECARDS>1.3KNEXT>PMIPATCH052.;1 2988   

      changes to:  (VARS PMIPATCH052COMS)
		   (FNS NC.RelayoutGraphCard))


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

(PRETTYCOMPRINT PMIPATCH052COMS)

(RPAQQ PMIPATCH052COMS ((* * pmi 7/21/87: Fixes bug where a non-list was being passed to 
			     LAYOUTGRAPH in ROOTIDS instead of a list, causing a break in 
			     RelayoutGraph.)
			  (* * Changed in NCGRAPHCARD)
			  (FNS NC.RelayoutGraphCard)))
(* * pmi 7/21/87: Fixes bug where a non-list was being passed to LAYOUTGRAPH in ROOTIDS 
instead of a list, causing a break in RelayoutGraph.)

(* * Changed in NCGRAPHCARD)

(DEFINEQ

(NC.RelayoutGraphCard
  (LAMBDA (Win)                                              (* pmi: "21-Jul-87 18:42")

          (* * Relayout the graph by making roots out of all nodes without FROMNODES.)



          (* * rht 8/15/86: Now uses proper COPYBUTTONEVENTFN in the SHOWGRAPH call.)



          (* * rht 11/1/86: Added NC.ProtectedCardOperation wrapper and check for ops in progress.)



          (* * rg 3/4/87 rewritten for new version of NC.ProtectedCardOperation)



          (* * pmi 7/21/87: Made sure LAYOUTGRAPH is getting a list for ROOTIDS.)


    (LET ((Card (NC.CoerceToCard Win)))
         (NC.ProtectedCardOperation
	   Card "Relayout Graph Card" NIL
	   (LET ((Graph (WINDOWPROP Win (QUOTE GRAPH)))
		 GraphNodes)
	        (if (SETQ GraphNodes (fetch (GRAPH GRAPHNODES) of Graph))
		    then (SETQ Graph (LAYOUTGRAPH
			       GraphNodes
			       (MKLIST (OR (for Node in GraphNodes
						  when (NULL (fetch (GRAPHNODE FROMNODES)
								    of Node))
						  collect (fetch (GRAPHNODE NODEID) of Node))
					       (fetch (GRAPHNODE NODEID) of (CAR GraphNodes))))
			       (QUOTE Lattice)))
			   (replace (GRAPH GRAPH.ADDNODEFN) of Graph
			      with (FUNCTION NC.GraphAddNodeFn))
			   (replace (GRAPH GRAPH.DELETENODEFN) of Graph
			      with (FUNCTION NC.GraphDeleteNodeFn))
			   (replace (GRAPH GRAPH.ADDLINKFN) of Graph
			      with (FUNCTION NC.GraphAddLinkFn))
			   (replace (GRAPH GRAPH.DELETELINKFN) of Graph
			      with (FUNCTION NC.GraphDeleteLinkFn))
			   (replace (GRAPH GRAPH.MOVENODEFN) of Graph
			      with (FUNCTION NC.GraphMoveNodeFn))
			   (replace (GRAPH GRAPH.FONTCHANGEFN) of Graph
			      with (FUNCTION NC.GraphFontChangeFn))
			   (SHOWGRAPH Graph Win (FUNCTION NC.GraphCardLeftButtonFn)
					(FUNCTION NC.GraphCardMiddleButtonFn)
					NIL T (FUNCTION NC.GRAPHERCOPYBUTTONEVENTFN))
			   (NC.InstallTitleBarButtonEventFn Win (FUNCTION 
								NC.TitleBarButtonEventFn))))))))
)
(PUTPROPS PMIPATCH052 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (706 2906 (NC.RelayoutGraphCard 716 . 2904)))))
STOP