Changeset 16946 for branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3/OptionalValueParameter.cs
- Timestamp:
- 05/13/19 13:59:30 (5 years ago)
- Location:
- branches/2521_ProblemRefactoring
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3/OptionalValueParameter.cs
r16723 r16946 22 22 using System; 23 23 using System.Drawing; 24 using HEAL.Attic; 24 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; 26 using HEAL.Attic;27 27 28 28 namespace HeuristicLab.Parameters { … … 45 45 get { return this.value; } 46 46 set { 47 if (ReadOnly) throw new InvalidOperationException("Cannot set the value of a readonly parameter."); 47 48 if (value != this.value) { 48 49 DeregisterValueEvents(); … … 63 64 ); 64 65 Value = val; 66 } 67 } 68 69 [Storable(DefaultValue = false)] 70 private bool readOnly; 71 public bool ReadOnly { 72 get { return readOnly; } 73 set { 74 if (value == readOnly) return; 75 readOnly = value; 76 OnReadOnlyChanged(); 65 77 } 66 78 } … … 108 120 : base(original, cloner) { 109 121 value = cloner.Clone(original.value); 122 readOnly = original.readOnly; 110 123 getsCollected = original.getsCollected; 111 124 reactOnValueToStringChangedAndValueItemImageChanged = original.reactOnValueToStringChangedAndValueItemImageChanged; … … 114 127 public OptionalValueParameter() 115 128 : base("Anonymous", typeof(T)) { 129 this.readOnly = false; 116 130 this.getsCollected = true; 117 131 this.reactOnValueToStringChangedAndValueItemImageChanged = true; … … 119 133 public OptionalValueParameter(string name) 120 134 : base(name, typeof(T)) { 121 this.getsCollected = true; 122 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 123 } 124 public OptionalValueParameter(string name, bool getsCollected) 125 : base(name, typeof(T)) { 126 this.getsCollected = getsCollected; 135 this.readOnly = false; 136 this.getsCollected = true; 127 137 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 128 138 } … … 130 140 : base(name, typeof(T)) { 131 141 this.value = value; 132 this.getsCollected = true; 133 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 134 RegisterValueEvents(); 135 } 136 public OptionalValueParameter(string name, T value, bool getsCollected) 137 : base(name, typeof(T)) { 138 this.value = value; 139 this.getsCollected = getsCollected; 142 this.readOnly = false; 143 this.getsCollected = true; 140 144 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 141 145 RegisterValueEvents(); … … 143 147 public OptionalValueParameter(string name, string description) 144 148 : base(name, description, typeof(T)) { 145 this.getsCollected = true; 146 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 147 } 148 public OptionalValueParameter(string name, string description, bool getsCollected) 149 : base(name, description, typeof(T)) { 150 this.getsCollected = getsCollected; 151 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 152 } 149 this.readOnly = false; 150 this.getsCollected = true; 151 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 152 } 153 153 154 public OptionalValueParameter(string name, string description, T value) 154 155 : base(name, description, typeof(T)) { 155 156 this.value = value; 156 this.getsCollected = true; 157 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 158 RegisterValueEvents(); 159 } 160 public OptionalValueParameter(string name, string description, T value, bool getsCollected) 161 : base(name, description, typeof(T)) { 162 this.value = value; 163 this.getsCollected = getsCollected; 157 this.readOnly = false; 158 this.getsCollected = true; 164 159 this.reactOnValueToStringChangedAndValueItemImageChanged = true; 165 160 RegisterValueEvents(); … … 197 192 OnToStringChanged(); 198 193 } 194 195 public event EventHandler ReadOnlyChanged; 196 protected virtual void OnReadOnlyChanged() { 197 EventHandler handler = ReadOnlyChanged; 198 if (handler != null) handler(this, EventArgs.Empty); 199 } 199 200 public event EventHandler GetsCollectedChanged; 200 201 protected virtual void OnGetsCollectedChanged() {
Note: See TracChangeset
for help on using the changeset viewer.