internal static void AddingItems <K, T>(this IAListTreeObserver <K, T> self, IListSource <T> list, AListLeaf <K, T> parent, bool isMoving) { for (int i = 0; i < list.Count; i++) { self.ItemAdded(list[i], parent); } }
public override void SetAt(uint index, T item, IAListTreeObserver <K, T> tob) { Debug.Assert(!_isFrozen); if (tob != null) { tob.ItemRemoved(_list[(int)index], this); tob.ItemAdded(item, this); } _list[(int)index] = item; }
internal static void ItemMoved <K, T>(this IAListTreeObserver <K, T> self, T item, AListLeaf <K, T> oldParent, AListLeaf <K, T> newParent) { self.ItemRemoved(item, oldParent); self.ItemAdded(item, newParent); }