/// <summary> /// Create part of js script for dracula graph visualization /// </summary> /// <param name="node"></param> /// <param name="edge">This is edge that comes into Node</param> /// <returns></returns> private string DraculaGraphLibraryDraw(Node node) { string s = ""; if (node != null) { List <Edge> edges = node.GetAllEdges().ToList(); foreach (Edge edge in edges) { if (edge.GetType() == typeof(NormalEdge)) { NormalEdge nedge = edge as NormalEdge; string edgeName = suffixString.Substring(nedge.startCharacterIndex, nedge.endCharacterIndex - nedge.startCharacterIndex + 1); string start = nedge.StartNode().number.ToString(); string end = ""; if (nedge.EndNode() != null) { end = nedge.EndNode().number.ToString(); } else { end = "#" + nedge.startNode.number; } s += "g.addEdge(\"" + start + "\", \"" + end + "\", {label: \"" + edgeName + "\", directed:true});\n"; s += DraculaGraphLibraryDraw(nedge.EndNode()); } else { string start = edge.startNode.number.ToString(); string end = edge.endNode.number.ToString(); s += "g.addEdge(\"" + start + "\", \"" + end + "\", {directed:true, stroke: \"#FF0000\"});\n"; } } } else { return(""); } return(s); }
//For TreeView GUI control private void TreeViewDraw(TreeView treeView, Node node, TreeNode parentNode) { if (node != null) { List <Edge> edges = node.GetAllEdges().ToList(); foreach (Edge edge in edges) { if (edge.GetType() == typeof(NormalEdge)) { NormalEdge nedge = edge as NormalEdge; TreeNode tn = new TreeNode(suffixString.Substring(nedge.startCharacterIndex, nedge.endCharacterIndex - nedge.startCharacterIndex + 1)); parentNode.Nodes.Add(tn); TreeViewDraw(treeView, nedge.EndNode(), tn); } } } else { return; } }