Changeset 12847 for branches/PerformanceComparison
- Timestamp:
- 08/12/15 10:29:01 (9 years ago)
- Location:
- branches/PerformanceComparison
- Files:
-
- 4 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem.Views/3.3/ExpertSystemOptimizerView.Designer.cs
r12839 r12847 20 20 #endregion 21 21 22 namespace HeuristicLab.Optimization .Views {23 partial class IndependentRandomRestarterView {22 namespace HeuristicLab.OptimizationExpertSystem.Views { 23 partial class ExpertSystemOptimizerView { 24 24 /// <summary> 25 25 /// Required designer variable. … … 34 34 /// </summary> 35 35 private void InitializeComponent() { 36 this.timeLimitLabel = new System.Windows.Forms.Label();37 this.maxExecutionTimeTextBox = new System.Windows.Forms.TextBox();38 36 this.evaluationsLimitabel = new System.Windows.Forms.Label(); 39 37 this.maxEvaluationsTextBox = new System.Windows.Forms.TextBox(); 40 38 this.tabControl = new HeuristicLab.MainForm.WindowsForms.DragOverTabControl(); 39 this.problemTabPage = new System.Windows.Forms.TabPage(); 40 this.problemViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost(); 41 this.openProblemButton = new System.Windows.Forms.Button(); 42 this.newProblemButton = new System.Windows.Forms.Button(); 41 43 this.algorithmTabPage = new System.Windows.Forms.TabPage(); 42 44 this.algorithmViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost(); 43 this.openAlgorithmButton = new System.Windows.Forms.Button(); 44 this.newAlgorithmButton = new System.Windows.Forms.Button(); 45 this.currentRunTabPage = new System.Windows.Forms.TabPage(); 46 this.currentRunView = new HeuristicLab.Optimization.Views.RunView(); 45 this.algorithmSuggestionLabel = new System.Windows.Forms.Label(); 46 this.suggestedInstancesComboBox = new System.Windows.Forms.ComboBox(); 47 47 this.runsTabPage = new System.Windows.Forms.TabPage(); 48 48 this.runsView = new HeuristicLab.Optimization.Views.RunCollectionView(); 49 this.okbTabPage = new System.Windows.Forms.TabPage(); 50 this.okbRunCollectionView = new HeuristicLab.Optimization.Views.RunCollectionView(); 49 51 this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); 50 this.targetValueTextBox = new System.Windows.Forms.TextBox();51 this.targetValueLabel = new System.Windows.Forms.Label();52 this.terminationComboBox = new System.Windows.Forms.ComboBox();53 this.terminationLabel = new System.Windows.Forms.Label();54 this.moveCostPerSolutionTextBox = new System.Windows.Forms.TextBox();55 this.moveCostPerSolutionLabel = new System.Windows.Forms.Label();56 this.maximizationLabel = new System.Windows.Forms.Label();57 this.maximizationCheckBox = new System.Windows.Forms.CheckBox();58 this.storeSolutionInRunLabel = new System.Windows.Forms.Label();59 this.storeBestSolutionCheckBox = new System.Windows.Forms.CheckBox();60 52 ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit(); 61 53 this.tabControl.SuspendLayout(); 54 this.problemTabPage.SuspendLayout(); 62 55 this.algorithmTabPage.SuspendLayout(); 63 this.currentRunTabPage.SuspendLayout();64 56 this.runsTabPage.SuspendLayout(); 57 this.okbTabPage.SuspendLayout(); 65 58 this.SuspendLayout(); 66 59 // … … 103 96 this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft); 104 97 this.errorProvider.SetIconPadding(this.nameTextBox, 2); 105 this.nameTextBox.Location = new System.Drawing.Point( 115, 0);106 this.nameTextBox.Size = new System.Drawing.Size(4 09, 20);98 this.nameTextBox.Location = new System.Drawing.Point(75, 0); 99 this.nameTextBox.Size = new System.Drawing.Size(449, 20); 107 100 // 108 101 // infoLabel … … 110 103 this.infoLabel.Location = new System.Drawing.Point(530, 3); 111 104 // 112 // timeLimitLabel113 //114 this.timeLimitLabel.AutoSize = true;115 this.timeLimitLabel.Location = new System.Drawing.Point(3, 29);116 this.timeLimitLabel.Name = "timeLimitLabel";117 this.timeLimitLabel.Size = new System.Drawing.Size(106, 13);118 this.timeLimitLabel.TabIndex = 3;119 this.timeLimitLabel.Text = "Max Execution Time:";120 //121 // maxExecutionTimeTextBox122 //123 this.maxExecutionTimeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)124 | System.Windows.Forms.AnchorStyles.Right)));125 this.maxExecutionTimeTextBox.Location = new System.Drawing.Point(115, 26);126 this.maxExecutionTimeTextBox.Name = "maxExecutionTimeTextBox";127 this.maxExecutionTimeTextBox.Size = new System.Drawing.Size(409, 20);128 this.maxExecutionTimeTextBox.TabIndex = 4;129 this.maxExecutionTimeTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.maxExecutionTimeTextBox_Validating);130 //131 105 // evaluationsLimitabel 132 106 // 133 107 this.evaluationsLimitabel.AutoSize = true; 134 this.evaluationsLimitabel.Location = new System.Drawing.Point(3, 55);108 this.evaluationsLimitabel.Location = new System.Drawing.Point(3, 29); 135 109 this.evaluationsLimitabel.Name = "evaluationsLimitabel"; 136 this.evaluationsLimitabel.Size = new System.Drawing.Size( 88, 13);110 this.evaluationsLimitabel.Size = new System.Drawing.Size(66, 13); 137 111 this.evaluationsLimitabel.TabIndex = 5; 138 this.evaluationsLimitabel.Text = " Max Evaluations:";112 this.evaluationsLimitabel.Text = "Budget (FE):"; 139 113 // 140 114 // maxEvaluationsTextBox 141 115 // 142 this.maxEvaluationsTextBox.Location = new System.Drawing.Point(115, 52); 116 this.maxEvaluationsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 117 | System.Windows.Forms.AnchorStyles.Right))); 118 this.maxEvaluationsTextBox.Location = new System.Drawing.Point(75, 26); 143 119 this.maxEvaluationsTextBox.Name = "maxEvaluationsTextBox"; 144 this.maxEvaluationsTextBox.Size = new System.Drawing.Size( 157, 20);120 this.maxEvaluationsTextBox.Size = new System.Drawing.Size(449, 20); 145 121 this.maxEvaluationsTextBox.TabIndex = 6; 146 122 this.maxEvaluationsTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.maxEvaluationsTextBox_Validating); … … 152 128 | System.Windows.Forms.AnchorStyles.Left) 153 129 | System.Windows.Forms.AnchorStyles.Right))); 130 this.tabControl.Controls.Add(this.problemTabPage); 154 131 this.tabControl.Controls.Add(this.algorithmTabPage); 155 this.tabControl.Controls.Add(this.currentRunTabPage);156 132 this.tabControl.Controls.Add(this.runsTabPage); 157 this.tabControl.Location = new System.Drawing.Point(0, 152); 133 this.tabControl.Controls.Add(this.okbTabPage); 134 this.tabControl.Location = new System.Drawing.Point(0, 52); 158 135 this.tabControl.Name = "tabControl"; 159 136 this.tabControl.SelectedIndex = 0; 160 this.tabControl.Size = new System.Drawing.Size(546, 282);137 this.tabControl.Size = new System.Drawing.Size(546, 382); 161 138 this.tabControl.TabIndex = 17; 162 139 // 140 // problemTabPage 141 // 142 this.problemTabPage.AllowDrop = true; 143 this.problemTabPage.Controls.Add(this.problemViewHost); 144 this.problemTabPage.Controls.Add(this.openProblemButton); 145 this.problemTabPage.Controls.Add(this.newProblemButton); 146 this.problemTabPage.Location = new System.Drawing.Point(4, 22); 147 this.problemTabPage.Name = "problemTabPage"; 148 this.problemTabPage.Padding = new System.Windows.Forms.Padding(3); 149 this.problemTabPage.Size = new System.Drawing.Size(538, 356); 150 this.problemTabPage.TabIndex = 1; 151 this.problemTabPage.Text = "Problem"; 152 this.problemTabPage.UseVisualStyleBackColor = true; 153 this.problemTabPage.DragDrop += new System.Windows.Forms.DragEventHandler(this.problemTabPage_DragDrop); 154 this.problemTabPage.DragEnter += new System.Windows.Forms.DragEventHandler(this.problemTabPage_DragEnterOver); 155 this.problemTabPage.DragOver += new System.Windows.Forms.DragEventHandler(this.problemTabPage_DragEnterOver); 156 // 157 // problemViewHost 158 // 159 this.problemViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 160 | System.Windows.Forms.AnchorStyles.Left) 161 | System.Windows.Forms.AnchorStyles.Right))); 162 this.problemViewHost.Caption = "View"; 163 this.problemViewHost.Content = null; 164 this.problemViewHost.Enabled = false; 165 this.problemViewHost.Location = new System.Drawing.Point(6, 36); 166 this.problemViewHost.Name = "problemViewHost"; 167 this.problemViewHost.ReadOnly = false; 168 this.problemViewHost.Size = new System.Drawing.Size(526, 314); 169 this.problemViewHost.TabIndex = 2; 170 this.problemViewHost.ViewsLabelVisible = true; 171 this.problemViewHost.ViewType = null; 172 // 173 // openProblemButton 174 // 175 this.openProblemButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Open; 176 this.openProblemButton.Location = new System.Drawing.Point(36, 6); 177 this.openProblemButton.Name = "openProblemButton"; 178 this.openProblemButton.Size = new System.Drawing.Size(24, 24); 179 this.openProblemButton.TabIndex = 1; 180 this.toolTip.SetToolTip(this.openProblemButton, "Open Problem"); 181 this.openProblemButton.UseVisualStyleBackColor = true; 182 this.openProblemButton.Click += new System.EventHandler(this.openProblemButton_Click); 183 // 184 // newProblemButton 185 // 186 this.newProblemButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.NewDocument; 187 this.newProblemButton.Location = new System.Drawing.Point(6, 6); 188 this.newProblemButton.Name = "newProblemButton"; 189 this.newProblemButton.Size = new System.Drawing.Size(24, 24); 190 this.newProblemButton.TabIndex = 0; 191 this.toolTip.SetToolTip(this.newProblemButton, "New Problem"); 192 this.newProblemButton.UseVisualStyleBackColor = true; 193 this.newProblemButton.Click += new System.EventHandler(this.newProblemButton_Click); 194 // 163 195 // algorithmTabPage 164 196 // 165 this.algorithmTabPage.AllowDrop = true;166 197 this.algorithmTabPage.Controls.Add(this.algorithmViewHost); 167 this.algorithmTabPage.Controls.Add(this. openAlgorithmButton);168 this.algorithmTabPage.Controls.Add(this. newAlgorithmButton);198 this.algorithmTabPage.Controls.Add(this.algorithmSuggestionLabel); 199 this.algorithmTabPage.Controls.Add(this.suggestedInstancesComboBox); 169 200 this.algorithmTabPage.Location = new System.Drawing.Point(4, 22); 170 201 this.algorithmTabPage.Name = "algorithmTabPage"; 171 202 this.algorithmTabPage.Padding = new System.Windows.Forms.Padding(3); 172 this.algorithmTabPage.Size = new System.Drawing.Size(538, 256);173 this.algorithmTabPage.TabIndex = 1;203 this.algorithmTabPage.Size = new System.Drawing.Size(538, 356); 204 this.algorithmTabPage.TabIndex = 4; 174 205 this.algorithmTabPage.Text = "Algorithm"; 175 206 this.algorithmTabPage.UseVisualStyleBackColor = true; 176 this.algorithmTabPage.DragDrop += new System.Windows.Forms.DragEventHandler(this.algorithmTabPage_DragDrop);177 this.algorithmTabPage.DragEnter += new System.Windows.Forms.DragEventHandler(this.algorithmTabPage_DragEnterOver);178 this.algorithmTabPage.DragOver += new System.Windows.Forms.DragEventHandler(this.algorithmTabPage_DragEnterOver);179 207 // 180 208 // algorithmViewHost … … 189 217 this.algorithmViewHost.Name = "algorithmViewHost"; 190 218 this.algorithmViewHost.ReadOnly = false; 191 this.algorithmViewHost.Size = new System.Drawing.Size(526, 214);219 this.algorithmViewHost.Size = new System.Drawing.Size(526, 314); 192 220 this.algorithmViewHost.TabIndex = 2; 193 221 this.algorithmViewHost.ViewsLabelVisible = true; 194 222 this.algorithmViewHost.ViewType = null; 195 223 // 196 // openAlgorithmButton 197 // 198 this.openAlgorithmButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Open; 199 this.openAlgorithmButton.Location = new System.Drawing.Point(36, 6); 200 this.openAlgorithmButton.Name = "openAlgorithmButton"; 201 this.openAlgorithmButton.Size = new System.Drawing.Size(24, 24); 202 this.openAlgorithmButton.TabIndex = 1; 203 this.toolTip.SetToolTip(this.openAlgorithmButton, "Open Optimizer"); 204 this.openAlgorithmButton.UseVisualStyleBackColor = true; 205 this.openAlgorithmButton.Click += new System.EventHandler(this.openAlgorithmButton_Click); 206 // 207 // newAlgorithmButton 208 // 209 this.newAlgorithmButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.NewDocument; 210 this.newAlgorithmButton.Location = new System.Drawing.Point(6, 6); 211 this.newAlgorithmButton.Name = "newAlgorithmButton"; 212 this.newAlgorithmButton.Size = new System.Drawing.Size(24, 24); 213 this.newAlgorithmButton.TabIndex = 0; 214 this.toolTip.SetToolTip(this.newAlgorithmButton, "New Optimizer"); 215 this.newAlgorithmButton.UseVisualStyleBackColor = true; 216 this.newAlgorithmButton.Click += new System.EventHandler(this.newAlgorithmButton_Click); 217 // 218 // currentRunTabPage 219 // 220 this.currentRunTabPage.Controls.Add(this.currentRunView); 221 this.currentRunTabPage.Location = new System.Drawing.Point(4, 22); 222 this.currentRunTabPage.Name = "currentRunTabPage"; 223 this.currentRunTabPage.Padding = new System.Windows.Forms.Padding(6); 224 this.currentRunTabPage.Size = new System.Drawing.Size(538, 256); 225 this.currentRunTabPage.TabIndex = 4; 226 this.currentRunTabPage.Text = "Current Run"; 227 this.currentRunTabPage.UseVisualStyleBackColor = true; 228 // 229 // currentRunView 230 // 231 this.currentRunView.Caption = "Run View"; 232 this.currentRunView.Content = null; 233 this.currentRunView.Dock = System.Windows.Forms.DockStyle.Fill; 234 this.currentRunView.Location = new System.Drawing.Point(6, 6); 235 this.currentRunView.Name = "currentRunView"; 236 this.currentRunView.ReadOnly = false; 237 this.currentRunView.Size = new System.Drawing.Size(526, 244); 238 this.currentRunView.TabIndex = 0; 224 // algorithmSuggestionLabel 225 // 226 this.algorithmSuggestionLabel.AutoSize = true; 227 this.algorithmSuggestionLabel.Location = new System.Drawing.Point(6, 9); 228 this.algorithmSuggestionLabel.Name = "algorithmSuggestionLabel"; 229 this.algorithmSuggestionLabel.Size = new System.Drawing.Size(156, 13); 230 this.algorithmSuggestionLabel.TabIndex = 1; 231 this.algorithmSuggestionLabel.Text = "Suggested Algorithm Instances:"; 232 // 233 // suggestedInstancesComboBox 234 // 235 this.suggestedInstancesComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 236 | System.Windows.Forms.AnchorStyles.Right))); 237 this.suggestedInstancesComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 238 this.suggestedInstancesComboBox.FormattingEnabled = true; 239 this.suggestedInstancesComboBox.Location = new System.Drawing.Point(178, 6); 240 this.suggestedInstancesComboBox.Name = "suggestedInstancesComboBox"; 241 this.suggestedInstancesComboBox.Size = new System.Drawing.Size(354, 21); 242 this.suggestedInstancesComboBox.TabIndex = 0; 243 this.suggestedInstancesComboBox.SelectedIndexChanged += new System.EventHandler(this.suggestedInstancesComboBox_SelectedIndexChanged); 239 244 // 240 245 // runsTabPage … … 243 248 this.runsTabPage.Location = new System.Drawing.Point(4, 22); 244 249 this.runsTabPage.Name = "runsTabPage"; 245 this.runsTabPage.Padding = new System.Windows.Forms.Padding( 6);246 this.runsTabPage.Size = new System.Drawing.Size(538, 256);250 this.runsTabPage.Padding = new System.Windows.Forms.Padding(3); 251 this.runsTabPage.Size = new System.Drawing.Size(538, 356); 247 252 this.runsTabPage.TabIndex = 3; 248 253 this.runsTabPage.Text = "Runs"; … … 254 259 this.runsView.Content = null; 255 260 this.runsView.Dock = System.Windows.Forms.DockStyle.Fill; 256 this.runsView.Location = new System.Drawing.Point( 6, 6);261 this.runsView.Location = new System.Drawing.Point(3, 3); 257 262 this.runsView.Name = "runsView"; 258 263 this.runsView.ReadOnly = false; 259 this.runsView.Size = new System.Drawing.Size(5 26, 244);264 this.runsView.Size = new System.Drawing.Size(532, 350); 260 265 this.runsView.TabIndex = 1; 266 // 267 // okbTabPage 268 // 269 this.okbTabPage.Controls.Add(this.okbRunCollectionView); 270 this.okbTabPage.Location = new System.Drawing.Point(4, 22); 271 this.okbTabPage.Name = "okbTabPage"; 272 this.okbTabPage.Padding = new System.Windows.Forms.Padding(3); 273 this.okbTabPage.Size = new System.Drawing.Size(538, 356); 274 this.okbTabPage.TabIndex = 5; 275 this.okbTabPage.Text = "Knowledge Base"; 276 this.okbTabPage.UseVisualStyleBackColor = true; 277 // 278 // okbRunCollectionView 279 // 280 this.okbRunCollectionView.Caption = "RunCollection View"; 281 this.okbRunCollectionView.Content = null; 282 this.okbRunCollectionView.Dock = System.Windows.Forms.DockStyle.Fill; 283 this.okbRunCollectionView.Location = new System.Drawing.Point(3, 3); 284 this.okbRunCollectionView.Name = "okbRunCollectionView"; 285 this.okbRunCollectionView.ReadOnly = false; 286 this.okbRunCollectionView.Size = new System.Drawing.Size(532, 350); 287 this.okbRunCollectionView.TabIndex = 0; 261 288 // 262 289 // openFileDialog … … 267 294 this.openFileDialog.Title = "Open Optimizer"; 268 295 // 269 // targetValueTextBox 270 // 271 this.targetValueTextBox.Location = new System.Drawing.Point(115, 78); 272 this.targetValueTextBox.Name = "targetValueTextBox"; 273 this.targetValueTextBox.Size = new System.Drawing.Size(157, 20); 274 this.targetValueTextBox.TabIndex = 10; 275 this.targetValueTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.targetValueTextBox_Validating); 276 // 277 // targetValueLabel 278 // 279 this.targetValueLabel.AutoSize = true; 280 this.targetValueLabel.Location = new System.Drawing.Point(3, 81); 281 this.targetValueLabel.Name = "targetValueLabel"; 282 this.targetValueLabel.Size = new System.Drawing.Size(71, 13); 283 this.targetValueLabel.TabIndex = 9; 284 this.targetValueLabel.Text = "Target Value:"; 285 // 286 // terminationComboBox 287 // 288 this.terminationComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 289 | System.Windows.Forms.AnchorStyles.Right))); 290 this.terminationComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 291 this.terminationComboBox.FormattingEnabled = true; 292 this.terminationComboBox.Location = new System.Drawing.Point(115, 105); 293 this.terminationComboBox.Name = "terminationComboBox"; 294 this.terminationComboBox.Size = new System.Drawing.Size(409, 21); 295 this.terminationComboBox.TabIndex = 14; 296 this.terminationComboBox.SelectedIndexChanged += new System.EventHandler(this.terminationComboBox_SelectedIndexChanged); 297 // 298 // terminationLabel 299 // 300 this.terminationLabel.AutoSize = true; 301 this.terminationLabel.Location = new System.Drawing.Point(3, 108); 302 this.terminationLabel.Name = "terminationLabel"; 303 this.terminationLabel.Size = new System.Drawing.Size(65, 13); 304 this.terminationLabel.TabIndex = 13; 305 this.terminationLabel.Text = "Termination:"; 306 // 307 // moveCostPerSolutionTextBox 308 // 309 this.moveCostPerSolutionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 310 | System.Windows.Forms.AnchorStyles.Right))); 311 this.moveCostPerSolutionTextBox.Location = new System.Drawing.Point(401, 52); 312 this.moveCostPerSolutionTextBox.Name = "moveCostPerSolutionTextBox"; 313 this.moveCostPerSolutionTextBox.Size = new System.Drawing.Size(123, 20); 314 this.moveCostPerSolutionTextBox.TabIndex = 8; 315 this.moveCostPerSolutionTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.moveCostPerSolutionTextBox_Validating); 316 // 317 // moveCostPerSolutionLabel 318 // 319 this.moveCostPerSolutionLabel.AutoSize = true; 320 this.moveCostPerSolutionLabel.Location = new System.Drawing.Point(278, 55); 321 this.moveCostPerSolutionLabel.Name = "moveCostPerSolutionLabel"; 322 this.moveCostPerSolutionLabel.Size = new System.Drawing.Size(117, 13); 323 this.moveCostPerSolutionLabel.TabIndex = 7; 324 this.moveCostPerSolutionLabel.Text = "Move cost per solution:"; 325 // 326 // maximizationLabel 327 // 328 this.maximizationLabel.AutoSize = true; 329 this.maximizationLabel.Location = new System.Drawing.Point(278, 81); 330 this.maximizationLabel.Name = "maximizationLabel"; 331 this.maximizationLabel.Size = new System.Drawing.Size(70, 13); 332 this.maximizationLabel.TabIndex = 11; 333 this.maximizationLabel.Text = "Maximization:"; 334 // 335 // maximizationCheckBox 336 // 337 this.maximizationCheckBox.AutoSize = true; 338 this.maximizationCheckBox.Location = new System.Drawing.Point(401, 80); 339 this.maximizationCheckBox.Name = "maximizationCheckBox"; 340 this.maximizationCheckBox.Size = new System.Drawing.Size(15, 14); 341 this.maximizationCheckBox.TabIndex = 12; 342 this.maximizationCheckBox.UseVisualStyleBackColor = true; 343 this.maximizationCheckBox.CheckedChanged += new System.EventHandler(this.maximizationCheckBox_CheckedChanged); 344 // 345 // storeSolutionInRunLabel 346 // 347 this.storeSolutionInRunLabel.AutoSize = true; 348 this.storeSolutionInRunLabel.Location = new System.Drawing.Point(3, 132); 349 this.storeSolutionInRunLabel.Name = "storeSolutionInRunLabel"; 350 this.storeSolutionInRunLabel.Size = new System.Drawing.Size(76, 13); 351 this.storeSolutionInRunLabel.TabIndex = 15; 352 this.storeSolutionInRunLabel.Text = "Store Solution:"; 353 // 354 // storeBestSolutionCheckBox 355 // 356 this.storeBestSolutionCheckBox.AutoSize = true; 357 this.storeBestSolutionCheckBox.Location = new System.Drawing.Point(115, 132); 358 this.storeBestSolutionCheckBox.Name = "storeBestSolutionCheckBox"; 359 this.storeBestSolutionCheckBox.Size = new System.Drawing.Size(15, 14); 360 this.storeBestSolutionCheckBox.TabIndex = 16; 361 this.storeBestSolutionCheckBox.UseVisualStyleBackColor = true; 362 this.storeBestSolutionCheckBox.CheckedChanged += new System.EventHandler(this.storeBestSolutionCheckBox_CheckedChanged); 363 // 364 // IndependentRandomRestarterView 296 // ExpertSystemOptimizerView 365 297 // 366 298 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; 367 this.Controls.Add(this.storeBestSolutionCheckBox);368 this.Controls.Add(this.maximizationCheckBox);369 this.Controls.Add(this.terminationComboBox);370 299 this.Controls.Add(this.tabControl); 371 this.Controls.Add(this.maxExecutionTimeTextBox);372 this.Controls.Add(this.timeLimitLabel);373 this.Controls.Add(this.terminationLabel);374 this.Controls.Add(this.storeSolutionInRunLabel);375 this.Controls.Add(this.targetValueLabel);376 this.Controls.Add(this.maximizationLabel);377 this.Controls.Add(this.moveCostPerSolutionLabel);378 300 this.Controls.Add(this.evaluationsLimitabel); 379 this.Controls.Add(this.moveCostPerSolutionTextBox);380 this.Controls.Add(this.targetValueTextBox);381 301 this.Controls.Add(this.maxEvaluationsTextBox); 382 this.Name = " IndependentRandomRestarterView";302 this.Name = "ExpertSystemOptimizerView"; 383 303 this.Size = new System.Drawing.Size(549, 464); 384 304 this.Controls.SetChildIndex(this.maxEvaluationsTextBox, 0); 385 this.Controls.SetChildIndex(this.targetValueTextBox, 0);386 this.Controls.SetChildIndex(this.moveCostPerSolutionTextBox, 0);387 305 this.Controls.SetChildIndex(this.evaluationsLimitabel, 0); 388 this.Controls.SetChildIndex(this.moveCostPerSolutionLabel, 0);389 this.Controls.SetChildIndex(this.maximizationLabel, 0);390 this.Controls.SetChildIndex(this.targetValueLabel, 0);391 this.Controls.SetChildIndex(this.storeSolutionInRunLabel, 0);392 this.Controls.SetChildIndex(this.terminationLabel, 0);393 this.Controls.SetChildIndex(this.timeLimitLabel, 0);394 this.Controls.SetChildIndex(this.maxExecutionTimeTextBox, 0);395 306 this.Controls.SetChildIndex(this.tabControl, 0); 396 307 this.Controls.SetChildIndex(this.nameLabel, 0); … … 403 314 this.Controls.SetChildIndex(this.executionTimeTextBox, 0); 404 315 this.Controls.SetChildIndex(this.startButton, 0); 405 this.Controls.SetChildIndex(this.terminationComboBox, 0);406 this.Controls.SetChildIndex(this.maximizationCheckBox, 0);407 this.Controls.SetChildIndex(this.storeBestSolutionCheckBox, 0);408 316 ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit(); 409 317 this.tabControl.ResumeLayout(false); 318 this.problemTabPage.ResumeLayout(false); 410 319 this.algorithmTabPage.ResumeLayout(false); 411 this. currentRunTabPage.ResumeLayout(false);320 this.algorithmTabPage.PerformLayout(); 412 321 this.runsTabPage.ResumeLayout(false); 322 this.okbTabPage.ResumeLayout(false); 413 323 this.ResumeLayout(false); 414 324 this.PerformLayout(); … … 418 328 #endregion 419 329 420 private System.Windows.Forms.Label timeLimitLabel;421 private System.Windows.Forms.TextBox maxExecutionTimeTextBox;422 330 private System.Windows.Forms.Label evaluationsLimitabel; 423 331 private System.Windows.Forms.TextBox maxEvaluationsTextBox; 424 332 private MainForm.WindowsForms.DragOverTabControl tabControl; 425 333 private System.Windows.Forms.TabPage runsTabPage; 426 private RunCollectionView runsView;334 private HeuristicLab.Optimization.Views.RunCollectionView runsView; 427 335 private System.Windows.Forms.OpenFileDialog openFileDialog; 428 private System.Windows.Forms.TextBox targetValueTextBox; 429 private System.Windows.Forms.Label targetValueLabel; 430 private System.Windows.Forms.ComboBox terminationComboBox; 431 private System.Windows.Forms.Label terminationLabel; 432 private System.Windows.Forms.TextBox moveCostPerSolutionTextBox; 433 private System.Windows.Forms.Label moveCostPerSolutionLabel; 434 private System.Windows.Forms.Label maximizationLabel; 435 private System.Windows.Forms.CheckBox maximizationCheckBox; 336 private System.Windows.Forms.TabPage problemTabPage; 337 private MainForm.WindowsForms.ViewHost problemViewHost; 338 private System.Windows.Forms.Button openProblemButton; 339 private System.Windows.Forms.Button newProblemButton; 436 340 private System.Windows.Forms.TabPage algorithmTabPage; 437 341 private MainForm.WindowsForms.ViewHost algorithmViewHost; 438 private System.Windows.Forms.Button openAlgorithmButton; 439 private System.Windows.Forms.Button newAlgorithmButton; 440 private System.Windows.Forms.TabPage currentRunTabPage; 441 private RunView currentRunView; 442 private System.Windows.Forms.Label storeSolutionInRunLabel; 443 private System.Windows.Forms.CheckBox storeBestSolutionCheckBox; 342 private System.Windows.Forms.Label algorithmSuggestionLabel; 343 private System.Windows.Forms.ComboBox suggestedInstancesComboBox; 344 private System.Windows.Forms.TabPage okbTabPage; 345 private Optimization.Views.RunCollectionView okbRunCollectionView; 444 346 } 445 347 } -
branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem.Views/3.3/ExpertSystemOptimizerView.cs
r12839 r12847 30 30 using HeuristicLab.Core.Views; 31 31 using HeuristicLab.MainForm; 32 using HeuristicLab.Optimization; 33 using HeuristicLab.Optimization.Views; 32 34 using HeuristicLab.PluginInfrastructure; 33 35 34 namespace HeuristicLab.Optimization .Views {35 [View(" Independent Random Restarter View")]36 [Content(typeof( IndepdentRandomRestarter), IsDefaultView = true)]37 public partial class IndependentRandomRestarterView : IOptimizerView {38 protected TypeSelectorDialog algorithmTypeSelectorDialog;36 namespace HeuristicLab.OptimizationExpertSystem.Views { 37 [View("Expert-system Optimizer View")] 38 [Content(typeof(ExpertSystemOptimizer), IsDefaultView = true)] 39 public partial class ExpertSystemOptimizerView : IOptimizerView { 40 protected TypeSelectorDialog problemTypeSelectorDialog; 39 41 protected virtual bool SuppressEvents { get; set; } 40 42 41 public new IndepdentRandomRestarter Content {42 get { return ( IndepdentRandomRestarter)base.Content; }43 public new ExpertSystemOptimizer Content { 44 get { return (ExpertSystemOptimizer)base.Content; } 43 45 set { base.Content = value; } 44 46 } 45 47 46 public IndependentRandomRestarterView() {48 public ExpertSystemOptimizerView() { 47 49 InitializeComponent(); 48 terminationComboBox.Items.AddRange(Enum.GetValues(typeof(TerminationCriterium)).Cast<object>().ToArray());49 50 } 50 51 51 52 protected override void Dispose(bool disposing) { 52 53 if (disposing) { 53 if ( algorithmTypeSelectorDialog != null) algorithmTypeSelectorDialog.Dispose();54 if (problemTypeSelectorDialog != null) problemTypeSelectorDialog.Dispose(); 54 55 if (components != null) components.Dispose(); 55 56 } … … 59 60 protected override void DeregisterContentEvents() { 60 61 Content.PropertyChanged -= Content_PropertyChanged; 62 Content.SuggestedInstances.CollectionReset -= SuggestedInstancesOnChanged; 63 Content.SuggestedInstances.ItemsAdded -= SuggestedInstancesOnChanged; 64 Content.SuggestedInstances.ItemsMoved -= SuggestedInstancesOnChanged; 65 Content.SuggestedInstances.ItemsRemoved -= SuggestedInstancesOnChanged; 66 Content.SuggestedInstances.ItemsReplaced -= SuggestedInstancesOnChanged; 61 67 base.DeregisterContentEvents(); 62 68 } … … 64 70 base.RegisterContentEvents(); 65 71 Content.PropertyChanged += Content_PropertyChanged; 72 Content.SuggestedInstances.CollectionReset += SuggestedInstancesOnChanged; 73 Content.SuggestedInstances.ItemsAdded += SuggestedInstancesOnChanged; 74 Content.SuggestedInstances.ItemsMoved += SuggestedInstancesOnChanged; 75 Content.SuggestedInstances.ItemsRemoved += SuggestedInstancesOnChanged; 76 Content.SuggestedInstances.ItemsReplaced += SuggestedInstancesOnChanged; 66 77 } 67 78 … … 71 82 try { 72 83 if (Content == null) { 73 maxExecutionTimeTextBox.Text = String.Empty;74 84 maxEvaluationsTextBox.Text = String.Empty; 75 moveCostPerSolutionTextBox.Text = String.Empty; 76 targetValueTextBox.Text = String.Empty; 77 maximizationCheckBox.CheckState = CheckState.Indeterminate; 78 terminationComboBox.SelectedIndex = -1; 79 storeBestSolutionCheckBox.CheckState = CheckState.Indeterminate; 80 85 86 problemViewHost.Content = null; 81 87 algorithmViewHost.Content = null; 82 currentRunView.Content = null;83 88 runsView.Content = null; 89 okbRunCollectionView.Content = null; 84 90 } else { 85 maxExecutionTimeTextBox.Text = TimeSpanHelper.FormatNatural(Content.MaximumExecutionTime);86 91 maxEvaluationsTextBox.Text = Content.MaximumEvaluations.ToString(); 87 moveCostPerSolutionTextBox.Text = Content.MoveCostPerSolution.ToString(CultureInfo.CurrentCulture.NumberFormat); 88 targetValueTextBox.Text = Content.TargetValue.ToString(CultureInfo.CurrentCulture.NumberFormat); 89 maximizationCheckBox.Checked = Content.Maximization; 90 terminationComboBox.SelectedItem = Content.TerminationCriterium; 91 storeBestSolutionCheckBox.Checked = Content.StoreSolutionInRun; 92 93 algorithmViewHost.Content = Content.Algorithm; 94 currentRunView.Content = Content.CurrentRun; 92 problemViewHost.Content = Content.Problem; 95 93 runsView.Content = Content.Runs; 96 } 94 okbRunCollectionView.Content = Content.KnowledgeBase; 95 } 96 UpdateSuggestedInstancesCombobox(); 97 97 } finally { SuppressEvents = false; } 98 98 } … … 100 100 protected override void SetEnabledStateOfControls() { 101 101 base.SetEnabledStateOfControls(); 102 maxExecutionTimeTextBox.Enabled = Content != null && !ReadOnly && !Locked;103 102 maxEvaluationsTextBox.Enabled = Content != null && !ReadOnly && !Locked; 104 moveCostPerSolutionTextBox.Enabled = Content != null && !ReadOnly && !Locked; 105 targetValueTextBox.Enabled = Content != null && !ReadOnly && !Locked; 106 maximizationCheckBox.Enabled = Content != null && !ReadOnly && !Locked; 107 terminationComboBox.Enabled = Content != null && !ReadOnly && !Locked; 108 storeBestSolutionCheckBox.Enabled = Content != null && !ReadOnly && !Locked; 109 newAlgorithmButton.Enabled = Content != null && !ReadOnly; 110 openAlgorithmButton.Enabled = Content != null && !ReadOnly; 111 algorithmViewHost.Enabled = Content != null; 112 currentRunView.Enabled = Content != null; 103 newProblemButton.Enabled = Content != null && !ReadOnly && !Locked; 104 openProblemButton.Enabled = Content != null && !ReadOnly && !Locked; 105 problemViewHost.Enabled = Content != null && !ReadOnly && !Locked; 106 suggestedInstancesComboBox.Enabled = Content != null && !ReadOnly && !Locked; 107 algorithmViewHost.Enabled = Content != null && !ReadOnly && !Locked; 113 108 runsView.Enabled = Content != null; 109 okbRunCollectionView.Enabled = Content != null; 114 110 } 115 111 … … 117 113 if ((Content != null) && (Content.ExecutionState == ExecutionState.Started)) { 118 114 //The content must be stopped if no other view showing the content is available 119 var optimizers = MainFormManager.MainForm.Views.OfType<IContentView>().Where(v => v != this).Select(v => v.Content).OfType<I Algorithm>();120 if (!optimizers.Contains(Content .Algorithm)) {115 var optimizers = MainFormManager.MainForm.Views.OfType<IContentView>().Where(v => v != this).Select(v => v.Content).OfType<IOptimizer>(); 116 if (!optimizers.Contains(Content)) { 121 117 var nestedOptimizers = optimizers.SelectMany(opt => opt.NestedOptimizers); 122 118 if (!nestedOptimizers.Contains(Content)) Content.Stop(); … … 124 120 } 125 121 base.OnClosed(e); 122 } 123 124 private void UpdateSuggestedInstancesCombobox() { 125 SuspendRepaint(); 126 try { 127 var prevSelection = (IAlgorithm)suggestedInstancesComboBox.SelectedItem; 128 var prevNewIndex = -1; 129 suggestedInstancesComboBox.Items.Clear(); 130 if (Content == null) return; 131 132 for (var i = 0; i < Content.SuggestedInstances.Count; i++) { 133 suggestedInstancesComboBox.Items.Add(Content.SuggestedInstances[i]); 134 if (prevSelection == null || Content.SuggestedInstances[i].Name == prevSelection.Name) 135 prevNewIndex = prevSelection == null ? 0 : i; 136 } 137 if (prevNewIndex >= 0) { 138 suggestedInstancesComboBox.SelectedIndex = prevNewIndex; 139 } 140 } finally { ResumeRepaint(true); } 126 141 } 127 142 … … 136 151 try { 137 152 switch (e.PropertyName) { 138 case "TerminationCriterium": terminationComboBox.SelectedItem = Content.TerminationCriterium; break;139 case "MaximumExecutionTime": maxExecutionTimeTextBox.Text = TimeSpanHelper.FormatNatural(Content.MaximumExecutionTime); break;140 153 case "MaximumEvaluations": maxEvaluationsTextBox.Text = Content.MaximumEvaluations.ToString(); break; 141 case "TargetValue": targetValueTextBox.Text = Content.TargetValue.ToString(CultureInfo.CurrentCulture.NumberFormat); break;142 case "Maximization": maximizationCheckBox.Checked = Content.Maximization; break;143 case "MoveCostPerSolution": moveCostPerSolutionTextBox.Text = Content.MoveCostPerSolution.ToString(CultureInfo.CurrentCulture.NumberFormat); break;144 case "StoreSolutionInRun": storeBestSolutionCheckBox.Checked = Content.StoreSolutionInRun; break;145 case "Algorithm": algorithmViewHost.Content = Content.Algorithm; break;146 case "CurrentRun": currentRunView.Content = Content.CurrentRun; break;147 154 case "Runs": runsView.Content = Content.Runs; break; 155 case "KnowledgeBase": okbRunCollectionView.Content = Content.KnowledgeBase; break; 156 case "Problem": problemViewHost.Content = Content.Problem; break; 148 157 } 149 158 } finally { SuppressEvents = false; } 150 159 } 160 161 private void SuggestedInstancesOnChanged(object sender, EventArgs e) { 162 SuppressEvents = true; 163 try { 164 UpdateSuggestedInstancesCombobox(); 165 } finally { SuppressEvents = false; } 166 } 151 167 #endregion 152 168 153 169 #region Control events 154 private void maxExecutionTimeTextBox_Validating(object sender, CancelEventArgs e) {155 if (SuppressEvents) return;156 if (InvokeRequired) {157 Invoke((Action<object, CancelEventArgs>)maxExecutionTimeTextBox_Validating, sender, e);158 return;159 }160 TimeSpan ts;161 if (!TimeSpanHelper.TryGetFromNaturalFormat(maxExecutionTimeTextBox.Text, out ts)) {162 e.Cancel = !maxExecutionTimeTextBox.ReadOnly && maxExecutionTimeTextBox.Enabled;163 errorProvider.SetError(maxExecutionTimeTextBox, "Please enter a valid time span, e.g. 20 seconds ; 45s ; 4min ; 1h ; 3 hours ; 2 days ; 4d");164 } else {165 Content.MaximumExecutionTime = ts;166 e.Cancel = false;167 errorProvider.SetError(maxExecutionTimeTextBox, null);168 }169 }170 171 170 private void maxEvaluationsTextBox_Validating(object sender, CancelEventArgs e) { 172 171 if (SuppressEvents) return; … … 186 185 } 187 186 188 private void moveCostPerSolutionTextBox_Validating(object sender, CancelEventArgs e) { 189 if (SuppressEvents) return; 190 if (InvokeRequired) { 191 Invoke((Action<object, CancelEventArgs>)moveCostPerSolutionTextBox_Validating, sender, e); 192 return; 193 } 194 double value; 195 if (!double.TryParse(moveCostPerSolutionTextBox.Text, out value)) { 196 e.Cancel = !moveCostPerSolutionTextBox.ReadOnly && moveCostPerSolutionTextBox.Enabled; 197 errorProvider.SetError(moveCostPerSolutionTextBox, "Please enter a valid integer number."); 198 } else { 199 Content.MoveCostPerSolution = value; 200 e.Cancel = false; 201 errorProvider.SetError(moveCostPerSolutionTextBox, null); 202 } 203 } 204 205 private void targetValueTextBox_Validating(object sender, CancelEventArgs e) { 206 if (SuppressEvents) return; 207 if (InvokeRequired) { 208 Invoke((Action<object, CancelEventArgs>)targetValueTextBox_Validating, sender, e); 209 return; 210 } 211 double value; 212 if (!double.TryParse(targetValueTextBox.Text, out value)) { 213 e.Cancel = !targetValueTextBox.ReadOnly && targetValueTextBox.Enabled; 214 errorProvider.SetError(targetValueTextBox, "Please enter a valid integer number."); 215 } else { 216 Content.TargetValue = value; 217 e.Cancel = false; 218 errorProvider.SetError(targetValueTextBox, null); 219 } 220 } 221 222 private void maximizationCheckBox_CheckedChanged(object sender, EventArgs e) { 223 if (SuppressEvents) return; 224 if (InvokeRequired) { 225 Invoke((Action<object, EventArgs>)maximizationCheckBox_CheckedChanged, sender, e); 226 return; 227 } 228 Content.Maximization = maximizationCheckBox.Checked; 229 } 230 231 private void terminationComboBox_SelectedIndexChanged(object sender, EventArgs e) { 232 if (SuppressEvents) return; 233 if (InvokeRequired) { 234 Invoke((Action<object, EventArgs>)terminationComboBox_SelectedIndexChanged, sender, e); 235 return; 236 } 237 Content.TerminationCriterium = (TerminationCriterium)terminationComboBox.SelectedItem; 238 } 239 240 private void storeBestSolutionCheckBox_CheckedChanged(object sender, EventArgs e) { 241 if (SuppressEvents) return; 242 if (InvokeRequired) { 243 Invoke((Action<object, EventArgs>)storeBestSolutionCheckBox_CheckedChanged, sender, e); 244 return; 245 } 246 Content.StoreSolutionInRun = storeBestSolutionCheckBox.Checked; 247 } 248 249 private void newAlgorithmButton_Click(object sender, EventArgs e) { 250 if (algorithmTypeSelectorDialog == null) { 251 algorithmTypeSelectorDialog = new TypeSelectorDialog { Caption = "Select Algorithm" }; 252 algorithmTypeSelectorDialog.TypeSelector.Caption = "Available Algorithms"; 253 algorithmTypeSelectorDialog.TypeSelector.Configure(typeof(IAlgorithm) 187 private void newProblemButton_Click(object sender, EventArgs e) { 188 if (problemTypeSelectorDialog == null) { 189 problemTypeSelectorDialog = new TypeSelectorDialog { Caption = "Select Problem" }; 190 problemTypeSelectorDialog.TypeSelector.Caption = "Available Problems"; 191 problemTypeSelectorDialog.TypeSelector.Configure(typeof(IProblem) 254 192 , showNotInstantiableTypes: false, showGenericTypes: false); 255 193 } 256 if ( algorithmTypeSelectorDialog.ShowDialog(this) == DialogResult.OK) {194 if (problemTypeSelectorDialog.ShowDialog(this) == DialogResult.OK) { 257 195 try { 258 Content. Algorithm = (IAlgorithm)algorithmTypeSelectorDialog.TypeSelector.CreateInstanceOfSelectedType();196 Content.Problem = (IProblem)problemTypeSelectorDialog.TypeSelector.CreateInstanceOfSelectedType(); 259 197 } catch (Exception ex) { 260 198 ErrorHandling.ShowErrorDialog(this, ex); … … 263 201 } 264 202 265 private void open AlgorithmButton_Click(object sender, EventArgs e) {266 openFileDialog.Title = "Open Algorithm";203 private void openProblemButton_Click(object sender, EventArgs e) { 204 openFileDialog.Title = "Open Problem"; 267 205 if (openFileDialog.ShowDialog(this) == DialogResult.OK) { 268 new AlgorithmButton.Enabled = openAlgorithmButton.Enabled = false;269 algorithmViewHost.Enabled = false;206 newProblemButton.Enabled = openProblemButton.Enabled = false; 207 problemViewHost.Enabled = false; 270 208 271 209 ContentManager.LoadAsync(openFileDialog.FileName, delegate(IStorableContent content, Exception error) { 272 210 try { 273 211 if (error != null) throw error; 274 var algorithm = content as IAlgorithm; 275 if (algorithm == null) 276 MessageBox.Show(this, "The selected file does not contain an algorithm.", "Invalid File", MessageBoxButtons.OK, MessageBoxIcon.Error); 277 else 278 Content.Algorithm = algorithm; 212 var problem = content as IProblem; 213 if (problem == null) { 214 var algorithm = content as IAlgorithm; 215 if (algorithm == null || algorithm.Problem == null) 216 MessageBox.Show(this, "The selected file is not a problem, nor an algorithm with a problem.", "Invalid File", MessageBoxButtons.OK, MessageBoxIcon.Error); 217 else Content.Problem = algorithm.Problem; 218 } else 219 Content.Problem = problem; 279 220 } catch (Exception ex) { 280 221 ErrorHandling.ShowErrorDialog(this, ex); 281 222 } finally { 282 223 Invoke(new Action(delegate() { 283 algorithmViewHost.Enabled = true;284 new AlgorithmButton.Enabled = openAlgorithmButton.Enabled = true;224 problemViewHost.Enabled = true; 225 newProblemButton.Enabled = openProblemButton.Enabled = true; 285 226 })); 286 227 } … … 289 230 } 290 231 291 private void algorithmTabPage_DragEnterOver(object sender, DragEventArgs e) {232 private void problemTabPage_DragEnterOver(object sender, DragEventArgs e) { 292 233 e.Effect = DragDropEffects.None; 293 var alg = e.Data.GetData(Constants.DragDropDataFormat) as IAlgorithm; 294 if (!ReadOnly && alg != null) { 295 if (!typeof(ISingleObjectiveHeuristicOptimizationProblem).IsAssignableFrom(alg.ProblemType)) 296 return; 234 var prob = e.Data.GetData(Constants.DragDropDataFormat) as IProblem; 235 if (!ReadOnly && prob != null) { 297 236 if ((e.KeyState & 32) == 32) e.Effect = DragDropEffects.Link; // ALT key 298 237 else if ((e.KeyState & 4) == 4) e.Effect = DragDropEffects.Move; // SHIFT key … … 303 242 } 304 243 305 private void algorithmTabPage_DragDrop(object sender, DragEventArgs e) {244 private void problemTabPage_DragDrop(object sender, DragEventArgs e) { 306 245 if (e.Effect != DragDropEffects.None) { 307 var algorithm = e.Data.GetData(Constants.DragDropDataFormat) as IAlgorithm; 308 if (e.Effect.HasFlag(DragDropEffects.Copy)) algorithm = (IAlgorithm)algorithm.Clone(); 309 Content.Algorithm = algorithm; 310 } 246 var prob = e.Data.GetData(Constants.DragDropDataFormat) as IProblem; 247 if (e.Effect.HasFlag(DragDropEffects.Copy)) prob = (IProblem)prob.Clone(); 248 Content.Problem = prob; 249 } 250 } 251 252 private void suggestedInstancesComboBox_SelectedIndexChanged(object sender, EventArgs e) { 253 if (SuppressEvents) return; 254 if (InvokeRequired) { Invoke((Action<object, EventArgs>)suggestedInstancesComboBox_SelectedIndexChanged, sender, e); return; } 255 if (suggestedInstancesComboBox.SelectedIndex >= 0) 256 algorithmViewHost.Content = (IAlgorithm)suggestedInstancesComboBox.SelectedItem; 257 else algorithmViewHost.Content = null; 311 258 } 312 259 #endregion -
branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem.Views/3.3/HeuristicLab.OptimizationExpertSystem.Views-3.3.csproj
r12842 r12847 125 125 <Reference Include="System" /> 126 126 <Reference Include="System.Core" /> 127 <Reference Include="System.Drawing" /> 128 <Reference Include="System.Windows.Forms" /> 127 129 <Reference Include="System.Xml.Linq" /> 128 130 <Reference Include="System.Data.DataSetExtensions" /> … … 132 134 </ItemGroup> 133 135 <ItemGroup> 136 <Compile Include="ExpertSystemOptimizerView.cs"> 137 <SubType>UserControl</SubType> 138 </Compile> 139 <Compile Include="ExpertSystemOptimizerView.Designer.cs"> 140 <DependentUpon>ExpertSystemOptimizerView.cs</DependentUpon> 141 </Compile> 134 142 <Compile Include="Plugin.cs" /> 135 143 <None Include="Properties\AssemblyInfo.cs.frame" /> -
branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem.Views/3.3/Plugin.cs.frame
r12842 r12847 28 28 [Plugin("HeuristicLab.OptimizationExpertSystem.Views", "3.3.12.$WCREV$")] 29 29 [PluginFile("HeuristicLab.OptimizationExpertSystem.Views-3.3.dll", PluginFileType.Assembly)] 30 [PluginDependency("HeuristicLab.Analysis", "3. 7.0")]30 [PluginDependency("HeuristicLab.Analysis", "3.3")] 31 31 [PluginDependency("HeuristicLab.Collections", "3.3")] 32 32 [PluginDependency("HeuristicLab.Common", "3.3")] -
branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem/3.3/ExpertSystemOptimizer.cs
r12842 r12847 41 41 public static new Image StaticItemImage { 42 42 get { return VSImageLibrary.Library; } 43 } 44 45 [Storable] 46 private int maximumEvaluations; 47 public int MaximumEvaluations { 48 get { return maximumEvaluations; } 49 set { 50 if (maximumEvaluations == value) return; 51 maximumEvaluations = value; 52 OnPropertyChanged("MaximumEvaluations"); 53 } 43 54 } 44 55 … … 104 115 } 105 116 117 [Storable] 118 private ItemList<IAlgorithm> suggestedInstances; 119 private ReadOnlyItemList<IAlgorithm> readOnlySuggestedInstances; 120 public ReadOnlyItemList<IAlgorithm> SuggestedInstances { 121 get { return readOnlySuggestedInstances; } 122 } 123 106 124 public IEnumerable<IOptimizer> NestedOptimizers { 107 get { yield break; }125 get { return SuggestedInstances; } 108 126 } 109 127 … … 117 135 knowledgeBase = cloner.Clone(original.knowledgeBase); 118 136 problem = cloner.Clone(original.problem); 137 suggestedInstances = cloner.Clone(original.suggestedInstances); 138 readOnlySuggestedInstances = suggestedInstances.AsReadOnly(); 119 139 } 120 140 public ExpertSystemOptimizer() { 121 141 Runs = new RunCollection(); 142 KnowledgeBase = new RunCollection(); 143 suggestedInstances = new ItemList<IAlgorithm>(); 144 readOnlySuggestedInstances = suggestedInstances.AsReadOnly(); 122 145 ExecutionState = ExecutionState.Stopped; 123 146 ExecutionTime = TimeSpan.Zero; … … 126 149 public override IDeepCloneable Clone(Cloner cloner) { 127 150 return new ExpertSystemOptimizer(this, cloner); 151 } 152 153 [StorableHook(HookType.AfterDeserialization)] 154 private void AfterDeserialization() { 155 readOnlySuggestedInstances = suggestedInstances.AsReadOnly(); 128 156 } 129 157 -
branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem/3.3/Plugin.cs.frame
r12842 r12847 28 28 [Plugin("HeuristicLab.OptimizationExpertSystem", "3.3.12.$WCREV$")] 29 29 [PluginFile("HeuristicLab.OptimizationExpertSystem-3.3.dll", PluginFileType.Assembly)] 30 [PluginDependency("HeuristicLab.Analysis", "3. 7.0")]30 [PluginDependency("HeuristicLab.Analysis", "3.3")] 31 31 [PluginDependency("HeuristicLab.Collections", "3.3")] 32 32 [PluginDependency("HeuristicLab.Common", "3.3")]
Note: See TracChangeset
for help on using the changeset viewer.