(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