Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/21/10 06:14:03 (14 years ago)
Author:
swagner
Message:

Adapted views according the new read-only property (#973)

File:
1 edited

Legend:

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

    r3416 r3454  
    9797        resultsView.Content = null;
    9898        runsView.Content = null;
    99         tabControl.Enabled = false;
    100         startButton.Enabled = pauseButton.Enabled = stopButton.Enabled = resetButton.Enabled = false;
    10199        executionTimeTextBox.Text = "-";
    102         executionTimeTextBox.Enabled = false;
    103100      } else {
    104101        parameterCollectionView.Content = Content.Parameters;
    105         saveProblemButton.Enabled = Content.Problem != null;
    106102        problemViewHost.ViewType = null;
    107103        problemViewHost.Content = Content.Problem;
    108104        resultsView.Content = Content.Results.AsReadOnly();
    109105        runsView.Content = Content.Runs;
    110         tabControl.Enabled = true;
    111         EnableDisableButtons();
    112106        executionTimeTextBox.Text = Content.ExecutionTime.ToString();
    113         executionTimeTextBox.Enabled = true;
    114107      }
    115108      SetEnableStateOfControls();
     
    121114    }
    122115    private void SetEnableStateOfControls() {
     116      parameterCollectionView.Enabled = Content != null;
    123117      parameterCollectionView.ReadOnly = ReadOnly;
     118      newProblemButton.Enabled = Content != null && !ReadOnly;
     119      openProblemButton.Enabled = Content != null && !ReadOnly;
     120      problemViewHost.Enabled = Content != null;
    124121      problemViewHost.ReadOnly = ReadOnly;
     122      resultsView.Enabled = Content != null;
    125123      resultsView.ReadOnly = ReadOnly;
     124      runsView.Enabled = Content != null;
    126125      runsView.ReadOnly = ReadOnly;
     126      executionTimeTextBox.Enabled = Content != null;
     127      SetEnabledStateOfExecutableButtons();
    127128    }
    128129
     
    139140        problemViewHost.ViewType = null;
    140141        problemViewHost.Content = Content.Problem;
    141         saveProblemButton.Enabled = Content.Problem != null;
    142142      }
    143143    }
     
    152152        Invoke(new EventHandler(Content_ExecutionStateChanged), sender, e);
    153153      else {
    154         this.ReadOnly = Content.ExecutionState == ExecutionState.Started;
     154        ReadOnly = Content.ExecutionState == ExecutionState.Started;
    155155        Locked = Content.ExecutionState == ExecutionState.Started;
    156         EnableDisableButtons();
     156        SetEnabledStateOfExecutableButtons();
    157157      }
    158158    }
     
    192192      if (openFileDialog.ShowDialog(this) == DialogResult.OK) {
    193193        this.Cursor = Cursors.AppStarting;
    194         newProblemButton.Enabled = openProblemButton.Enabled = saveProblemButton.Enabled = false;
     194        newProblemButton.Enabled = openProblemButton.Enabled = false;
    195195        problemViewHost.Enabled = false;
    196196
     
    211211              Content.Problem = problem;
    212212            problemViewHost.Enabled = true;
    213             newProblemButton.Enabled = openProblemButton.Enabled = saveProblemButton.Enabled = true;
    214             this.Cursor = Cursors.Default;
    215           }));
    216         }, null);
    217       }
    218     }
    219     protected virtual void saveProblemButton_Click(object sender, EventArgs e) {
    220       saveFileDialog.Title = "Save Problem";
    221       if (saveFileDialog.ShowDialog(this) == DialogResult.OK) {
    222         this.Cursor = Cursors.AppStarting;
    223         newProblemButton.Enabled = openProblemButton.Enabled = saveProblemButton.Enabled = false;
    224         problemViewHost.Enabled = false;
    225 
    226         var call = new Action<IProblem, string, int>(XmlGenerator.Serialize);
    227         int compression = 9;
    228         if (saveFileDialog.FilterIndex == 1) compression = 0;
    229         call.BeginInvoke(Content.Problem, saveFileDialog.FileName, compression, delegate(IAsyncResult a) {
    230           try {
    231             call.EndInvoke(a);
    232           }
    233           catch (Exception ex) {
    234             Auxiliary.ShowErrorMessageBox(ex);
    235           }
    236           Invoke(new Action(delegate() {
    237             problemViewHost.Enabled = true;
    238             newProblemButton.Enabled = openProblemButton.Enabled = saveProblemButton.Enabled = true;
     213            newProblemButton.Enabled = openProblemButton.Enabled = true;
    239214            this.Cursor = Cursors.Default;
    240215          }));
     
    282257
    283258    #region Helpers
    284     private void EnableDisableButtons() {
    285       startButton.Enabled = (Content.ExecutionState == ExecutionState.Prepared) || (Content.ExecutionState == ExecutionState.Paused);
    286       pauseButton.Enabled = Content.ExecutionState == ExecutionState.Started;
    287       stopButton.Enabled = (Content.ExecutionState == ExecutionState.Started) || (Content.ExecutionState == ExecutionState.Paused);
    288       resetButton.Enabled = Content.ExecutionState != ExecutionState.Started;
     259    private void SetEnabledStateOfExecutableButtons() {
     260      if (Content == null) {
     261        startButton.Enabled = pauseButton.Enabled = stopButton.Enabled = resetButton.Enabled = false;
     262      } else {
     263        startButton.Enabled = (Content.ExecutionState == ExecutionState.Prepared) || (Content.ExecutionState == ExecutionState.Paused);
     264        pauseButton.Enabled = Content.ExecutionState == ExecutionState.Started;
     265        stopButton.Enabled = (Content.ExecutionState == ExecutionState.Started) || (Content.ExecutionState == ExecutionState.Paused);
     266        resetButton.Enabled = Content.ExecutionState != ExecutionState.Started;
     267      }
    289268    }
    290269    #endregion
Note: See TracChangeset for help on using the changeset viewer.