/// <summary> /// Oublier un fils /// </summary> /// <param name="item"></param> public void ForgetItem(CalculatedMeasureItem itemToForget) { foreach (CalculatedMeasureItem item in calculatedMeasureItemListChangeHandler.Items) { if (item.GetPosition() > itemToForget.GetPosition()) { item.SetPosition(item.GetPosition() - 1); } } itemToForget.SetPosition(-1); calculatedMeasureItemListChangeHandler.forget(itemToForget); }
/// <summary> /// Retire un fils /// </summary> /// <param name="item"></param> public void RemoveItem(CalculatedMeasureItem itemToRemove) { if (calculatedMeasureItemListChangeHandler.Items.Contains(itemToRemove)) { foreach (CalculatedMeasureItem item in calculatedMeasureItemListChangeHandler.Items) { if (item.GetPosition() > itemToRemove.GetPosition()) { item.SetPosition(item.GetPosition() - 1); } if (!item.Equals(itemToRemove)) { calculatedMeasureItemListChangeHandler.AddUpdated(item); } } calculatedMeasureItemListChangeHandler.AddDeleted(itemToRemove); itemToRemove.SetPosition(-1); UpdateParents(); } }