- Timestamp:
- 02/05/10 05:23:56 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Parameters/3.3/OperatorParameter.cs
r2740 r2756 32 32 /// </summary> 33 33 [Item("OperatorParameter", "A parameter which represents an operator.")] 34 [EmptyStorableClass] 34 35 [Creatable("Test")] 35 public class OperatorParameter : Parameter, IOperatorParameter { 36 private IOperator value; 37 [Storable] 38 public IOperator Value { 39 get { return this.value; } 40 set { 41 if (value != this.value) { 42 if (this.value != null) this.value.Changed -= new ChangedEventHandler(Value_Changed); 43 this.value = value; 44 if (this.value != null) this.value.Changed += new ChangedEventHandler(Value_Changed); 45 OnValueChanged(); 46 } 47 } 36 public class OperatorParameter : ValueParameter<IOperator> { 37 public OperatorParameter() 38 : base("Anonymous") { 48 39 } 49 50 public OperatorParameter() 51 : base("Anonymous", null, typeof(IOperator)) { 40 public OperatorParameter(string name) 41 : base(name) { 42 } 43 public OperatorParameter(string name, IOperator value) 44 : base(name, value) { 45 Value = value; 52 46 } 53 47 public OperatorParameter(string name, string description) 54 : base(name, description , typeof(IOperator)) {48 : base(name, description) { 55 49 } 56 50 public OperatorParameter(string name, string description, IOperator value) 57 : base(name, description, typeof(IOperator)) {51 : base(name, description, value) { 58 52 Value = value; 59 }60 61 public override IDeepCloneable Clone(Cloner cloner) {62 OperatorParameter clone = (OperatorParameter)base.Clone(cloner);63 clone.Value = (IOperator)cloner.Clone(value);64 return clone;65 }66 67 public override string ToString() {68 return string.Format("{0}: {1} ({2})", Name, Value != null ? Value.ToString() : "null", DataType.Name);69 }70 71 public event EventHandler ValueChanged;72 private void OnValueChanged() {73 if (ValueChanged != null)74 ValueChanged(this, new EventArgs());75 OnChanged();76 }77 private void Value_Changed(object sender, ChangedEventArgs e) {78 OnChanged(e);79 53 } 80 54 }
Note: See TracChangeset
for help on using the changeset viewer.