Changeset 3317 for trunk/sources/HeuristicLab.Core/3.3/OperatorGraph.cs
- Timestamp:
- 04/13/10 06:41:56 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Core/3.3/OperatorGraph.cs
r3160 r3317 37 37 [StorableClass] 38 38 public class OperatorGraph : Item { 39 [Storable] 39 40 private OperatorSet operators; 40 41 /// <summary> 41 42 /// Gets all operators of the current instance. 42 43 /// </summary> 43 [Storable]44 44 public OperatorSet Operators { 45 45 get { return operators; } 46 private set {47 DeregisterOperatorsEvents();48 operators = value;49 RegisterOperatorsEvents();50 }51 46 } 52 47 … … 87 82 /// </summary> 88 83 public OperatorGraph() { 89 Operators = new OperatorSet();84 operators = new OperatorSet(); 90 85 initialOperator = null; 91 86 visualizationInfo = null; 87 Initialize(); 88 } 89 [StorableConstructor] 90 protected OperatorGraph(bool deserializing) : base(deserializing) { } 91 92 [StorableHook(HookType.AfterDeserialization)] 93 private void Initialize() { 94 RegisterOperatorsEvents(); 92 95 } 93 96 … … 100 103 /// <returns>The cloned object as <see cref="OperatorGraph"/>.</returns> 101 104 public override IDeepCloneable Clone(Cloner cloner) { 102 OperatorGraph clone = new OperatorGraph(); 103 cloner.RegisterClonedObject(this, clone); 104 clone.Operators = (OperatorSet)cloner.Clone(operators); 105 OperatorGraph clone = (OperatorGraph)base.Clone(cloner); 106 clone.operators = (OperatorSet)cloner.Clone(operators); 105 107 clone.initialOperator = (IOperator)cloner.Clone(initialOperator); 106 108 clone.visualizationInfo = cloner.Clone(visualizationInfo); 109 clone.Initialize(); 107 110 return clone; 108 111 } … … 166 169 } 167 170 } 168 private void DeregisterOperatorsEvents() {169 if (operators != null) {170 foreach (IOperator op in operators) {171 foreach (IParameter param in op.Parameters) {172 IValueParameter<IOperator> opParam = param as IValueParameter<IOperator>;173 if (opParam != null) DeregisterOperatorParameterEvents(opParam);174 }175 DeregisterOperatorEvents(op);176 }177 operators.ItemsAdded -= new CollectionItemsChangedEventHandler<IOperator>(Operators_ItemsAdded);178 operators.ItemsRemoved -= new CollectionItemsChangedEventHandler<IOperator>(Operators_ItemsRemoved);179 operators.CollectionReset -= new CollectionItemsChangedEventHandler<IOperator>(Operators_CollectionReset);180 }181 }182 171 private void RegisterOperatorEvents(IOperator op) { 183 172 op.Parameters.ItemsAdded += new CollectionItemsChangedEventHandler<IParameter>(Parameters_ItemsAdded);
Note: See TracChangeset
for help on using the changeset viewer.