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/ExperimentView.cs

    r3904 r4070  
    5151      Content.ExecutionStateChanged -= new EventHandler(Content_ExecutionStateChanged);
    5252      Content.ExecutionTimeChanged -= new EventHandler(Content_ExecutionTimeChanged);
     53      Content.Prepared -= new EventHandler(Content_Prepared);
     54      Content.Started -= new EventHandler(Content_Started);
     55      Content.Paused -= new EventHandler(Content_Paused);
     56      Content.Stopped -= new EventHandler(Content_Stopped);
    5357      base.DeregisterContentEvents();
    5458    }
     
    5862      Content.ExecutionStateChanged += new EventHandler(Content_ExecutionStateChanged);
    5963      Content.ExecutionTimeChanged += new EventHandler(Content_ExecutionTimeChanged);
     64      Content.Prepared += new EventHandler(Content_Prepared);
     65      Content.Started += new EventHandler(Content_Started);
     66      Content.Paused += new EventHandler(Content_Paused);
     67      Content.Stopped += new EventHandler(Content_Stopped);
    6068    }
    6169
     
    9098      if (InvokeRequired)
    9199        Invoke(new EventHandler(Content_ExecutionStateChanged), sender, e);
     100      else
     101        startButton.Enabled = pauseButton.Enabled = stopButton.Enabled = resetButton.Enabled = false;
     102    }
     103    private void Content_Prepared(object sender, EventArgs e) {
     104      if (InvokeRequired)
     105        Invoke(new EventHandler(Content_Prepared), sender, e);
    92106      else {
    93         nameTextBox.Enabled = Content.ExecutionState != ExecutionState.Started;
    94         descriptionTextBox.Enabled = Content.ExecutionState != ExecutionState.Started;
    95         Locked = Content.ExecutionState == ExecutionState.Started;
     107        nameTextBox.Enabled = descriptionTextBox.Enabled = true;
     108        Locked = false;
     109        SetEnabledStateOfExecutableButtons();
     110      }
     111    }
     112    private void Content_Started(object sender, EventArgs e) {
     113      if (InvokeRequired)
     114        Invoke(new EventHandler(Content_Started), sender, e);
     115      else {
     116        nameTextBox.Enabled = descriptionTextBox.Enabled = false;
     117        Locked = true;
     118        SetEnabledStateOfExecutableButtons();
     119      }
     120    }
     121    private void Content_Paused(object sender, EventArgs e) {
     122      if (InvokeRequired)
     123        Invoke(new EventHandler(Content_Paused), sender, e);
     124      else {
     125        nameTextBox.Enabled = descriptionTextBox.Enabled = true;
     126        Locked = false;
     127        SetEnabledStateOfExecutableButtons();
     128      }
     129    }
     130    private void Content_Stopped(object sender, EventArgs e) {
     131      if (InvokeRequired)
     132        Invoke(new EventHandler(Content_Stopped), sender, e);
     133      else {
     134        nameTextBox.Enabled = descriptionTextBox.Enabled = true;
     135        Locked = false;
    96136        SetEnabledStateOfExecutableButtons();
    97137      }
Note: See TracChangeset for help on using the changeset viewer.