Example #1
0
 public void traverse(VariableTreeNode node, VariableTreeVisitor visitor)
 {
     visitor(node);
     foreach (KeyValuePair <string, VariableTreeNode> kid in node.children)
     {
         traverse(kid.Value, visitor);
     }
 }
Example #2
0
        public VariableTreeNode resolveNode(IList <String> pathArray)
        {
            if (pathArray.Count == 0 || pathArray[0] == "")
            {
                return(this);
            }

            string           childName = pathArray[0];
            VariableTreeNode child     = o_children[childName];

            if (pathArray.Count == 1)
            {
                return(child);
            }
            else
            {
                pathArray.RemoveAt(0);
                return(child.resolveNode(pathArray));
            }
        }
Example #3
0
        public void addNode(IList <String> pathArray)
        {
            if (pathArray.Count == 0)
            {
                return;
            }

            string childName = pathArray[0];

            if (o_children.ContainsKey(childName))
            {
                VariableTreeNode child = o_children[childName];
                pathArray.RemoveAt(0);
                child.addNode(pathArray);
            }
            else
            {
                VariableTreeNode child = new VariableTreeNode(childName, this.path + pathSeperator + childName, pathSeperator);
                this.addChild(child);
                pathArray.RemoveAt(0);
                child.addNode(pathArray);
            }
        }
Example #4
0
 public void addChild(VariableTreeNode child)
 {
     child.parent = this;
     children.Add(child.name, child);
 }