Exemplo n.º 1
0
 public virtual void AddNode(FastTreeNode node)
 {
     if (node.Parent != this)
     {
         childs.Add(node);
     }
     SetParent(this);
 }
Exemplo n.º 2
0
        protected virtual void SetParent(FastTreeNode value)
        {
            if (parent != null && parent != value)
            {
                parent.childs.Remove(this);
            }

            parent = value;
        }
Exemplo n.º 3
0
        public FastTreeNode GetParent(Predicate <object> tagCondition)
        {
            var parent = Parent;

            while (parent != null && !tagCondition(parent))
            {
                parent = parent.parent;
            }
            return(parent);
        }
Exemplo n.º 4
0
        public virtual void InsertNodeBefore(FastTreeNode existsNode, FastTreeNode node)
        {
            var i = childs.IndexOf(existsNode);

            if (i < 0)
            {
                i = 0;
            }

            InsertNode(i, node);
        }
Exemplo n.º 5
0
        public virtual void InsertNodeBefore(FastTreeNode existsNode, IEnumerable <FastTreeNode> nodes)
        {
            var i = childs.IndexOf(existsNode);

            if (i < 0)
            {
                i = 0;
            }

            InsertNode(i, nodes);
        }
Exemplo n.º 6
0
        public virtual void InsertNodeAfter(FastTreeNode existsNode, FastTreeNode node)
        {
            var i = childs.IndexOf(existsNode) + 1;

            InsertNode(i, node);
        }
Exemplo n.º 7
0
 public virtual void InsertNode(int index, FastTreeNode node)
 {
     childs.Insert(index, node);
     SetParent(this);
 }
Exemplo n.º 8
0
 public virtual void RemoveNode(FastTreeNode node)
 {
     childs.Remove(node);
     SetParent(null);
 }
Exemplo n.º 9
0
 public int IndexOf(FastTreeNode node)
 {
     return(childs.IndexOf(node));
 }
Exemplo n.º 10
0
        public virtual void InsertNodeAfter(FastTreeNode existsNode, IEnumerable <FastTreeNode> nodes)
        {
            var i = childs.IndexOf(existsNode) + 1;

            InsertNode(i, nodes);
        }