private void ChildAdded(StoreItem childItem) { IStoreItemList childItems = GetChildItems(); if (childItems == null) { return; } // If this child item isn't the type that this parent expects, // don't add it to the list of children. if (!childItems.ItemMatchesListType(childItem)) { Planner.OnInvalidHierarchicalItemEvent(this, childItem); return; } if (!childItems.Contains(childItem)) { childItems.Add(childItem); if (Planner.Instance.IsStartupComplete) { NotifyItemUpdatedWorker(new NotificationArgs(childItem, ChangeType.Added, HierarchicalChangeSource.ChildItem, null)); } if (StoreItem.IsRealItem(ParentItem)) { ParentItem.ChildAdded(this); } } }
private void ChildRemoved(StoreItem childItem) { IStoreItemList childItems = GetChildItems(); if (childItems != null && childItems.Contains(childItem)) { childItems.Remove(childItem); if (Planner.Instance.IsStartupComplete) { NotifyItemUpdatedWorker(new NotificationArgs(childItem, ChangeType.Removed, HierarchicalChangeSource.ChildItem, null)); } } }
private void RemoveOwnedItem(StoreItem ownedItem) { IStoreItemList ownedItems = GetOwnedItems(); if (ownedItems != null) { if (ownedItems.Contains(ownedItem)) { ownedItems.Remove(ownedItem); if (Planner.Instance.IsStartupComplete) { NotifyItemUpdatedWorker(new NotificationArgs(ownedItem, ChangeType.Removed, HierarchicalChangeSource.OwnedItem, null)); } } } }