- Timestamp:
- 06/13/12 17:14:53 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Optimization/3.3/Problems/Problem.cs
r7706 r7999 35 35 public abstract class Problem : ParameterizedNamedItem, IProblem { 36 36 private static readonly string OperatorsParameterName = "Operators"; 37 38 public IFixedValueParameter<OperatorCollection> OperatorsParameter { 39 get { return (IFixedValueParameter<OperatorCollection>)Parameters[OperatorsParameterName]; } 37 public IFixedValueParameter<ItemCollection<IItem>> OperatorsParameter { 38 get { return (IFixedValueParameter<ItemCollection<IItem>>)Parameters[OperatorsParameterName]; } 40 39 } 41 40 … … 53 52 protected Problem() 54 53 : base() { 55 Parameters.Add(new FixedValueParameter< OperatorCollection>(OperatorsParameterName, "The operators that the problem provides to the algorithms.", new OperatorCollection(), false));54 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(), false)); 56 55 OperatorsParameter.Hidden = true; 57 56 RegisterEventHandlers(); … … 60 59 [StorableHook(HookType.AfterDeserialization)] 61 60 private void AfterDeserialization() { 61 // BackwardsCompatibility3.3 62 #region Backwards compatible code, remove with 3.4 63 if (Parameters.ContainsKey(OperatorsParameterName) && Parameters[OperatorsParameterName] is FixedValueParameter<OperatorCollection>) { 64 OperatorCollection tmp = ((IFixedValueParameter<OperatorCollection>)Parameters[OperatorsParameterName]).Value; 65 Parameters.Remove(OperatorsParameterName); 66 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(tmp), false)); 67 OperatorsParameter.Hidden = true; 68 } 69 #endregion 70 62 71 RegisterEventHandlers(); 63 72 } 64 73 65 74 private void RegisterEventHandlers() { 66 Operators.ItemsAdded += new CollectionItemsChangedEventHandler<I Operator>(Operators_Changed);67 Operators.ItemsRemoved += new CollectionItemsChangedEventHandler<I Operator>(Operators_Changed);68 Operators.CollectionReset += new CollectionItemsChangedEventHandler<I Operator>(Operators_Changed);75 Operators.ItemsAdded += new CollectionItemsChangedEventHandler<IItem>(Operators_Changed); 76 Operators.ItemsRemoved += new CollectionItemsChangedEventHandler<IItem>(Operators_Changed); 77 Operators.CollectionReset += new CollectionItemsChangedEventHandler<IItem>(Operators_Changed); 69 78 } 70 79 … … 72 81 // BackwardsCompatibility3.3 73 82 #region Backwards compatible code, remove with 3.4 74 [Storable(Name = "Operators" )]83 [Storable(Name = "Operators", AllowOneWay = true)] 75 84 private IEnumerable<IOperator> StorableOperators { 76 get { return null; }77 85 set { 78 86 if (!Parameters.ContainsKey(OperatorsParameterName)) { 79 Parameters.Add(new FixedValueParameter< OperatorCollection>(OperatorsParameterName, "The operators that the problem provides to the algorithms.", new OperatorCollection(value), false));87 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(value), false)); 80 88 OperatorsParameter.Hidden = true; 81 89 } … … 83 91 } 84 92 #endregion 85 protected OperatorCollectionOperators {93 protected ItemCollection<IItem> Operators { 86 94 get { 87 95 // BackwardsCompatibility3.3 88 96 #region Backwards compatible code, remove with 3.4 89 97 if (!Parameters.ContainsKey(OperatorsParameterName)) { 90 Parameters.Add(new FixedValueParameter< OperatorCollection>(OperatorsParameterName, "The operators that the problem provides to the algorithms.", new OperatorCollection(), false));98 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(), false)); 91 99 OperatorsParameter.Hidden = true; 92 100 } … … 95 103 } 96 104 } 97 IEnumerable<I Operator> IProblem.Operators { get { return Operators; } }105 IEnumerable<IItem> IProblem.Operators { get { return Operators; } } 98 106 #endregion 99 107
Note: See TracChangeset
for help on using the changeset viewer.