Changeset 11240 for branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/OrienteeringSolution.cs
- Timestamp:
- 07/30/14 14:59:20 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/OrienteeringSolution.cs
r11190 r11240 42 42 } 43 43 [Storable] 44 private DoubleArray scores; 45 public DoubleArray Scores { 46 get { return scores; } 47 set { 48 if (scores != value) { 49 if (scores != null) DeregisterScoresEvents(); 50 scores = value; 51 if (scores != null) RegisterScoresEvents(); 52 OnScoresChanged(); 53 } 54 } 55 } 56 [Storable] 44 57 private DoubleValue quality; 45 58 public DoubleValue Quality { … … 64 77 Initialize(); 65 78 } 66 public OrienteeringSolution(IntegerVector integerVector, DoubleMatrix coordinates, Double Value quality)79 public OrienteeringSolution(IntegerVector integerVector, DoubleMatrix coordinates, DoubleArray scores, DoubleValue quality) 67 80 : base() { 68 81 this.integerVector = integerVector; 69 82 this.coordinates = coordinates; 83 this.scores = scores; 70 84 this.quality = quality; 71 85 Initialize(); … … 84 98 if (integerVector != null) RegisterIntegerVectorEvents(); 85 99 if (coordinates != null) RegisterCoordinatesEvents(); 100 if (scores != null) RegisterScoresEvents(); 86 101 if (quality != null) RegisterQualityEvents(); 87 102 } … … 102 117 } 103 118 119 public event EventHandler ScoresChanged; 120 private void OnScoresChanged() { 121 var changed = ScoresChanged; 122 if (changed != null) 123 changed(this, EventArgs.Empty); 124 } 104 125 105 126 public event EventHandler QualityChanged; … … 126 147 Coordinates.Reset -= new EventHandler(Coordinates_Reset); 127 148 } 149 private void RegisterScoresEvents() { 150 Scores.ItemChanged += new EventHandler<EventArgs<int>>(Scores_ItemChanged); 151 Scores.Reset += new EventHandler(Scores_Reset); 152 } 153 private void DeregisterScoresEvents() { 154 Scores.ItemChanged -= new EventHandler<EventArgs<int>>(Scores_ItemChanged); 155 Scores.Reset -= new EventHandler(Scores_Reset); 156 } 128 157 private void RegisterQualityEvents() { 129 158 Quality.ValueChanged += new EventHandler(Quality_ValueChanged); … … 145 174 OnCoordinatesChanged(); 146 175 } 176 private void Scores_ItemChanged(object sender, EventArgs<int> e) { 177 OnCoordinatesChanged(); 178 } 179 private void Scores_Reset(object sender, EventArgs e) { 180 OnCoordinatesChanged(); 181 } 147 182 private void Quality_ValueChanged(object sender, EventArgs e) { 148 183 OnQualityChanged();
Note: See TracChangeset
for help on using the changeset viewer.