private void Fill(VizGraph graph) { objToNode.Clear(); this.ClearVisuals(); if (graph != null) { Graph = graph; foreach (var node in graph.Nodes) { var NodePresenter = new NodePresenter(node); NodePresenter.Width = node.Size.Width; NodePresenter.Height = node.Size.Height; Nodes.Add(NodePresenter); Visuals.Add(NodePresenter); objToNode[node] = NodePresenter; } foreach (var edge in graph.Edges) { var child = objToNode[edge.Head]; var parent = objToNode[edge.Tail]; var asso = new EdgePresenter(edge); asso.MakeGeometry(); Asso.Add(asso); Visuals.Add(asso); } } }
private void WriteGraph(VizGraph g) { using (var file = File.Create("source.dot")) { var w = new StreamWriter(file); g.Serialize(w); w.Close(); file.Close(); } }
protected virtual void OnGraphChanged(VizGraph oldValue, VizGraph newValue) { Fill(newValue); }