Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/08/09 18:34:28 (15 years ago)
Author:
gkronber
Message:

Worked on asynchronous result polling in HiveEngine. #545 (Engine which can be executed in the Hive).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Engine/3.2/HiveEngineEditor.cs

    r2018 r2032  
    2828using System.Windows.Forms;
    2929using HeuristicLab.Core;
     30using HeuristicLab.Tracing;
    3031
    3132namespace HeuristicLab.Hive.Engine {
     
    6869
    6970    void abortButton_Click(object sender, EventArgs e) {
    70       BackgroundWorker worker = new BackgroundWorker();
    71       worker.DoWork += (s, args) => {
    72         HiveEngine.RequestSnapshot();
    73       };
    74       worker.RunWorkerCompleted += (s, args) => {
    75         this.Cursor = Cursors.Default;
    76         abortButton.Enabled = true;
    77       };
    78       this.Cursor = Cursors.WaitCursor;
    79       abortButton.Enabled = false;
    80       worker.RunWorkerAsync();
     71      snapshotButton.Enabled = false;
    8172    }
    8273
    8374    void executeButton_Click(object sender, EventArgs e) {
    8475      abortButton.Enabled = true;
     76      snapshotButton.Enabled = true;
    8577    }
    8678
     
    10294
    10395    void Engine_Initialized(object sender, EventArgs e) {
    104       abortButton.Enabled = false;
     96      if (InvokeRequired) {
     97        Invoke((EventHandler)Engine_Initialized, sender, e);
     98      } else {
     99        abortButton.Enabled = false;
     100        snapshotButton.Enabled = false;
     101      }
    105102    }
    106103
    107104    void Engine_Finished(object sender, EventArgs e) {
     105      if (InvokeRequired) {
     106        Invoke((EventHandler)Engine_Initialized, sender, e);
     107      } else {
     108        abortButton.Enabled = false;
     109        snapshotButton.Enabled = false;
     110      }
     111    }
     112
     113    private void snapshotButton_Click(object sender, EventArgs e) {
     114      BackgroundWorker worker = new BackgroundWorker();
     115      worker.DoWork += (s, args) => {
     116        HiveEngine.RequestSnapshot();
     117      };
     118      worker.RunWorkerCompleted += (s, args) => {
     119        Logger.Debug("HiveEngineEditor: RunWorkerCompleted");
     120        this.Cursor = Cursors.Default;
     121        abortButton.Enabled = true;
     122        snapshotButton.Enabled = true;
     123      };
     124      this.Cursor = Cursors.WaitCursor;
    108125      abortButton.Enabled = false;
     126      snapshotButton.Enabled = false;
     127      Logger.Debug("HiveEngineEditor: RunWorkerAsync");
     128      worker.RunWorkerAsync();
    109129    }
    110130  }
Note: See TracChangeset for help on using the changeset viewer.