예제 #1
0
        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);
                }
            }
        }
예제 #2
0
 private void WriteGraph(VizGraph g)
 {
     using (var file = File.Create("source.dot"))
     {
         var w = new StreamWriter(file);
         g.Serialize(w);
         w.Close();
         file.Close();
     }
 }
예제 #3
0
 protected virtual void OnGraphChanged(VizGraph oldValue, VizGraph newValue)
 {
     Fill(newValue);
 }