Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/13/12 14:06:56 (12 years ago)
Author:
jkarder
Message:

#1853:

  • removed multi-crossovers for integer and double values
  • restructured crossovers and manipulators for integer and double values
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ParameterConfigurationEncoding/HeuristicLab.Encodings.ParameterConfigurationEncoding/3.3/ValueConfigurations/CheckedValueConfigurationCollection.cs

    r8535 r8644  
    2929namespace HeuristicLab.Encodings.ParameterConfigurationEncoding {
    3030  // 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?
    3232  [StorableClass]
    3333  public class CheckedValueConfigurationList : CheckedItemList<IValueConfiguration>, ICheckedValueConfigurationList {
     
    8181    private void RegisterEvents() {
    8282      this.ItemsAdded += new CollectionItemsChangedEventHandler<IndexedItem<IValueConfiguration>>(CheckedValueConfigurationList_ItemsAdded);
     83      this.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<IValueConfiguration>>(CheckedValueConfigurationList_CheckedItemsChanged);
    8384    }
    8485
    8586    private void DeregisterEvents() {
     87      this.CheckedItemsChanged -= new CollectionItemsChangedEventHandler<IndexedItem<IValueConfiguration>>(CheckedValueConfigurationList_CheckedItemsChanged);
    8688      this.ItemsAdded -= new CollectionItemsChangedEventHandler<IndexedItem<IValueConfiguration>>(CheckedValueConfigurationList_ItemsAdded);
    8789    }
    8890
     91    #region Events
    8992    private void CheckedValueConfigurationList_ItemsAdded(object sender, CollectionItemsChangedEventArgs<IndexedItem<IValueConfiguration>> e) {
    9093      foreach (var item in e.Items) {
    9194        var matchingItems = this.Where(x => x != item.Value && x.ActualValue.ValueDataType == item.Value.ActualValue.ValueDataType);
    92         if (matchingItems.Count() > 0) {
     95        if (matchingItems.Any()) {
    9396          int maxNumber = matchingItems.Select(x => x.Number).Max();
    9497          item.Value.Number = maxNumber + 1;
     
    9699      }
    97100    }
     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
    98107  }
    99108}
Note: See TracChangeset for help on using the changeset viewer.