Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/29/12 11:15:18 (12 years ago)
Author:
ascheibe
Message:

#1174 fixed a small bug in the okb experiment upload view

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBExperimentUploadView.cs

    r8145 r8158  
    109109    private void DisplayRuns(RunCollection runs) {
    110110      if (RunCreationClient.Instance.Algorithms == null || RunCreationClient.Instance.Algorithms.Count() == 0) {
    111         RunCreationClient.Instance.RefreshAsync(DisplayError);
     111        Action a = new Action(delegate {
     112          RunCreationClient.Instance.Refresh();
     113          CreateUI(runs);
     114        });
     115
     116        Task.Factory.StartNew(a).ContinueWith((t) => { DisplayError(t.Exception); }, TaskContinuationOptions.OnlyOnFaulted);
    112117      } else {
    113118        CreateUI(runs);
     
    116121
    117122    private void CreateUI(RunCollection runs) {
    118       if (problems.Count == 0)
    119         problems.AddRange(RunCreationClient.Instance.Problems);
    120       if (algorithms.Count == 0)
    121         algorithms.AddRange(RunCreationClient.Instance.Algorithms);
    122 
    123       IItem algorithmType;
    124       IItem problemType;
    125       IItem algorithmName;
    126       IItem problemName;
    127 
    128       DataGridViewComboBoxColumn cmbAlgorithm = dataGridView.Columns[algorithmColumnIndex] as DataGridViewComboBoxColumn;
    129       cmbAlgorithm.DataSource = algorithms;
    130       cmbAlgorithm.DisplayMember = "Name";
    131 
    132       DataGridViewComboBoxColumn cmbProblem = dataGridView.Columns[problemColumnIndex] as DataGridViewComboBoxColumn;
    133       cmbProblem.DataSource = problems;
    134       cmbProblem.DisplayMember = "Name";
    135 
    136       foreach (IRun run in runs) {
    137         int idx = dataGridView.Rows.Add(run.Name);
    138         DataGridViewRow curRow = dataGridView.Rows[idx];
    139         curRow.Tag = run;
    140 
    141         if (run.Parameters.TryGetValue(algorithmTypeParameterName, out algorithmType)) {
    142           HeuristicLab.Data.StringValue algStr = algorithmType as HeuristicLab.Data.StringValue;
    143           if (algStr != null) {
    144             curRow.Cells[1].Value = algStr;
     123      if (InvokeRequired) {
     124        Invoke(new Action<RunCollection>(CreateUI), runs);
     125      } else {
     126        if (problems.Count == 0)
     127          problems.AddRange(RunCreationClient.Instance.Problems);
     128        if (algorithms.Count == 0)
     129          algorithms.AddRange(RunCreationClient.Instance.Algorithms);
     130
     131        IItem algorithmType;
     132        IItem problemType;
     133        IItem algorithmName;
     134        IItem problemName;
     135
     136        DataGridViewComboBoxColumn cmbAlgorithm = dataGridView.Columns[algorithmColumnIndex] as DataGridViewComboBoxColumn;
     137        cmbAlgorithm.DataSource = algorithms;
     138        cmbAlgorithm.DisplayMember = "Name";
     139
     140        DataGridViewComboBoxColumn cmbProblem = dataGridView.Columns[problemColumnIndex] as DataGridViewComboBoxColumn;
     141        cmbProblem.DataSource = problems;
     142        cmbProblem.DisplayMember = "Name";
     143
     144        foreach (IRun run in runs) {
     145          int idx = dataGridView.Rows.Add(run.Name);
     146          DataGridViewRow curRow = dataGridView.Rows[idx];
     147          curRow.Tag = run;
     148
     149          if (run.Parameters.TryGetValue(algorithmTypeParameterName, out algorithmType)) {
     150            HeuristicLab.Data.StringValue algStr = algorithmType as HeuristicLab.Data.StringValue;
     151            if (algStr != null) {
     152              curRow.Cells[1].Value = algStr;
     153            }
    145154          }
    146         }
    147 
    148         if (run.Parameters.TryGetValue(algorithmNameParameterName, out algorithmName)) {
    149           HeuristicLab.Data.StringValue algStr = algorithmName as HeuristicLab.Data.StringValue;
    150           if (algStr != null) {
    151             curRow.Cells[2].Value = algStr;
     155
     156          if (run.Parameters.TryGetValue(algorithmNameParameterName, out algorithmName)) {
     157            HeuristicLab.Data.StringValue algStr = algorithmName as HeuristicLab.Data.StringValue;
     158            if (algStr != null) {
     159              curRow.Cells[2].Value = algStr;
     160            }
    152161          }
    153         }
    154 
    155         if (run.Parameters.TryGetValue(problemTypeParameterName, out problemType)) {
    156           HeuristicLab.Data.StringValue prbStr = problemType as HeuristicLab.Data.StringValue;
    157           if (prbStr != null) {
    158             curRow.Cells[4].Value = prbStr;
     162
     163          if (run.Parameters.TryGetValue(problemTypeParameterName, out problemType)) {
     164            HeuristicLab.Data.StringValue prbStr = problemType as HeuristicLab.Data.StringValue;
     165            if (prbStr != null) {
     166              curRow.Cells[4].Value = prbStr;
     167            }
    159168          }
    160         }
    161 
    162         if (run.Parameters.TryGetValue(problemNameParameterName, out problemName)) {
    163           HeuristicLab.Data.StringValue prbStr = problemName as HeuristicLab.Data.StringValue;
    164           if (prbStr != null) {
    165             curRow.Cells[5].Value = prbStr;
     169
     170          if (run.Parameters.TryGetValue(problemNameParameterName, out problemName)) {
     171            HeuristicLab.Data.StringValue prbStr = problemName as HeuristicLab.Data.StringValue;
     172            if (prbStr != null) {
     173              curRow.Cells[5].Value = prbStr;
     174            }
    166175          }
    167176        }
     
    170179
    171180    private void ClearRuns() {
    172       dataGridView.Rows.Clear();
    173       runs.Clear();
     181      if (InvokeRequired) {
     182        Invoke(new Action(ClearRuns));
     183      } else {
     184        dataGridView.Rows.Clear();
     185        runs.Clear();
     186      }
    174187    }
    175188
     
    222235      }
    223236      FinishProgressView();
     237      ClearRuns();
    224238    }
    225239
     
    238252        progress.Finish();
    239253        SetEnabledStateOfControls();
    240         ClearRuns();
    241254      }
    242255    }
Note: See TracChangeset for help on using the changeset viewer.