Ejemplo n.º 1
0
        public SimpleTreeNode <T> Add(T Value)
        {
            SimpleTreeNode <T> Node = new SimpleTreeNode <T>(Parent);

            Node.Value = Value;
            return(Node);
        }
Ejemplo n.º 2
0
 public new void Remove(SimpleTreeNode <T> Node)
 {
     if (Node != null)
     {
         Node.Parent = null;
     }
     base.Remove(Node);
 }
Ejemplo n.º 3
0
        // TODO: adjust for traversal direction
        private IEnumerator <SimpleTreeNode <T> > GetBreadthFirstEnumerator(TreeTraversalDirection TraversalDirection)
        {
            Queue <SimpleTreeNode <T> > queue = new Queue <SimpleTreeNode <T> >();

            queue.Enqueue(this);
            while (0 < queue.Count)
            {
                SimpleTreeNode <T> node = queue.Dequeue();
                foreach (SimpleTreeNode <T> child in node.Children)
                {
                    queue.Enqueue(child);
                }
                yield return(node);
            }
        }
Ejemplo n.º 4
0
 public new SimpleTreeNode <T> Add(SimpleTreeNode <T> Node)
 {
     base.Add(Node);
     Node.Parent = Parent;
     return(Node);
 }
Ejemplo n.º 5
0
 public SimpleTreeNodeList(SimpleTreeNode <T> Parent)
 {
     this.Parent = Parent;
 }
Ejemplo n.º 6
0
 public SimpleTreeNode(SimpleTreeNode <T> Parent)
 {
     this.Parent = Parent;
     Children    = new SimpleTreeNodeList <T>(this);
 }
Ejemplo n.º 7
0
 public SimpleTreeNode(SimpleTreeNode <T> Parent, SimpleTreeNodeList <T> Children)
 {
     this.Parent     = Parent;
     this.Children   = Children;
     Children.Parent = this;
 }