Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/04/10 05:22:47 (14 years ago)
Author:
swagner
Message:

Continued work on algorithm batch processing (#947).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Optimization/3.3/EngineAlgorithm.cs

    r3261 r3262  
    9494    }
    9595
    96     public override TimeSpan ExecutionTime {
    97       get {
    98         if (engine == null) return TimeSpan.Zero;
    99         else return engine.ExecutionTime;
    100       }
    101     }
    102 
    103     public override bool Finished {
    104       get {
    105         if (engine == null) return true;
    106         else return engine.Finished;
    107       }
    108     }
    109 
    11096    protected EngineAlgorithm()
    11197      : base() {
     
    172158    }
    173159
    174     protected override void OnCanceledChanged() {
    175       if (Canceled && (engine != null))
    176         engine.Stop();
    177     }
    178     protected override void OnPrepared() {
     160    public override void Prepare() {
     161      base.Prepare();
    179162      globalScope.Clear();
    180163      globalScope.Variables.Add(new Variable("Results", new ResultCollection()));
     
    195178        engine.Prepare(context);
    196179      }
    197       base.OnPrepared();
    198     }
    199     protected override void OnStarted() {
     180    }
     181    public override void Start() {
     182      base.Start();
    200183      if (engine != null) engine.Start();
    201       base.OnStarted();
    202     }
    203 
    204     protected virtual void OnOperatorGraphChanged() { }
    205 
     184    }
     185    public override void Pause() {
     186      base.Pause();
     187      if (engine != null) engine.Pause();
     188    }
     189    public override void Stop() {
     190      base.Stop();
     191      if (engine != null) engine.Stop();
     192    }
     193
     194    #region Events
    206195    public event EventHandler EngineChanged;
    207196    protected virtual void OnEngineChanged() {
     
    209198        EngineChanged(this, EventArgs.Empty);
    210199    }
    211 
    212     private void OperatorGraph_InitialOperatorChanged(object sender, EventArgs e) {
    213       Prepare();
    214     }
     200    protected virtual void OnOperatorGraphChanged() { }
     201
    215202    private void RegisterEngineEvents() {
    216203      Engine.ExceptionOccurred += new EventHandler<EventArgs<Exception>>(Engine_ExceptionOccurred);
    217204      Engine.ExecutionTimeChanged += new EventHandler(Engine_ExecutionTimeChanged);
     205      Engine.Paused += new EventHandler(Engine_Paused);
     206      Engine.Prepared += new EventHandler(Engine_Prepared);
     207      Engine.Started += new EventHandler(Engine_Started);
    218208      Engine.Stopped += new EventHandler(Engine_Stopped);
    219209    }
    220 
    221210    private void DeregisterEngineEvents() {
    222211      Engine.ExceptionOccurred -= new EventHandler<EventArgs<Exception>>(Engine_ExceptionOccurred);
    223212      Engine.ExecutionTimeChanged -= new EventHandler(Engine_ExecutionTimeChanged);
     213      Engine.Paused -= new EventHandler(Engine_Paused);
     214      Engine.Prepared -= new EventHandler(Engine_Prepared);
     215      Engine.Started -= new EventHandler(Engine_Started);
    224216      Engine.Stopped -= new EventHandler(Engine_Stopped);
    225217    }
    226 
    227218    private void Engine_ExceptionOccurred(object sender, EventArgs<Exception> e) {
    228219      OnExceptionOccurred(e.Value);
    229220    }
    230221    private void Engine_ExecutionTimeChanged(object sender, EventArgs e) {
    231       OnExecutionTimeChanged();
     222      ExecutionTime = Engine.ExecutionTime;
     223    }
     224    private void Engine_Paused(object sender, EventArgs e) {
     225      OnPaused();
     226    }
     227    private void Engine_Prepared(object sender, EventArgs e) {
     228      OnPrepared();
     229    }
     230    private void Engine_Started(object sender, EventArgs e) {
     231      OnStarted();
    232232    }
    233233    private void Engine_Stopped(object sender, EventArgs e) {
    234234      OnStopped();
    235235    }
     236
     237    private void OperatorGraph_InitialOperatorChanged(object sender, EventArgs e) {
     238      Prepare();
     239    }
     240    #endregion
    236241  }
    237242}
Note: See TracChangeset for help on using the changeset viewer.