- Timestamp:
- 04/05/10 03:17:25 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Optimization.Views/3.3/BatchRunView.cs
r3261 r3265 21 21 22 22 using System; 23 using System.Collections.Generic;24 23 using System.Windows.Forms; 25 24 using HeuristicLab.Common; 25 using HeuristicLab.Core; 26 26 using HeuristicLab.Core.Views; 27 27 using HeuristicLab.MainForm; … … 58 58 59 59 protected override void DeregisterContentEvents() { 60 Content.AlgorithmChanged -= new EventHandler(Content_AlgorithmChanged); 60 61 Content.ExceptionOccurred -= new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred); 62 Content.ExecutionStateChanged -= new EventHandler(Content_ExecutionStateChanged); 61 63 Content.ExecutionTimeChanged -= new EventHandler(Content_ExecutionTimeChanged); 62 Content.Prepared -= new EventHandler(Content_Prepared);63 Content.AlgorithmChanged -= new EventHandler(Content_AlgorithmChanged);64 64 Content.RepetitionsChanged -= new EventHandler(Content_RepetitionsChanged); 65 Content.RunningChanged -= new EventHandler(Content_RunningChanged);66 65 base.DeregisterContentEvents(); 67 66 } 68 67 protected override void RegisterContentEvents() { 69 68 base.RegisterContentEvents(); 69 Content.AlgorithmChanged += new EventHandler(Content_AlgorithmChanged); 70 70 Content.ExceptionOccurred += new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred); 71 Content.ExecutionStateChanged += new EventHandler(Content_ExecutionStateChanged); 71 72 Content.ExecutionTimeChanged += new EventHandler(Content_ExecutionTimeChanged); 72 Content.Prepared += new EventHandler(Content_Prepared);73 Content.AlgorithmChanged += new EventHandler(Content_AlgorithmChanged);74 73 Content.RepetitionsChanged += new EventHandler(Content_RepetitionsChanged); 75 Content.RunningChanged += new EventHandler(Content_RunningChanged);76 74 } 77 75 78 76 protected override void OnContentChanged() { 79 77 base.OnContentChanged(); 80 stopButton.Enabled = false;81 78 if (Content == null) { 82 79 repetitionsNumericUpDown.Value = 1; … … 85 82 runsView.Content = null; 86 83 tabControl.Enabled = false; 87 startButton.Enabled = resetButton.Enabled = false;84 startButton.Enabled = pauseButton.Enabled = stopButton.Enabled = resetButton.Enabled = false; 88 85 executionTimeTextBox.Text = "-"; 89 86 executionTimeTextBox.Enabled = false; … … 96 93 runsView.Content = Content.Runs; 97 94 tabControl.Enabled = true; 98 startButton.Enabled = !Content.Finished; 99 resetButton.Enabled = true; 100 UpdateExecutionTimeTextBox(); 95 EnableDisableButtons(); 96 executionTimeTextBox.Text = Content.ExecutionTime.ToString(); 101 97 executionTimeTextBox.Enabled = true; 102 98 } … … 104 100 105 101 protected override void OnClosed(FormClosedEventArgs e) { 106 if ( Content != null) Content.Stop();102 if ((Content != null) && (Content.ExecutionState == ExecutionState.Started)) Content.Stop(); 107 103 base.OnClosed(e); 108 104 } 109 105 110 106 #region Content Events 107 private void Content_ExecutionStateChanged(object sender, EventArgs e) { 108 if (InvokeRequired) 109 Invoke(new EventHandler(Content_ExecutionStateChanged), sender, e); 110 else { 111 nameTextBox.Enabled = Content.ExecutionState != ExecutionState.Started; 112 descriptionTextBox.Enabled = Content.ExecutionState != ExecutionState.Started; 113 SaveEnabled = Content.ExecutionState != ExecutionState.Started; 114 repetitionsNumericUpDown.Enabled = Content.ExecutionState != ExecutionState.Started; 115 newAlgorithmButton.Enabled = openAlgorithmButton.Enabled = saveAlgorithmButton.Enabled = Content.ExecutionState != ExecutionState.Started; 116 EnableDisableButtons(); 117 } 118 } 119 private void Content_ExecutionTimeChanged(object sender, EventArgs e) { 120 if (InvokeRequired) 121 Invoke(new EventHandler(Content_ExecutionTimeChanged), sender, e); 122 else 123 executionTimeTextBox.Text = Content.ExecutionTime.ToString(); 124 } 125 private void Content_ExceptionOccurred(object sender, EventArgs<Exception> e) { 126 if (InvokeRequired) 127 Invoke(new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred), sender, e); 128 else 129 Auxiliary.ShowErrorMessageBox(e.Value); 130 } 111 131 private void Content_AlgorithmChanged(object sender, EventArgs e) { 112 132 if (InvokeRequired) … … 118 138 } 119 139 } 120 private void Content_Prepared(object sender, EventArgs e) { 121 if (InvokeRequired) 122 Invoke(new EventHandler(Content_Prepared), sender, e); 123 else { 124 startButton.Enabled = !Content.Finished; 125 UpdateExecutionTimeTextBox(); 126 } 127 } 128 private void Content_RunningChanged(object sender, EventArgs e) { 129 if (InvokeRequired) 130 Invoke(new EventHandler(Content_RunningChanged), sender, e); 131 else { 132 SaveEnabled = !Content.Running; 133 repetitionsNumericUpDown.Enabled = !Content.Running; 134 newAlgorithmButton.Enabled = openAlgorithmButton.Enabled = saveAlgorithmButton.Enabled = !Content.Running; 135 startButton.Enabled = !Content.Running && !Content.Finished; 136 stopButton.Enabled = Content.Running; 137 resetButton.Enabled = !Content.Running; 138 UpdateExecutionTimeTextBox(); 139 } 140 } 141 private void Content_ExecutionTimeChanged(object sender, EventArgs e) { 142 UpdateExecutionTimeTextBox(); 143 } 144 private void Content_ExceptionOccurred(object sender, EventArgs<Exception> e) { 145 if (InvokeRequired) 146 Invoke(new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred), sender, e); 140 private void Content_RepetitionsChanged(object sender, EventArgs e) { 141 if (InvokeRequired) 142 Invoke(new EventHandler(Content_RepetitionsChanged), sender, e); 147 143 else 148 Auxiliary.ShowErrorMessageBox(e.Value);149 }150 private void Content_RepetitionsChanged(object sender, EventArgs e) {151 if (InvokeRequired)152 Invoke(new EventHandler(Content_RepetitionsChanged), sender, e);153 else {154 144 repetitionsNumericUpDown.Value = Content.Repetitions; 155 startButton.Enabled = !Content.Finished;156 }157 145 } 158 146 #endregion 159 147 160 148 #region Control events 149 private void repetitionsNumericUpDown_Validated(object sender, System.EventArgs e) { 150 if (repetitionsNumericUpDown.Text == string.Empty) 151 repetitionsNumericUpDown.Text = repetitionsNumericUpDown.Value.ToString(); 152 } 161 153 private void repetitionsNumericUpDown_ValueChanged(object sender, EventArgs e) { 162 154 Content.Repetitions = (int)repetitionsNumericUpDown.Value; … … 227 219 Content.Start(); 228 220 } 221 private void pauseButton_Click(object sender, EventArgs e) { 222 Content.Pause(); 223 } 229 224 private void stopButton_Click(object sender, EventArgs e) { 230 225 Content.Stop(); 231 226 } 232 227 private void resetButton_Click(object sender, EventArgs e) { 233 Content.Prepare(); 228 if (Content.Runs.Count > 0) { 229 if (MessageBox.Show(this, "Clear all runs executed so far?", "Clear All Runs?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) 230 Content.Prepare(true); 231 else 232 Content.Prepare(false); 233 } else { 234 Content.Prepare(); 235 } 234 236 } 235 237 #endregion 236 238 237 239 #region Helpers 238 private void UpdateExecutionTimeTextBox() {239 if (InvokeRequired)240 Invoke(new Action(UpdateExecutionTimeTextBox));241 else242 executionTimeTextBox.Text = Content.ExecutionTime.ToString();240 private void EnableDisableButtons() { 241 startButton.Enabled = (Content.ExecutionState == ExecutionState.Prepared) || (Content.ExecutionState == ExecutionState.Paused); 242 pauseButton.Enabled = Content.ExecutionState == ExecutionState.Started; 243 stopButton.Enabled = (Content.ExecutionState == ExecutionState.Started) || (Content.ExecutionState == ExecutionState.Paused); 244 resetButton.Enabled = Content.ExecutionState != ExecutionState.Started; 243 245 } 244 246 #endregion
Note: See TracChangeset
for help on using the changeset viewer.