- Timestamp:
- 04/04/10 05:22:47 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Optimization/3.3/EngineAlgorithm.cs
r3261 r3262 94 94 } 95 95 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 110 96 protected EngineAlgorithm() 111 97 : base() { … … 172 158 } 173 159 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(); 179 162 globalScope.Clear(); 180 163 globalScope.Variables.Add(new Variable("Results", new ResultCollection())); … … 195 178 engine.Prepare(context); 196 179 } 197 base.OnPrepared();198 }199 protected override void OnStarted() {180 } 181 public override void Start() { 182 base.Start(); 200 183 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 206 195 public event EventHandler EngineChanged; 207 196 protected virtual void OnEngineChanged() { … … 209 198 EngineChanged(this, EventArgs.Empty); 210 199 } 211 212 private void OperatorGraph_InitialOperatorChanged(object sender, EventArgs e) { 213 Prepare(); 214 } 200 protected virtual void OnOperatorGraphChanged() { } 201 215 202 private void RegisterEngineEvents() { 216 203 Engine.ExceptionOccurred += new EventHandler<EventArgs<Exception>>(Engine_ExceptionOccurred); 217 204 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); 218 208 Engine.Stopped += new EventHandler(Engine_Stopped); 219 209 } 220 221 210 private void DeregisterEngineEvents() { 222 211 Engine.ExceptionOccurred -= new EventHandler<EventArgs<Exception>>(Engine_ExceptionOccurred); 223 212 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); 224 216 Engine.Stopped -= new EventHandler(Engine_Stopped); 225 217 } 226 227 218 private void Engine_ExceptionOccurred(object sender, EventArgs<Exception> e) { 228 219 OnExceptionOccurred(e.Value); 229 220 } 230 221 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(); 232 232 } 233 233 private void Engine_Stopped(object sender, EventArgs e) { 234 234 OnStopped(); 235 235 } 236 237 private void OperatorGraph_InitialOperatorChanged(object sender, EventArgs e) { 238 Prepare(); 239 } 240 #endregion 236 241 } 237 242 }
Note: See TracChangeset
for help on using the changeset viewer.