Changeset 4115 for trunk/sources/HeuristicLab.Optimization/3.3/BatchRun.cs
- Timestamp:
- 07/27/10 17:05:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Optimization/3.3/BatchRun.cs
r3716 r4115 27 27 using HeuristicLab.Data; 28 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 29 using System.Collections.Generic; 29 30 30 31 namespace HeuristicLab.Optimization { … … 80 81 set { 81 82 if (algorithm != value) { 82 if (algorithm != null) DeregisterAlgorithmEvents(); 83 if (algorithm != null) { 84 DeregisterAlgorithmEvents(); 85 IEnumerable<IRun> runs = algorithm.Runs; 86 algorithm = null; //necessary to avoid removing the runs from the old algorithm 87 Runs.RemoveRange(runs); 88 } 83 89 algorithm = value; 84 if (algorithm != null) RegisterAlgorithmEvents(); 90 if (algorithm != null) { 91 RegisterAlgorithmEvents(); 92 Runs.AddRange(algorithm.Runs); 93 } 85 94 OnAlgorithmChanged(); 86 95 Prepare(); … … 324 333 private void RegisterRunsEvents() { 325 334 runs.CollectionReset += new CollectionItemsChangedEventHandler<IRun>(Runs_CollectionReset); 335 runs.ItemsAdded += new CollectionItemsChangedEventHandler<IRun>(Runs_ItemsAdded); 326 336 runs.ItemsRemoved += new CollectionItemsChangedEventHandler<IRun>(Runs_ItemsRemoved); 327 337 } 338 328 339 private void DeregisterRunsEvents() { 329 340 runs.CollectionReset -= new CollectionItemsChangedEventHandler<IRun>(Runs_CollectionReset); 341 runs.ItemsAdded -= new CollectionItemsChangedEventHandler<IRun>(Runs_ItemsAdded); 330 342 runs.ItemsRemoved -= new CollectionItemsChangedEventHandler<IRun>(Runs_ItemsRemoved); 331 343 } … … 345 357 } 346 358 } 359 private void Runs_ItemsAdded(object sender, CollectionItemsChangedEventArgs<IRun> e) { 360 foreach (IRun run in e.Items) { 361 IItem item; 362 run.Results.TryGetValue("Execution Time", out item); 363 TimeSpanValue executionTime = item as TimeSpanValue; 364 if (executionTime != null) ExecutionTime += executionTime.Value; 365 } 366 } 347 367 private void Runs_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<IRun> e) { 348 368 foreach (IRun run in e.Items) {
Note: See TracChangeset
for help on using the changeset viewer.