Changeset 8644 for branches/ParameterConfigurationEncoding/HeuristicLab.Encodings.ParameterConfigurationEncoding/3.3/ValueConfigurations
- Timestamp:
- 09/13/12 14:06:56 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ParameterConfigurationEncoding/HeuristicLab.Encodings.ParameterConfigurationEncoding/3.3/ValueConfigurations/CheckedValueConfigurationCollection.cs
r8535 r8644 29 29 namespace HeuristicLab.Encodings.ParameterConfigurationEncoding { 30 30 // TODO: check that at least 1 element needs to be selected 31 // TODO: control creatable item types 31 // TODO: control creatable item types ### EDIT: done? 32 32 [StorableClass] 33 33 public class CheckedValueConfigurationList : CheckedItemList<IValueConfiguration>, ICheckedValueConfigurationList { … … 81 81 private void RegisterEvents() { 82 82 this.ItemsAdded += new CollectionItemsChangedEventHandler<IndexedItem<IValueConfiguration>>(CheckedValueConfigurationList_ItemsAdded); 83 this.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<IValueConfiguration>>(CheckedValueConfigurationList_CheckedItemsChanged); 83 84 } 84 85 85 86 private void DeregisterEvents() { 87 this.CheckedItemsChanged -= new CollectionItemsChangedEventHandler<IndexedItem<IValueConfiguration>>(CheckedValueConfigurationList_CheckedItemsChanged); 86 88 this.ItemsAdded -= new CollectionItemsChangedEventHandler<IndexedItem<IValueConfiguration>>(CheckedValueConfigurationList_ItemsAdded); 87 89 } 88 90 91 #region Events 89 92 private void CheckedValueConfigurationList_ItemsAdded(object sender, CollectionItemsChangedEventArgs<IndexedItem<IValueConfiguration>> e) { 90 93 foreach (var item in e.Items) { 91 94 var matchingItems = this.Where(x => x != item.Value && x.ActualValue.ValueDataType == item.Value.ActualValue.ValueDataType); 92 if (matchingItems. Count() > 0) {95 if (matchingItems.Any()) { 93 96 int maxNumber = matchingItems.Select(x => x.Number).Max(); 94 97 item.Value.Number = maxNumber + 1; … … 96 99 } 97 100 } 101 private void CheckedValueConfigurationList_CheckedItemsChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<IValueConfiguration>> e) { 102 // TODO: view does not get notified 103 if (!this.CheckedItems.Any()) this.SetItemCheckedState(e.Items.Single().Value, true); 104 } 105 #endregion 106 98 107 } 99 108 }
Note: See TracChangeset
for help on using the changeset viewer.