コード例 #1
0
 public void InsertAfter(TLNode node, TLNode insertAfter)
 {
     m_version++;
     ClearInternalArray();
     Debug.Assert(node.Owner == null, "node.Owner == null");
     if (insertAfter == null)
     {
         node.InsertBefore(m_firstNode, this);
         m_firstNode = node;
     }
     else
     {
         node.InsertAfter(insertAfter, this);
     }
     if (m_lastNode == insertAfter)
     {
         m_lastNode = node;
         node.Id    = m_nextId++;
     }
     else
     {
         m_IdDirty++;
     }
     m_count++;
 }
コード例 #2
0
        public virtual TLNode Add(TLNode newnode)
        {
            m_version++;
            ClearInternalArray();
            //Debug.Assert(newnode != null && newnode.Owner == null, "Add(Node newnode)");
            newnode.InsertAfter(m_lastNode, this);
            m_lastNode = newnode;
            if (m_firstNode == null)
            {
                m_firstNode = newnode;
            }
            newnode.Id = m_nextId++;
            m_count++;

            return(newnode);
        }