Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/22/10 04:27:50 (14 years ago)
Author:
swagner
Message:

Fixed bugs when quickly stopping, resetting and restarting algorithms (#1027)

File:
1 edited

Legend:

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

    r4068 r4070  
    5454      Content.ExecutionStateChanged -= new EventHandler(Content_ExecutionStateChanged);
    5555      Content.ExecutionTimeChanged -= new EventHandler(Content_ExecutionTimeChanged);
     56      Content.Prepared -= new EventHandler(Content_Prepared);
     57      Content.Started -= new EventHandler(Content_Started);
     58      Content.Paused -= new EventHandler(Content_Paused);
     59      Content.Stopped -= new EventHandler(Content_Stopped);
    5660      Content.RepetitionsChanged -= new EventHandler(Content_RepetitionsChanged);
    5761      base.DeregisterContentEvents();
     
    6367      Content.ExecutionStateChanged += new EventHandler(Content_ExecutionStateChanged);
    6468      Content.ExecutionTimeChanged += new EventHandler(Content_ExecutionTimeChanged);
     69      Content.Prepared += new EventHandler(Content_Prepared);
     70      Content.Started += new EventHandler(Content_Started);
     71      Content.Paused += new EventHandler(Content_Paused);
     72      Content.Stopped += new EventHandler(Content_Stopped);
    6573      Content.RepetitionsChanged += new EventHandler(Content_RepetitionsChanged);
    6674    }
     
    100108      if (InvokeRequired)
    101109        Invoke(new EventHandler(Content_ExecutionStateChanged), sender, e);
    102       else {
    103         this.ReadOnly = Content.ExecutionState == ExecutionState.Started;
    104         Locked = Content.ExecutionState == ExecutionState.Started;
     110      else
     111        startButton.Enabled = pauseButton.Enabled = stopButton.Enabled = resetButton.Enabled = false;
     112    }
     113    private void Content_Prepared(object sender, EventArgs e) {
     114      if (InvokeRequired)
     115        Invoke(new EventHandler(Content_Prepared), sender, e);
     116      else {
     117        ReadOnly = Locked = false;
     118        SetEnabledStateOfExecutableButtons();
     119      }
     120    }
     121    private void Content_Started(object sender, EventArgs e) {
     122      if (InvokeRequired)
     123        Invoke(new EventHandler(Content_Started), sender, e);
     124      else {
     125        ReadOnly = Locked = true;
     126        SetEnabledStateOfExecutableButtons();
     127      }
     128    }
     129    private void Content_Paused(object sender, EventArgs e) {
     130      if (InvokeRequired)
     131        Invoke(new EventHandler(Content_Paused), sender, e);
     132      else {
     133        ReadOnly = Locked = false;
     134        SetEnabledStateOfExecutableButtons();
     135      }
     136    }
     137    private void Content_Stopped(object sender, EventArgs e) {
     138      if (InvokeRequired)
     139        Invoke(new EventHandler(Content_Stopped), sender, e);
     140      else {
     141        ReadOnly = Locked = false;
    105142        SetEnabledStateOfExecutableButtons();
    106143      }
Note: See TracChangeset for help on using the changeset viewer.