Esempio n. 1
0
        private void ProcessNodeConnections(GraphvizTableRow row, GraphvizNode node)
        {
            if (ConnIndex <= 0)
            {
                return;
            }

            string connections = row[ConnIndex].Value;

            if (string.IsNullOrEmpty(connections))
            {
                return;
            }

            var nodes = connections.Split(new string[] { ",", ";" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var n in nodes)
            {
                string dest = n.Trim();
                if (!string.IsNullOrEmpty(dest))
                {
                    AddEdgeIfNotExist(node.Name, dest, GraphvizEdge.EdgeDir.Normal);
                }
            }
        }
Esempio n. 2
0
        private void ProcessNode(GraphvizTableRow row)
        {
            GraphvizNode node = AddNodeIfNotExist(row[0].Value);

            ProcessNodeAttributes(row, node);
            ProcessNodeConnections(row, node);
        }
Esempio n. 3
0
        private GraphvizNode AddNodeIfNotExist(string name)
        {
            GraphvizNode node = DotModel.FindNode(name);

            if (node == null)
            {
                node = new GraphvizNode(name);
                DotModel.Add(node);
            }

            return(node);
        }
Esempio n. 4
0
        private void ProcessNodeAttributes(GraphvizTableRow row, GraphvizNode node)
        {
            if (LabelIndex >= 0)
            {
                string label = row[LabelIndex]?.Value;
                node.Label = label?.Trim();
            }

            if (ShapeIndex >= 0)
            {
                string shape = row[ShapeIndex]?.Value;
                node.Shape = shape?.Trim();
            }

            if (ColorIndex >= 0)
            {
                string color = row[ColorIndex]?.Value;
                node.FillColor = color?.Trim();
            }
        }
Esempio n. 5
0
 public void Add(GraphvizNode node) => Nodes.Add(node);