public TreeNode(core.Key key, core.Table tableRef) { this.TableKey = key; this.TableRef = tableRef; this.Name = key.ShortName; children = new LinkedList <TreeNode>(); }
private void recursiveModel(Project project, NormalTable normal, core.Table currentTable, core.Key parentKey, string name, ICollection <TreeNode> children) { core.Key tableKey; if (parentKey == null) { tableKey = new core.Key(name); } else { tableKey = new core.Key(name, parentKey); } TreeNode node = new TreeNode(tableKey, currentTable); children.Add(node); if (currentTable.HasReference(name)) { string refName = currentTable.GetReference(name); core.Table refTable = project.GetTable(refName); foreach ((string namesub, double weight) in refTable) { recursiveModel(project, normal, refTable, tableKey, namesub, node.Children()); } } }