} //return new ObservableCollection<Measure>(from measure in calculatedMeasureItemListChangeHandler.Items orderby measure.position select measure); } /// <summary> /// Rajoute un fils /// </summary> /// <param name="item"></param> public void AddItem(CalculatedMeasureItem item, bool sort = true) { item.SetPosition(calculatedMeasureItemListChangeHandler.Items.Count); item.SetParent(this); calculatedMeasureItemListChangeHandler.AddNew(item, sort); UpdateParents(); OnPropertyChanged("calculatedMeasureItemListChangeHandler.Items"); }
/// <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(); } }