示例#1
0
 internal static void HandleRootSplit <K, T>(this IAListTreeObserver <K, T> self, AListNode <K, T> oldRoot, AListNode <K, T> newLeft, AListNode <K, T> newRight, AListInnerBase <K, T> newRoot)
 {
     self.HandleNodeReplaced(oldRoot, newLeft, newRight);
     self.NodeAdded(newLeft, newRoot);
     self.NodeAdded(newRight, newRoot);
     self.RootChanged(newRoot, false);
 }
示例#2
0
 internal static void HandleChildReplaced <K, T>(this IAListTreeObserver <K, T> self, AListNode <K, T> oldNode, AListNode <K, T> newLeft, AListNode <K, T> newRight, AListInnerBase <K, T> parent)
 {
     self.HandleNodeReplaced(oldNode, newLeft, newRight);
     if (parent != null)
     {
         self.NodeRemoved(oldNode, parent);
         self.NodeAdded(newLeft, parent);
         if (newRight != null)
         {
             self.NodeAdded(newRight, parent);
         }
     }
 }
示例#3
0
 internal static void NodeMoved <K, T>(this IAListTreeObserver <K, T> self, AListNode <K, T> child, AListInnerBase <K, T> oldParent, AListInnerBase <K, T> newParent)
 {
     self.NodeRemoved(child, oldParent);
     self.NodeAdded(child, newParent);
 }