Changeset 2845 for trunk/sources/HeuristicLab.Operators
- Timestamp:
- 02/20/10 20:04:08 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Operators/3.3/Operator.cs
r2834 r2845 22 22 using System; 23 23 using System.Drawing; 24 using HeuristicLab.Collections;25 24 using HeuristicLab.Core; 26 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 31 30 /// </summary> 32 31 [Item("Operator", "Base class for operators.")] 33 public abstract class Operator : NamedItem, IOperator {32 public abstract class Operator : ParameterizedNamedItem, IOperator { 34 33 public override Image ItemImage { 35 34 get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Method; } … … 37 36 public override bool CanChangeDescription { 38 37 get { return false; } 39 }40 41 private ParameterCollection parameters;42 [Storable]43 protected ParameterCollection Parameters {44 get { return parameters;}45 private set {46 if (parameters != null) parameters.Changed -= new ChangedEventHandler(Parameters_Changed);47 parameters = value;48 readOnlyParameters = null;49 if (parameters != null) parameters.Changed += new ChangedEventHandler(Parameters_Changed);50 }51 }52 private ReadOnlyObservableKeyedCollection<string, IParameter> readOnlyParameters;53 IObservableKeyedCollection<string, IParameter> IParameterizedItem.Parameters {54 get {55 if (readOnlyParameters == null) readOnlyParameters = parameters.AsReadOnly();56 return readOnlyParameters;57 }58 38 } 59 39 … … 103 83 /// the canceled flag to <c>false</c> and the name of the operator to the type name. 104 84 /// </summary> 105 protected Operator() { 106 Name = ItemName; 107 Parameters = new ParameterCollection(); 108 readOnlyParameters = null; 85 protected Operator() 86 : base() { 87 canceled = false; 88 breakpoint = false; 89 } 90 protected Operator(string name) 91 : base(name) { 92 canceled = false; 93 breakpoint = false; 94 } 95 protected Operator(string name, ParameterCollection parameters) 96 : base(name, parameters) { 97 canceled = false; 98 breakpoint = false; 99 } 100 protected Operator(string name, string description) 101 : base(name, description) { 102 canceled = false; 103 breakpoint = false; 104 } 105 protected Operator(string name, string description, ParameterCollection parameters) 106 : base(name, description, parameters) { 109 107 canceled = false; 110 108 breakpoint = false; … … 119 117 public override IDeepCloneable Clone(Cloner cloner) { 120 118 Operator clone = (Operator)base.Clone(cloner); 121 clone.Parameters = (ParameterCollection)cloner.Clone(parameters);122 119 clone.canceled = canceled; 123 120 clone.breakpoint = breakpoint; … … 178 175 } 179 176 } 180 181 private void Parameters_Changed(object sender, ChangedEventArgs e) {182 OnChanged(e);183 }184 177 } 185 178 }
Note: See TracChangeset
for help on using the changeset viewer.