Exemple #1
0
 public void InsertAfter(Node node, Node 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++;
 }
Exemple #2
0
 public Node Add(Node 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);
 }