- Timestamp:
- 04/14/10 05:09:59 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Parameters/3.3/ValueLookupParameter.cs
r3317 r3341 21 21 22 22 using System; 23 using System.Drawing; 23 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; … … 32 33 [StorableClass] 33 34 public class ValueLookupParameter<T> : LookupParameter<T>, IValueLookupParameter<T> where T : class, IItem { 35 public override Image ItemImage { 36 get { 37 if (value != null) return value.ItemImage; 38 else return base.ItemImage; 39 } 40 } 41 34 42 [Storable] 35 43 private T value; … … 38 46 set { 39 47 if (value != this.value) { 40 if (this.value != null) this.value.ToStringChanged -= new EventHandler(Value_ToStringChanged);48 DeregisterValueEvents(); 41 49 this.value = value; 42 if (this.value != null) this.value.ToStringChanged += new EventHandler(Value_ToStringChanged);50 RegisterValueEvents(); 43 51 OnValueChanged(); 44 52 } … … 85 93 [StorableHook(HookType.AfterDeserialization)] 86 94 private void Initialize() { 87 if (value != null) value.ToStringChanged += new EventHandler(Value_ToStringChanged);95 RegisterValueEvents(); 88 96 } 89 97 … … 103 111 if (ValueChanged != null) 104 112 ValueChanged(this, EventArgs.Empty); 113 OnItemImageChanged(); 105 114 OnToStringChanged(); 115 } 116 117 private void RegisterValueEvents() { 118 if (value != null) { 119 value.ItemImageChanged += new EventHandler(Value_ItemImageChanged); 120 value.ToStringChanged += new EventHandler(Value_ToStringChanged); 121 } 122 } 123 private void DeregisterValueEvents() { 124 if (value != null) { 125 value.ItemImageChanged -= new EventHandler(Value_ItemImageChanged); 126 value.ToStringChanged -= new EventHandler(Value_ToStringChanged); 127 } 128 } 129 private void Value_ItemImageChanged(object sender, EventArgs e) { 130 OnItemImageChanged(); 106 131 } 107 132 private void Value_ToStringChanged(object sender, EventArgs e) {
Note: See TracChangeset
for help on using the changeset viewer.