- Timestamp:
- 06/19/20 17:53:36 (4 years ago)
- Location:
- branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3/ConstrainedValueParameter.cs
r17226 r17614 21 21 22 22 using System; 23 using System.Collections.Generic; 23 24 using System.Linq; 24 25 using HEAL.Attic; … … 57 58 } 58 59 60 public override void Repopulate(IEnumerable<IItem> items) { 61 var itemsOfT = items.OfType<T>().ToList(); 62 T oldItem = Value; 63 ValidValues.Clear(); 64 T defaultItem = itemsOfT.FirstOrDefault(); 65 66 foreach (T i in itemsOfT.OrderBy(x => x is INamedItem ? ((INamedItem)x).Name : x.ItemName)) 67 ValidValues.Add(i); 68 69 if (oldItem != null) { 70 T item = ValidValues.FirstOrDefault(x => x.GetType() == oldItem.GetType()); 71 if (item != null) Value = item; 72 else oldItem = null; 73 } 74 if (oldItem == null && defaultItem != null) 75 Value = defaultItem; 76 } 77 59 78 protected override void ValidValues_ItemsAdded(object sender, CollectionItemsChangedEventArgs<T> e) { 60 79 if (Value == null) Value = ValidValues.First(); -
branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3/OptionalConstrainedValueParameter.cs
r17461 r17614 175 175 } 176 176 177 public virtual void Repopulate(IEnumerable<IItem> items) { 178 var itemsOfT = items.OfType<T>().ToList(); 179 T oldItem = Value; 180 ValidValues.Clear(); 181 182 foreach (T i in itemsOfT.OrderBy(x => x is INamedItem ? ((INamedItem)x).Name : x.ItemName)) 183 ValidValues.Add(i); 184 185 if (oldItem != null) { 186 T item = ValidValues.FirstOrDefault(x => x.GetType() == oldItem.GetType()); 187 if (item != null) Value = item; 188 } 189 } 190 177 191 [StorableHook(HookType.AfterDeserialization)] 178 192 private void AfterDeserialization() { -
branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3/ParameterChangeHandler.cs
r17587 r17614 25 25 26 26 namespace HeuristicLab.Parameters { 27 public abstractclass ParameterChangeHandler<TItem> where TItem : class, IItem {27 public class ParameterChangeHandler<TItem> where TItem : class, IItem { 28 28 protected Action handler; 29 29 … … 37 37 handler(); 38 38 } 39 40 public static ParameterChangeHandler<TItem> Create(IValueParameter<TItem> parameter, Action handler) { 41 return new ParameterChangeHandler<TItem>(parameter, handler); 42 } 39 43 } 40 44
Note: See TracChangeset
for help on using the changeset viewer.