Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportDialog.Designer.cs	(revision 15973)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportDialog.Designer.cs	(revision 15973)
@@ -0,0 +1,200 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
+  partial class ClassificationImportDialog {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClassificationImportDialog));
+      this.TargetVariableComboBox = new System.Windows.Forms.ComboBox();
+      this.TargetVariableLabel = new System.Windows.Forms.Label();
+      this.TargetVariableInfoLabel = new System.Windows.Forms.Label();
+      this.UniformDistributionOfClassesCheckbox = new System.Windows.Forms.CheckBox();
+      this.UniformDistributClassValuesInfoLabel = new System.Windows.Forms.Label();
+      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
+      this.CSVSettingsGroupBox.SuspendLayout();
+      this.ProblemDataSettingsGroupBox.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // ShuffleDataCheckbox
+      // 
+      this.ShuffleDataCheckbox.CheckedChanged += new System.EventHandler(this.ShuffleDataCheckbox_CheckedChanged);
+      // 
+      // OkButton
+      // 
+      this.OkButton.Location = new System.Drawing.Point(303, 482);
+      // 
+      // TrainingTestTrackBar
+      // 
+      this.TrainingTestTrackBar.Location = new System.Drawing.Point(6, 70);
+      // 
+      // TestLabel
+      // 
+      this.TestLabel.Location = new System.Drawing.Point(303, 95);
+      // 
+      // TrainingLabel
+      // 
+      this.TrainingLabel.Location = new System.Drawing.Point(76, 95);
+      // 
+      // CancellationButton
+      // 
+      this.CancellationButton.Location = new System.Drawing.Point(384, 482);
+      // 
+      // ProblemDataSettingsGroupBox
+      // 
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.UniformDistributClassValuesInfoLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableInfoLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.UniformDistributionOfClassesCheckbox);
+      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 285);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.UniformDistributionOfClassesCheckbox, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableComboBox, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableInfoLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.UniformDistributClassValuesInfoLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingTestTrackBar, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TestLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffelInfoLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffleDataCheckbox, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewDatasetMatrix, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ErrorTextBox, 0);
+      // 
+      // ErrorTextBox
+      // 
+      this.ErrorTextBox.Location = new System.Drawing.Point(6, 19);
+      this.ErrorTextBox.Size = new System.Drawing.Size(435, 96);
+      // 
+      // PreviewDatasetMatrix
+      // 
+      this.PreviewDatasetMatrix.Location = new System.Drawing.Point(6, 134);
+      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 145);
+      // 
+      // PreviewLabel
+      // 
+      this.PreviewLabel.Location = new System.Drawing.Point(6, 118);
+      // 
+      // TargetVariableComboBox
+      // 
+      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.TargetVariableComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.TargetVariableComboBox.FormattingEnabled = true;
+      this.TargetVariableComboBox.Location = new System.Drawing.Point(94, 43);
+      this.TargetVariableComboBox.Name = "TargetVariableComboBox";
+      this.TargetVariableComboBox.Size = new System.Drawing.Size(317, 21);
+      this.TargetVariableComboBox.TabIndex = 10;
+      // 
+      // TargetVariableLabel
+      // 
+      this.TargetVariableLabel.AutoSize = true;
+      this.TargetVariableLabel.Location = new System.Drawing.Point(6, 46);
+      this.TargetVariableLabel.Name = "TargetVariableLabel";
+      this.TargetVariableLabel.Size = new System.Drawing.Size(82, 13);
+      this.TargetVariableLabel.TabIndex = 20;
+      this.TargetVariableLabel.Text = "Target Variable:";
+      // 
+      // TargetVariableInfoLabel
+      // 
+      this.TargetVariableInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.TargetVariableInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.TargetVariableInfoLabel.Location = new System.Drawing.Point(421, 45);
+      this.TargetVariableInfoLabel.Name = "TargetVariableInfoLabel";
+      this.TargetVariableInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.TargetVariableInfoLabel.TabIndex = 21;
+      this.TargetVariableInfoLabel.Tag = "Select the target variable of the csv file.";
+      this.ToolTip.SetToolTip(this.TargetVariableInfoLabel, (string)this.TargetVariableInfoLabel.Tag);
+      this.TargetVariableInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      // 
+      // UniformDistributionOfClassesCheckbox
+      // 
+      this.UniformDistributionOfClassesCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.UniformDistributionOfClassesCheckbox.AutoSize = true;
+      this.UniformDistributionOfClassesCheckbox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
+      this.UniformDistributionOfClassesCheckbox.Enabled = false;
+      this.UniformDistributionOfClassesCheckbox.Location = new System.Drawing.Point(259, 19);
+      this.UniformDistributionOfClassesCheckbox.Name = "UniformDistributionOfClassesCheckbox";
+      this.UniformDistributionOfClassesCheckbox.Size = new System.Drawing.Size(152, 17);
+      this.UniformDistributionOfClassesCheckbox.TabIndex = 22;
+      this.UniformDistributionOfClassesCheckbox.Text = "Uniformly distribute classes";
+      this.UniformDistributionOfClassesCheckbox.UseVisualStyleBackColor = true;
+      // 
+      // UniformDistributClassValuesInfoLabel
+      // 
+      this.UniformDistributClassValuesInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.UniformDistributClassValuesInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.UniformDistributClassValuesInfoLabel.Location = new System.Drawing.Point(421, 20);
+      this.UniformDistributClassValuesInfoLabel.Name = "UniformDistributClassValuesInfoLabel";
+      this.UniformDistributClassValuesInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.UniformDistributClassValuesInfoLabel.TabIndex = 23;
+      this.UniformDistributClassValuesInfoLabel.Tag = "Check, if classes should be distributed uniformly between training and test. This" +
+    " can change the distribution of training and test a little bit.";
+      this.ToolTip.SetToolTip(this.UniformDistributClassValuesInfoLabel, (string)this.UniformDistributClassValuesInfoLabel.Tag);
+      this.UniformDistributClassValuesInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      // 
+      // ClassificationImportDialog
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.ClientSize = new System.Drawing.Size(471, 517);
+      this.Name = "ClassificationImportDialog";
+      this.Text = "Classification CSV Import";
+      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).EndInit();
+      this.CSVSettingsGroupBox.ResumeLayout(false);
+      this.CSVSettingsGroupBox.PerformLayout();
+      this.ProblemDataSettingsGroupBox.ResumeLayout(false);
+      this.ProblemDataSettingsGroupBox.PerformLayout();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+    #endregion
+
+    protected System.Windows.Forms.ComboBox TargetVariableComboBox;
+    protected System.Windows.Forms.Label TargetVariableLabel;
+    protected System.Windows.Forms.Label TargetVariableInfoLabel;
+    protected System.Windows.Forms.Label UniformDistributClassValuesInfoLabel;
+    protected System.Windows.Forms.CheckBox UniformDistributionOfClassesCheckbox;
+  }
+}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportDialog.cs	(revision 15973)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportDialog.cs	(revision 15973)
@@ -0,0 +1,64 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Problems.DataAnalysis;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
+
+  public partial class ClassificationImportDialog : DataAnalysisImportDialog {
+    public new ClassificationImportType ImportType {
+      get {
+        return new ClassificationImportType() {
+          Shuffle = ShuffleDataCheckbox.Checked,
+          TrainingPercentage = TrainingTestTrackBar.Value,
+          TargetVariable = (String)TargetVariableComboBox.SelectedValue,
+          UniformlyDistributeClasses = UniformDistributionOfClassesCheckbox.Checked
+        };
+      }
+    }
+
+    public ClassificationImportDialog() {
+      InitializeComponent();
+    }
+
+    protected override void CheckAdditionalConstraints(TableFileParser csvParser) {
+      base.CheckAdditionalConstraints(csvParser);
+      SetPossibleTargetVariables();
+    }
+
+    protected void SetPossibleTargetVariables() {
+      var dataset = PreviewDatasetMatrix.Content as Dataset;
+      if (dataset != null) {
+        IEnumerable<string> possibleTargetVariables = ClassificationProblemData.CheckVariablesForPossibleTargetVariables(dataset);
+
+        // Remove " (Double)" at the end of the variable name (last 9 chars)
+        TargetVariableComboBox.DataSource = possibleTargetVariables.Select(x => x.Substring(0, x.Length - 9)).ToList();
+      }
+    }
+
+    private void ShuffleDataCheckbox_CheckedChanged(object sender, System.EventArgs e) {
+      UniformDistributionOfClassesCheckbox.Enabled = ShuffleDataCheckbox.Checked;
+    }
+  }
+}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportTypeDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportTypeDialog.Designer.cs	(revision 15651)
+++ 	(revision )
@@ -1,200 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-  partial class ClassificationImportTypeDialog {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClassificationImportTypeDialog));
-      this.TargetVariableComboBox = new System.Windows.Forms.ComboBox();
-      this.TargetVariableLabel = new System.Windows.Forms.Label();
-      this.TargetVariableInfoLabel = new System.Windows.Forms.Label();
-      this.UniformDistributionOfClassesCheckbox = new System.Windows.Forms.CheckBox();
-      this.UniformDistributClassValuesInfoLabel = new System.Windows.Forms.Label();
-      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
-      this.CSVSettingsGroupBox.SuspendLayout();
-      this.ProblemDataSettingsGroupBox.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // ShuffleDataCheckbox
-      // 
-      this.ShuffleDataCheckbox.CheckedChanged += new System.EventHandler(this.ShuffleDataCheckbox_CheckedChanged);
-      // 
-      // OkButton
-      // 
-      this.OkButton.Location = new System.Drawing.Point(303, 482);
-      // 
-      // TrainingTestTrackBar
-      // 
-      this.TrainingTestTrackBar.Location = new System.Drawing.Point(6, 70);
-      // 
-      // TestLabel
-      // 
-      this.TestLabel.Location = new System.Drawing.Point(303, 95);
-      // 
-      // TrainingLabel
-      // 
-      this.TrainingLabel.Location = new System.Drawing.Point(76, 95);
-      // 
-      // CancelationButton
-      // 
-      this.CancelationButton.Location = new System.Drawing.Point(384, 482);
-      // 
-      // ProblemDataSettingsGroupBox
-      // 
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.UniformDistributClassValuesInfoLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableInfoLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.UniformDistributionOfClassesCheckbox);
-      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 312);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.UniformDistributionOfClassesCheckbox, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableComboBox, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableInfoLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.UniformDistributClassValuesInfoLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingTestTrackBar, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TestLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffelInfoLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffleDataCheckbox, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewDatasetMatrix, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ErrorTextBox, 0);
-      // 
-      // ErrorTextBox
-      // 
-      this.ErrorTextBox.Location = new System.Drawing.Point(6, 19);
-      this.ErrorTextBox.Size = new System.Drawing.Size(435, 96);
-      // 
-      // PreviewDatasetMatrix
-      // 
-      this.PreviewDatasetMatrix.Location = new System.Drawing.Point(6, 134);
-      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 172);
-      // 
-      // PreviewLabel
-      // 
-      this.PreviewLabel.Location = new System.Drawing.Point(6, 118);
-      // 
-      // TargetVariableComboBox
-      // 
-      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.TargetVariableComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.TargetVariableComboBox.FormattingEnabled = true;
-      this.TargetVariableComboBox.Location = new System.Drawing.Point(94, 43);
-      this.TargetVariableComboBox.Name = "TargetVariableComboBox";
-      this.TargetVariableComboBox.Size = new System.Drawing.Size(317, 21);
-      this.TargetVariableComboBox.TabIndex = 10;
-      // 
-      // TargetVariableLabel
-      // 
-      this.TargetVariableLabel.AutoSize = true;
-      this.TargetVariableLabel.Location = new System.Drawing.Point(6, 46);
-      this.TargetVariableLabel.Name = "TargetVariableLabel";
-      this.TargetVariableLabel.Size = new System.Drawing.Size(82, 13);
-      this.TargetVariableLabel.TabIndex = 20;
-      this.TargetVariableLabel.Text = "Target Variable:";
-      // 
-      // TargetVariableInfoLabel
-      // 
-      this.TargetVariableInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.TargetVariableInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
-      this.TargetVariableInfoLabel.Location = new System.Drawing.Point(421, 45);
-      this.TargetVariableInfoLabel.Name = "TargetVariableInfoLabel";
-      this.TargetVariableInfoLabel.Size = new System.Drawing.Size(16, 16);
-      this.TargetVariableInfoLabel.TabIndex = 21;
-      this.TargetVariableInfoLabel.Tag = "Select the target variable of the csv file.";
-      this.ToolTip.SetToolTip(this.TargetVariableInfoLabel, (string)this.TargetVariableInfoLabel.Tag);
-      this.TargetVariableInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
-      // 
-      // UniformDistributionOfClassesCheckbox
-      // 
-      this.UniformDistributionOfClassesCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.UniformDistributionOfClassesCheckbox.AutoSize = true;
-      this.UniformDistributionOfClassesCheckbox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
-      this.UniformDistributionOfClassesCheckbox.Enabled = false;
-      this.UniformDistributionOfClassesCheckbox.Location = new System.Drawing.Point(259, 19);
-      this.UniformDistributionOfClassesCheckbox.Name = "UniformDistributionOfClassesCheckbox";
-      this.UniformDistributionOfClassesCheckbox.Size = new System.Drawing.Size(152, 17);
-      this.UniformDistributionOfClassesCheckbox.TabIndex = 22;
-      this.UniformDistributionOfClassesCheckbox.Text = "Uniformly distribute classes";
-      this.UniformDistributionOfClassesCheckbox.UseVisualStyleBackColor = true;
-      // 
-      // UniformDistributClassValuesInfoLabel
-      // 
-      this.UniformDistributClassValuesInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.UniformDistributClassValuesInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
-      this.UniformDistributClassValuesInfoLabel.Location = new System.Drawing.Point(421, 20);
-      this.UniformDistributClassValuesInfoLabel.Name = "UniformDistributClassValuesInfoLabel";
-      this.UniformDistributClassValuesInfoLabel.Size = new System.Drawing.Size(16, 16);
-      this.UniformDistributClassValuesInfoLabel.TabIndex = 23;
-      this.UniformDistributClassValuesInfoLabel.Tag = "Check, if classes should be distributed uniformly between training and test. This" +
-    " can change the distribution of training and test a little bit.";
-      this.ToolTip.SetToolTip(this.UniformDistributClassValuesInfoLabel, (string)this.UniformDistributClassValuesInfoLabel.Tag);
-      this.UniformDistributClassValuesInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
-      // 
-      // ClassificationImportTypeDialog
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(471, 517);
-      this.Name = "ClassificationImportTypeDialog";
-      this.Text = "Classification CSV Import";
-      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).EndInit();
-      this.CSVSettingsGroupBox.ResumeLayout(false);
-      this.CSVSettingsGroupBox.PerformLayout();
-      this.ProblemDataSettingsGroupBox.ResumeLayout(false);
-      this.ProblemDataSettingsGroupBox.PerformLayout();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-    #endregion
-
-    protected System.Windows.Forms.ComboBox TargetVariableComboBox;
-    protected System.Windows.Forms.Label TargetVariableLabel;
-    protected System.Windows.Forms.Label TargetVariableInfoLabel;
-    protected System.Windows.Forms.Label UniformDistributClassValuesInfoLabel;
-    protected System.Windows.Forms.CheckBox UniformDistributionOfClassesCheckbox;
-  }
-}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportTypeDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportTypeDialog.cs	(revision 15651)
+++ 	(revision )
@@ -1,64 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using HeuristicLab.Problems.DataAnalysis;
-
-namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-
-  public partial class ClassificationImportTypeDialog : DataAnalysisImportTypeDialog {
-    public new ClassificationImportType ImportType {
-      get {
-        return new ClassificationImportType() {
-          Shuffle = ShuffleDataCheckbox.Checked,
-          TrainingPercentage = TrainingTestTrackBar.Value,
-          TargetVariable = (String)TargetVariableComboBox.SelectedValue,
-          UniformlyDistributeClasses = UniformDistributionOfClassesCheckbox.Checked
-        };
-      }
-    }
-
-    public ClassificationImportTypeDialog() {
-      InitializeComponent();
-    }
-
-    protected override void CheckAdditionalConstraints(TableFileParser csvParser) {
-      base.CheckAdditionalConstraints(csvParser);
-      SetPossibleTargetVariables();
-    }
-
-    protected void SetPossibleTargetVariables() {
-      var dataset = PreviewDatasetMatrix.Content as Dataset;
-      if (dataset != null) {
-        IEnumerable<string> possibleTargetVariables = ClassificationProblemData.CheckVariablesForPossibleTargetVariables(dataset);
-
-        // Remove " (Double)" at the end of the variable name (last 9 chars)
-        TargetVariableComboBox.DataSource = possibleTargetVariables.Select(x => x.Substring(0, x.Length - 9)).ToList();
-      }
-    }
-
-    private void ShuffleDataCheckbox_CheckedChanged(object sender, System.EventArgs e) {
-      UniformDistributionOfClassesCheckbox.Enabled = ShuffleDataCheckbox.Checked;
-    }
-  }
-}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationInstanceProviderView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationInstanceProviderView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationInstanceProviderView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationInstanceProviderView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationInstanceProviderView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationInstanceProviderView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -41,5 +41,5 @@
 
     protected override void importButton_Click(object sender, EventArgs e) {
-      var importTypeDialog = new ClassificationImportTypeDialog();
+      var importTypeDialog = new ClassificationImportDialog();
       if (importTypeDialog.ShowDialog() == DialogResult.OK) {
         IClassificationProblemData instance = null;
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClusteringInstanceProviderView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClusteringInstanceProviderView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClusteringInstanceProviderView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClusteringInstanceProviderView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClusteringInstanceProviderView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClusteringInstanceProviderView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -41,5 +41,5 @@
 
     protected override void importButton_Click(object sender, EventArgs e) {
-      var importTypeDialog = new DataAnalysisImportTypeDialog();
+      var importTypeDialog = new DataAnalysisImportDialog();
       if (importTypeDialog.ShowDialog() == DialogResult.OK) {
         IClusteringProblemData instance = null;
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportDialog.Designer.cs	(revision 15973)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportDialog.Designer.cs	(revision 15973)
@@ -0,0 +1,483 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
+  partial class DataAnalysisImportDialog {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
+      this.ShuffleDataCheckbox = new System.Windows.Forms.CheckBox();
+      this.OkButton = new System.Windows.Forms.Button();
+      this.TrainingTestTrackBar = new System.Windows.Forms.TrackBar();
+      this.TestLabel = new System.Windows.Forms.Label();
+      this.TrainingLabel = new System.Windows.Forms.Label();
+      this.CancellationButton = new System.Windows.Forms.Button();
+      this.OpenFileButton = new System.Windows.Forms.Button();
+      this.ProblemFileLabel = new System.Windows.Forms.Label();
+      this.ProblemTextBox = new System.Windows.Forms.TextBox();
+      this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
+      this.DateTimeFormatComboBox = new System.Windows.Forms.ComboBox();
+      this.DecimalSeparatorComboBox = new System.Windows.Forms.ComboBox();
+      this.DateTimeFormatLabel = new System.Windows.Forms.Label();
+      this.DecimalSeperatorLabel = new System.Windows.Forms.Label();
+      this.SeparatorLabel = new System.Windows.Forms.Label();
+      this.SeparatorComboBox = new System.Windows.Forms.ComboBox();
+      this.CSVSettingsGroupBox = new System.Windows.Forms.GroupBox();
+      this.EncodingInfoLabel = new System.Windows.Forms.Label();
+      this.EncodingLabel = new System.Windows.Forms.Label();
+      this.EncodingComboBox = new System.Windows.Forms.ComboBox();
+      this.CheckboxColumnNames = new System.Windows.Forms.CheckBox();
+      this.DateTimeFormatInfoLabel = new System.Windows.Forms.Label();
+      this.DecimalSeparatorInfoLabel = new System.Windows.Forms.Label();
+      this.SeparatorInfoLabel = new System.Windows.Forms.Label();
+      this.ProblemDataSettingsGroupBox = new System.Windows.Forms.GroupBox();
+      this.ErrorTextBox = new System.Windows.Forms.TextBox();
+      this.ShuffelInfoLabel = new System.Windows.Forms.Label();
+      this.PreviewLabel = new System.Windows.Forms.Label();
+      this.PreviewDatasetMatrix = new HeuristicLab.Data.Views.StringConvertibleMatrixView();
+      this.ToolTip = new System.Windows.Forms.ToolTip(this.components);
+      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
+      this.CSVSettingsGroupBox.SuspendLayout();
+      this.ProblemDataSettingsGroupBox.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // ShuffleDataCheckbox
+      // 
+      this.ShuffleDataCheckbox.AutoSize = true;
+      this.ShuffleDataCheckbox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
+      this.ShuffleDataCheckbox.Location = new System.Drawing.Point(9, 20);
+      this.ShuffleDataCheckbox.Name = "ShuffleDataCheckbox";
+      this.ShuffleDataCheckbox.Size = new System.Drawing.Size(91, 17);
+      this.ShuffleDataCheckbox.TabIndex = 1;
+      this.ShuffleDataCheckbox.Text = "Shuffle Data?";
+      this.ShuffleDataCheckbox.UseVisualStyleBackColor = true;
+      // 
+      // OkButton
+      // 
+      this.OkButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+      this.OkButton.DialogResult = System.Windows.Forms.DialogResult.OK;
+      this.OkButton.Enabled = false;
+      this.OkButton.Location = new System.Drawing.Point(303, 422);
+      this.OkButton.Name = "OkButton";
+      this.OkButton.Size = new System.Drawing.Size(75, 23);
+      this.OkButton.TabIndex = 2;
+      this.OkButton.Text = "&Ok";
+      this.OkButton.UseVisualStyleBackColor = true;
+      // 
+      // TrainingTestTrackBar
+      // 
+      this.TrainingTestTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.TrainingTestTrackBar.Location = new System.Drawing.Point(6, 43);
+      this.TrainingTestTrackBar.Maximum = 100;
+      this.TrainingTestTrackBar.Minimum = 1;
+      this.TrainingTestTrackBar.Name = "TrainingTestTrackBar";
+      this.TrainingTestTrackBar.Size = new System.Drawing.Size(435, 45);
+      this.TrainingTestTrackBar.TabIndex = 4;
+      this.TrainingTestTrackBar.TickStyle = System.Windows.Forms.TickStyle.None;
+      this.TrainingTestTrackBar.Value = 66;
+      this.TrainingTestTrackBar.ValueChanged += new System.EventHandler(this.TrainingTestTrackBar_ValueChanged);
+      // 
+      // TestLabel
+      // 
+      this.TestLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.TestLabel.AutoSize = true;
+      this.TestLabel.Location = new System.Drawing.Point(303, 68);
+      this.TestLabel.Name = "TestLabel";
+      this.TestLabel.Size = new System.Drawing.Size(57, 13);
+      this.TestLabel.TabIndex = 6;
+      this.TestLabel.Text = "Test: 34 %";
+      // 
+      // TrainingLabel
+      // 
+      this.TrainingLabel.AutoSize = true;
+      this.TrainingLabel.Location = new System.Drawing.Point(76, 68);
+      this.TrainingLabel.Name = "TrainingLabel";
+      this.TrainingLabel.Size = new System.Drawing.Size(74, 13);
+      this.TrainingLabel.TabIndex = 5;
+      this.TrainingLabel.Text = "Training: 66 %";
+      // 
+      // CancellationButton
+      // 
+      this.CancellationButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+      this.CancellationButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+      this.CancellationButton.Location = new System.Drawing.Point(384, 422);
+      this.CancellationButton.Name = "CancellationButton";
+      this.CancellationButton.Size = new System.Drawing.Size(75, 23);
+      this.CancellationButton.TabIndex = 3;
+      this.CancellationButton.Text = "&Cancel";
+      this.CancellationButton.UseVisualStyleBackColor = true;
+      // 
+      // OpenFileButton
+      // 
+      this.OpenFileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.OpenFileButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Open;
+      this.OpenFileButton.Location = new System.Drawing.Point(429, 3);
+      this.OpenFileButton.Name = "OpenFileButton";
+      this.OpenFileButton.Size = new System.Drawing.Size(24, 24);
+      this.OpenFileButton.TabIndex = 8;
+      this.OpenFileButton.UseVisualStyleBackColor = true;
+      this.OpenFileButton.Click += new System.EventHandler(this.OpenFileButtonClick);
+      // 
+      // ProblemFileLabel
+      // 
+      this.ProblemFileLabel.AutoSize = true;
+      this.ProblemFileLabel.Location = new System.Drawing.Point(18, 9);
+      this.ProblemFileLabel.Name = "ProblemFileLabel";
+      this.ProblemFileLabel.Size = new System.Drawing.Size(67, 13);
+      this.ProblemFileLabel.TabIndex = 6;
+      this.ProblemFileLabel.Text = "Problem File:";
+      // 
+      // ProblemTextBox
+      // 
+      this.ProblemTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.ProblemTextBox.Location = new System.Drawing.Point(91, 6);
+      this.ProblemTextBox.Name = "ProblemTextBox";
+      this.ProblemTextBox.ReadOnly = true;
+      this.ProblemTextBox.Size = new System.Drawing.Size(332, 20);
+      this.ProblemTextBox.TabIndex = 9;
+      // 
+      // openFileDialog
+      // 
+      this.openFileDialog.Filter = "CSV files (*.csv)|*.csv|Text files (*.txt)|*.txt|All files (*.*)|*.*";
+      // 
+      // DateTimeFormatComboBox
+      // 
+      this.DateTimeFormatComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.DateTimeFormatComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.DateTimeFormatComboBox.Enabled = false;
+      this.DateTimeFormatComboBox.FormattingEnabled = true;
+      this.DateTimeFormatComboBox.Location = new System.Drawing.Point(111, 73);
+      this.DateTimeFormatComboBox.Name = "DateTimeFormatComboBox";
+      this.DateTimeFormatComboBox.Size = new System.Drawing.Size(300, 21);
+      this.DateTimeFormatComboBox.TabIndex = 15;
+      this.DateTimeFormatComboBox.SelectionChangeCommitted += new System.EventHandler(this.CSVFormatComboBoxSelectionChangeCommitted);
+      // 
+      // DecimalSeparatorComboBox
+      // 
+      this.DecimalSeparatorComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.DecimalSeparatorComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.DecimalSeparatorComboBox.Enabled = false;
+      this.DecimalSeparatorComboBox.FormattingEnabled = true;
+      this.DecimalSeparatorComboBox.Location = new System.Drawing.Point(111, 46);
+      this.DecimalSeparatorComboBox.Name = "DecimalSeparatorComboBox";
+      this.DecimalSeparatorComboBox.Size = new System.Drawing.Size(300, 21);
+      this.DecimalSeparatorComboBox.TabIndex = 14;
+      this.DecimalSeparatorComboBox.SelectionChangeCommitted += new System.EventHandler(this.CSVFormatComboBoxSelectionChangeCommitted);
+      // 
+      // DateTimeFormatLabel
+      // 
+      this.DateTimeFormatLabel.AutoSize = true;
+      this.DateTimeFormatLabel.Location = new System.Drawing.Point(6, 76);
+      this.DateTimeFormatLabel.Name = "DateTimeFormatLabel";
+      this.DateTimeFormatLabel.Size = new System.Drawing.Size(91, 13);
+      this.DateTimeFormatLabel.TabIndex = 13;
+      this.DateTimeFormatLabel.Text = "DateTime Format:";
+      // 
+      // DecimalSeperatorLabel
+      // 
+      this.DecimalSeperatorLabel.AutoSize = true;
+      this.DecimalSeperatorLabel.Location = new System.Drawing.Point(6, 49);
+      this.DecimalSeperatorLabel.Name = "DecimalSeperatorLabel";
+      this.DecimalSeperatorLabel.Size = new System.Drawing.Size(97, 13);
+      this.DecimalSeperatorLabel.TabIndex = 12;
+      this.DecimalSeperatorLabel.Text = "Decimal Separator:";
+      // 
+      // SeparatorLabel
+      // 
+      this.SeparatorLabel.AutoSize = true;
+      this.SeparatorLabel.Location = new System.Drawing.Point(6, 22);
+      this.SeparatorLabel.Name = "SeparatorLabel";
+      this.SeparatorLabel.Size = new System.Drawing.Size(56, 13);
+      this.SeparatorLabel.TabIndex = 11;
+      this.SeparatorLabel.Text = "Separator:";
+      // 
+      // SeparatorComboBox
+      // 
+      this.SeparatorComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.SeparatorComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.SeparatorComboBox.Enabled = false;
+      this.SeparatorComboBox.FormattingEnabled = true;
+      this.SeparatorComboBox.Location = new System.Drawing.Point(111, 19);
+      this.SeparatorComboBox.Name = "SeparatorComboBox";
+      this.SeparatorComboBox.Size = new System.Drawing.Size(300, 21);
+      this.SeparatorComboBox.TabIndex = 10;
+      this.SeparatorComboBox.SelectionChangeCommitted += new System.EventHandler(this.CSVFormatComboBoxSelectionChangeCommitted);
+      // 
+      // CSVSettingsGroupBox
+      // 
+      this.CSVSettingsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.CSVSettingsGroupBox.Controls.Add(this.EncodingInfoLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.EncodingLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.EncodingComboBox);
+      this.CSVSettingsGroupBox.Controls.Add(this.CheckboxColumnNames);
+      this.CSVSettingsGroupBox.Controls.Add(this.DateTimeFormatInfoLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.DecimalSeparatorInfoLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.SeparatorInfoLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.SeparatorComboBox);
+      this.CSVSettingsGroupBox.Controls.Add(this.DateTimeFormatComboBox);
+      this.CSVSettingsGroupBox.Controls.Add(this.SeparatorLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.DecimalSeparatorComboBox);
+      this.CSVSettingsGroupBox.Controls.Add(this.DecimalSeperatorLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.DateTimeFormatLabel);
+      this.CSVSettingsGroupBox.Location = new System.Drawing.Point(12, 32);
+      this.CSVSettingsGroupBox.Name = "CSVSettingsGroupBox";
+      this.CSVSettingsGroupBox.Size = new System.Drawing.Size(447, 153);
+      this.CSVSettingsGroupBox.TabIndex = 16;
+      this.CSVSettingsGroupBox.TabStop = false;
+      this.CSVSettingsGroupBox.Text = "CSV Settings";
+      // 
+      // EncodingInfoLabel
+      // 
+      this.EncodingInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.EncodingInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.EncodingInfoLabel.Location = new System.Drawing.Point(421, 102);
+      this.EncodingInfoLabel.Name = "EncodingInfoLabel";
+      this.EncodingInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.EncodingInfoLabel.TabIndex = 27;
+      this.EncodingInfoLabel.Tag = "Select the encoding the file was saved with.";
+      this.ToolTip.SetToolTip(this.EncodingInfoLabel, "Select the encoding the file was saved with.");
+      this.EncodingInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      // 
+      // EncodingLabel
+      // 
+      this.EncodingLabel.AutoSize = true;
+      this.EncodingLabel.Location = new System.Drawing.Point(6, 103);
+      this.EncodingLabel.Name = "EncodingLabel";
+      this.EncodingLabel.Size = new System.Drawing.Size(52, 13);
+      this.EncodingLabel.TabIndex = 26;
+      this.EncodingLabel.Text = "Encoding";
+      // 
+      // EncodingComboBox
+      // 
+      this.EncodingComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.EncodingComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.EncodingComboBox.Enabled = false;
+      this.EncodingComboBox.FormattingEnabled = true;
+      this.EncodingComboBox.Location = new System.Drawing.Point(111, 100);
+      this.EncodingComboBox.Name = "EncodingComboBox";
+      this.EncodingComboBox.Size = new System.Drawing.Size(300, 21);
+      this.EncodingComboBox.TabIndex = 25;
+      this.EncodingComboBox.SelectionChangeCommitted += new System.EventHandler(this.CSVFormatComboBoxSelectionChangeCommitted);
+      // 
+      // CheckboxColumnNames
+      // 
+      this.CheckboxColumnNames.AutoSize = true;
+      this.CheckboxColumnNames.Location = new System.Drawing.Point(9, 127);
+      this.CheckboxColumnNames.Name = "CheckboxColumnNames";
+      this.CheckboxColumnNames.Size = new System.Drawing.Size(144, 17);
+      this.CheckboxColumnNames.TabIndex = 24;
+      this.CheckboxColumnNames.Text = "Column names in first line";
+      this.CheckboxColumnNames.UseVisualStyleBackColor = true;
+      this.CheckboxColumnNames.CheckedChanged += new System.EventHandler(this.CheckboxColumnNames_CheckedChanged);
+      // 
+      // DateTimeFormatInfoLabel
+      // 
+      this.DateTimeFormatInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.DateTimeFormatInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.DateTimeFormatInfoLabel.Location = new System.Drawing.Point(421, 76);
+      this.DateTimeFormatInfoLabel.Name = "DateTimeFormatInfoLabel";
+      this.DateTimeFormatInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.DateTimeFormatInfoLabel.TabIndex = 23;
+      this.DateTimeFormatInfoLabel.Tag = "Select the date time format used in the csv file";
+      this.ToolTip.SetToolTip(this.DateTimeFormatInfoLabel, "Select the date time format used in the csv file");
+      this.DateTimeFormatInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      // 
+      // DecimalSeparatorInfoLabel
+      // 
+      this.DecimalSeparatorInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.DecimalSeparatorInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.DecimalSeparatorInfoLabel.Location = new System.Drawing.Point(421, 49);
+      this.DecimalSeparatorInfoLabel.Name = "DecimalSeparatorInfoLabel";
+      this.DecimalSeparatorInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.DecimalSeparatorInfoLabel.TabIndex = 22;
+      this.DecimalSeparatorInfoLabel.Tag = "Select the decimal separator used to for double values";
+      this.ToolTip.SetToolTip(this.DecimalSeparatorInfoLabel, "Select the decimal separator used to for double values");
+      this.DecimalSeparatorInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      // 
+      // SeparatorInfoLabel
+      // 
+      this.SeparatorInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.SeparatorInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.SeparatorInfoLabel.Location = new System.Drawing.Point(421, 22);
+      this.SeparatorInfoLabel.Name = "SeparatorInfoLabel";
+      this.SeparatorInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.SeparatorInfoLabel.TabIndex = 21;
+      this.SeparatorInfoLabel.Tag = "Select the separator used to separate columns in the csv file.";
+      this.ToolTip.SetToolTip(this.SeparatorInfoLabel, "Select the separator used to separate columns in the csv file.");
+      this.SeparatorInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      // 
+      // ProblemDataSettingsGroupBox
+      // 
+      this.ProblemDataSettingsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.ErrorTextBox);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.ShuffelInfoLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.PreviewLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TestLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.PreviewDatasetMatrix);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TrainingLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TrainingTestTrackBar);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.ShuffleDataCheckbox);
+      this.ProblemDataSettingsGroupBox.Location = new System.Drawing.Point(12, 191);
+      this.ProblemDataSettingsGroupBox.Name = "ProblemDataSettingsGroupBox";
+      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 225);
+      this.ProblemDataSettingsGroupBox.TabIndex = 17;
+      this.ProblemDataSettingsGroupBox.TabStop = false;
+      this.ProblemDataSettingsGroupBox.Text = "ProblemData Settings";
+      // 
+      // ErrorTextBox
+      // 
+      this.ErrorTextBox.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
+      this.ErrorTextBox.Location = new System.Drawing.Point(6, 15);
+      this.ErrorTextBox.Multiline = true;
+      this.ErrorTextBox.Name = "ErrorTextBox";
+      this.ErrorTextBox.Size = new System.Drawing.Size(435, 73);
+      this.ErrorTextBox.TabIndex = 0;
+      this.ErrorTextBox.Text = "Open a CSV File";
+      this.ErrorTextBox.Visible = false;
+      // 
+      // ShuffelInfoLabel
+      // 
+      this.ShuffelInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.ShuffelInfoLabel.Location = new System.Drawing.Point(111, 20);
+      this.ShuffelInfoLabel.Name = "ShuffelInfoLabel";
+      this.ShuffelInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.ShuffelInfoLabel.TabIndex = 8;
+      this.ShuffelInfoLabel.Tag = "Check, if the imported data should be shuffled";
+      this.ToolTip.SetToolTip(this.ShuffelInfoLabel, "Check, if the imported data should be shuffled");
+      this.ShuffelInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      // 
+      // PreviewLabel
+      // 
+      this.PreviewLabel.AutoSize = true;
+      this.PreviewLabel.Location = new System.Drawing.Point(9, 89);
+      this.PreviewLabel.Name = "PreviewLabel";
+      this.PreviewLabel.Size = new System.Drawing.Size(45, 13);
+      this.PreviewLabel.TabIndex = 7;
+      this.PreviewLabel.Text = "Preview";
+      // 
+      // PreviewDatasetMatrix
+      // 
+      this.PreviewDatasetMatrix.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.PreviewDatasetMatrix.Caption = "Dataset Preview";
+      this.PreviewDatasetMatrix.Content = null;
+      this.PreviewDatasetMatrix.Location = new System.Drawing.Point(6, 108);
+      this.PreviewDatasetMatrix.Name = "PreviewDatasetMatrix";
+      this.PreviewDatasetMatrix.ReadOnly = true;
+      this.PreviewDatasetMatrix.ShowRowsAndColumnsTextBox = false;
+      this.PreviewDatasetMatrix.ShowStatisticalInformation = false;
+      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 111);
+      this.PreviewDatasetMatrix.TabIndex = 0;
+      // 
+      // DataAnalysisImportDialog
+      // 
+      this.AcceptButton = this.OkButton;
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.ClientSize = new System.Drawing.Size(471, 457);
+      this.Controls.Add(this.ProblemDataSettingsGroupBox);
+      this.Controls.Add(this.CSVSettingsGroupBox);
+      this.Controls.Add(this.ProblemTextBox);
+      this.Controls.Add(this.OpenFileButton);
+      this.Controls.Add(this.ProblemFileLabel);
+      this.Controls.Add(this.CancellationButton);
+      this.Controls.Add(this.OkButton);
+      this.MaximizeBox = false;
+      this.MinimizeBox = false;
+      this.Name = "DataAnalysisImportDialog";
+      this.ShowIcon = false;
+      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+      this.Text = "CSV Import";
+      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).EndInit();
+      this.CSVSettingsGroupBox.ResumeLayout(false);
+      this.CSVSettingsGroupBox.PerformLayout();
+      this.ProblemDataSettingsGroupBox.ResumeLayout(false);
+      this.ProblemDataSettingsGroupBox.PerformLayout();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    protected System.Windows.Forms.CheckBox ShuffleDataCheckbox;
+    protected System.Windows.Forms.Button OkButton;
+    protected System.Windows.Forms.TrackBar TrainingTestTrackBar;
+    protected System.Windows.Forms.Label TestLabel;
+    protected System.Windows.Forms.Label TrainingLabel;
+    protected System.Windows.Forms.Button CancellationButton;
+    protected System.Windows.Forms.OpenFileDialog openFileDialog;
+    protected System.Windows.Forms.Label ProblemFileLabel;
+    protected System.Windows.Forms.Button OpenFileButton;
+    protected System.Windows.Forms.TextBox ProblemTextBox;
+    protected System.Windows.Forms.ComboBox DateTimeFormatComboBox;
+    protected System.Windows.Forms.ComboBox DecimalSeparatorComboBox;
+    protected System.Windows.Forms.Label DateTimeFormatLabel;
+    protected System.Windows.Forms.Label DecimalSeperatorLabel;
+    protected System.Windows.Forms.Label SeparatorLabel;
+    protected System.Windows.Forms.ComboBox SeparatorComboBox;
+    protected System.Windows.Forms.GroupBox CSVSettingsGroupBox;
+    protected System.Windows.Forms.GroupBox ProblemDataSettingsGroupBox;
+    protected System.Windows.Forms.TextBox ErrorTextBox;
+    protected HeuristicLab.Data.Views.StringConvertibleMatrixView PreviewDatasetMatrix;
+    protected System.Windows.Forms.Label PreviewLabel;
+    protected System.Windows.Forms.Label SeparatorInfoLabel;
+    protected System.Windows.Forms.Label DateTimeFormatInfoLabel;
+    protected System.Windows.Forms.Label DecimalSeparatorInfoLabel;
+    protected System.Windows.Forms.Label ShuffelInfoLabel;
+    protected System.Windows.Forms.ToolTip ToolTip;
+    private System.Windows.Forms.CheckBox CheckboxColumnNames;
+    protected System.Windows.Forms.Label EncodingInfoLabel;
+    protected System.Windows.Forms.Label EncodingLabel;
+    protected System.Windows.Forms.ComboBox EncodingComboBox;
+  }
+}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportDialog.cs	(revision 15973)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportDialog.cs	(revision 15973)
@@ -0,0 +1,202 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using HeuristicLab.Core.Views;
+using HeuristicLab.Problems.DataAnalysis;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
+  public partial class DataAnalysisImportDialog : Form {
+
+    private static readonly List<KeyValuePair<DateTimeFormatInfo, string>> dateTimeFormats =
+      new List<KeyValuePair<DateTimeFormatInfo, string>>{
+        new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.GetInstance(new CultureInfo("de-DE")), "dd/mm/yyyy hh:MM:ss" ),
+        new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "mm/dd/yyyy hh:MM:ss" ),
+        new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "yyyy/mm/dd hh:MM:ss" ),
+        new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "mm/yyyy/dd hh:MM:ss" )
+    };
+
+    private static readonly List<KeyValuePair<char, string>> POSSIBLE_SEPARATORS =
+      new List<KeyValuePair<char, string>>{  
+        new KeyValuePair<char, string>(';', "; (Semicolon)" ),
+        new KeyValuePair<char, string>(',', ", (Comma)" ),    
+        new KeyValuePair<char, string>('\t', "\\t (Tab)"),
+        new KeyValuePair<char, string>((char)0, "all whitespaces (including tabs and spaces)")
+    };
+
+    private static readonly List<KeyValuePair<NumberFormatInfo, string>> POSSIBLE_DECIMAL_SEPARATORS =
+      new List<KeyValuePair<NumberFormatInfo, string>>{
+        new KeyValuePair<NumberFormatInfo, string>(NumberFormatInfo.GetInstance(new CultureInfo("de-DE")), ", (Comma)"),
+        new KeyValuePair<NumberFormatInfo, string>(NumberFormatInfo.InvariantInfo, ". (Period)" )    
+    };
+
+    private static readonly List<KeyValuePair<Encoding, string>> POSSIBLE_ENCODINGS =
+      new List<KeyValuePair<Encoding, string>> {
+        new KeyValuePair<Encoding, string>(Encoding.Default, "Default"),
+        new KeyValuePair<Encoding, string>(Encoding.ASCII, "ASCII"),
+        new KeyValuePair<Encoding, string>(Encoding.Unicode, "Unicode"),    
+        new KeyValuePair<Encoding, string>(Encoding.UTF8, "UTF8")        
+      };
+
+    public string Path {
+      get { return ProblemTextBox.Text; }
+    }
+
+    public DataAnalysisImportType ImportType {
+      get {
+        return new DataAnalysisImportType() {
+          Shuffle = ShuffleDataCheckbox.Checked,
+          TrainingPercentage = TrainingTestTrackBar.Value
+        };
+      }
+    }
+
+    public DataAnalysisCSVFormat CSVFormat {
+      get {
+        return new DataAnalysisCSVFormat() {
+          Separator = (char)SeparatorComboBox.SelectedValue,
+          NumberFormatInfo = (NumberFormatInfo)DecimalSeparatorComboBox.SelectedValue,
+          DateTimeFormatInfo = (DateTimeFormatInfo)DateTimeFormatComboBox.SelectedValue,
+          VariableNamesAvailable = CheckboxColumnNames.Checked,
+          Encoding = (Encoding) EncodingComboBox.SelectedValue
+        };
+      }
+    }
+
+    public DataAnalysisImportDialog() {
+      InitializeComponent();
+
+      SeparatorComboBox.DataSource = POSSIBLE_SEPARATORS;
+      SeparatorComboBox.ValueMember = "Key";
+      SeparatorComboBox.DisplayMember = "Value";
+      DecimalSeparatorComboBox.DataSource = POSSIBLE_DECIMAL_SEPARATORS;
+      DecimalSeparatorComboBox.ValueMember = "Key";
+      DecimalSeparatorComboBox.DisplayMember = "Value";
+      DateTimeFormatComboBox.DataSource = dateTimeFormats;
+      DateTimeFormatComboBox.ValueMember = "Key";
+      DateTimeFormatComboBox.DisplayMember = "Value";
+      EncodingComboBox.DataSource = POSSIBLE_ENCODINGS;
+      EncodingComboBox.ValueMember = "Key";
+      EncodingComboBox.DisplayMember = "Value";
+
+    }
+
+    private void TrainingTestTrackBar_ValueChanged(object sender, System.EventArgs e) {
+      TrainingLabel.Text = "Training: " + TrainingTestTrackBar.Value + " %";
+      TestLabel.Text = "Test: " + (TrainingTestTrackBar.Maximum - TrainingTestTrackBar.Value) + " %";
+    }
+
+    protected virtual void OpenFileButtonClick(object sender, System.EventArgs e) {
+      if (openFileDialog.ShowDialog(this) != DialogResult.OK) return;
+
+      SeparatorComboBox.Enabled = true;
+      DecimalSeparatorComboBox.Enabled = true;
+      DateTimeFormatComboBox.Enabled = true;
+      EncodingComboBox.Enabled = true;
+      ProblemTextBox.Text = openFileDialog.FileName;
+      TableFileParser csvParser = new TableFileParser();
+      CheckboxColumnNames.Checked = csvParser.AreColumnNamesInFirstLine(ProblemTextBox.Text,
+                                                                      (NumberFormatInfo)DecimalSeparatorComboBox.SelectedValue,
+                                                                      (DateTimeFormatInfo)DateTimeFormatComboBox.SelectedValue,
+                                                                      (char)SeparatorComboBox.SelectedValue);
+      ParseCSVFile();
+    }
+
+    protected virtual void CSVFormatComboBoxSelectionChangeCommitted(object sender, EventArgs e) {
+      if (string.IsNullOrEmpty(ProblemTextBox.Text)) return;
+
+      ParseCSVFile();
+    }
+
+    protected virtual void CheckboxColumnNames_CheckedChanged(object sender, EventArgs e) {
+      if (string.IsNullOrEmpty(ProblemTextBox.Text)) return;
+
+      ParseCSVFile();
+    }
+
+    protected void ParseCSVFile() {
+      PreviewDatasetMatrix.Content = null;
+      try {
+        TableFileParser csvParser = new TableFileParser();
+        csvParser.Encoding = (Encoding)EncodingComboBox.SelectedValue;
+        csvParser.Parse(ProblemTextBox.Text,
+                        (NumberFormatInfo)DecimalSeparatorComboBox.SelectedValue,
+                        (DateTimeFormatInfo)DateTimeFormatComboBox.SelectedValue,
+                        (char)SeparatorComboBox.SelectedValue,
+                        CheckboxColumnNames.Checked, lineLimit: 500);
+        IEnumerable<string> variableNamesWithType = GetVariableNamesWithType(csvParser);
+        PreviewDatasetMatrix.Content = new Dataset(variableNamesWithType, csvParser.Values);
+
+        CheckAdditionalConstraints(csvParser);
+
+        ErrorTextBox.Text = String.Empty;
+        ErrorTextBox.Visible = false;
+        OkButton.Enabled = true;
+      }
+      catch (Exception ex) {
+        if (ex is IOException || ex is InvalidOperationException || ex is ArgumentException) {
+          OkButton.Enabled = false;
+          ErrorTextBox.Text = ex.Message;
+          ErrorTextBox.Visible = true;
+        } else {
+          throw;
+        }
+      }
+    }
+
+    protected virtual void CheckAdditionalConstraints(TableFileParser csvParser) {
+      if (!csvParser.Values.Any(x => x is List<double>)) {
+        throw new ArgumentException("No double column could be found!");
+      }
+    }
+
+    private IEnumerable<string> GetVariableNamesWithType(TableFileParser csvParser) {
+      IList<string> variableNamesWithType = csvParser.VariableNames.ToList();
+      for (int i = 0; i < csvParser.Values.Count; i++) {
+        if (csvParser.Values[i] is List<double>) {
+          variableNamesWithType[i] += " (Double)";
+        } else if (csvParser.Values[i] is List<string>) {
+          variableNamesWithType[i] += " (String)";
+        } else if (csvParser.Values[i] is List<DateTime>) {
+          variableNamesWithType[i] += " (DateTime)";
+        } else {
+          throw new ArgumentException("The variable values must be of type List<double>, List<string> or List<DateTime>");
+        }
+      }
+      return variableNamesWithType;
+    }
+
+    protected void ControlToolTip_DoubleClick(object sender, EventArgs e) {
+      Control control = sender as Control;
+      if (control != null) {
+        using (TextDialog dialog = new TextDialog(control.Name, (string)control.Tag, true)) {
+          dialog.ShowDialog(this);
+        }
+      }
+    }
+  }
+}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.Designer.cs	(revision 15651)
+++ 	(revision )
@@ -1,440 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-  partial class DataAnalysisImportTypeDialog {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.components = new System.ComponentModel.Container();
-      this.ShuffleDataCheckbox = new System.Windows.Forms.CheckBox();
-      this.OkButton = new System.Windows.Forms.Button();
-      this.TrainingTestTrackBar = new System.Windows.Forms.TrackBar();
-      this.TestLabel = new System.Windows.Forms.Label();
-      this.TrainingLabel = new System.Windows.Forms.Label();
-      this.CancelationButton = new System.Windows.Forms.Button();
-      this.OpenFileButton = new System.Windows.Forms.Button();
-      this.ProblemFileLabel = new System.Windows.Forms.Label();
-      this.ProblemTextBox = new System.Windows.Forms.TextBox();
-      this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
-      this.DateTimeFormatComboBox = new System.Windows.Forms.ComboBox();
-      this.DecimalSeparatorComboBox = new System.Windows.Forms.ComboBox();
-      this.DateTimeFormatLabel = new System.Windows.Forms.Label();
-      this.DecimalSeperatorLabel = new System.Windows.Forms.Label();
-      this.SeparatorLabel = new System.Windows.Forms.Label();
-      this.SeparatorComboBox = new System.Windows.Forms.ComboBox();
-      this.CSVSettingsGroupBox = new System.Windows.Forms.GroupBox();
-      this.DateTimeFormatInfoLabel = new System.Windows.Forms.Label();
-      this.DecimalSeparatorInfoLabel = new System.Windows.Forms.Label();
-      this.SeparatorInfoLabel = new System.Windows.Forms.Label();
-      this.ProblemDataSettingsGroupBox = new System.Windows.Forms.GroupBox();
-      this.ErrorTextBox = new System.Windows.Forms.TextBox();
-      this.ShuffelInfoLabel = new System.Windows.Forms.Label();
-      this.PreviewLabel = new System.Windows.Forms.Label();
-      this.PreviewDatasetMatrix = new HeuristicLab.Data.Views.StringConvertibleMatrixView();
-      this.ToolTip = new System.Windows.Forms.ToolTip(this.components);
-      this.CheckboxColumnNames = new System.Windows.Forms.CheckBox();
-      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
-      this.CSVSettingsGroupBox.SuspendLayout();
-      this.ProblemDataSettingsGroupBox.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // ShuffleDataCheckbox
-      // 
-      this.ShuffleDataCheckbox.AutoSize = true;
-      this.ShuffleDataCheckbox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
-      this.ShuffleDataCheckbox.Location = new System.Drawing.Point(9, 20);
-      this.ShuffleDataCheckbox.Name = "ShuffleDataCheckbox";
-      this.ShuffleDataCheckbox.Size = new System.Drawing.Size(91, 17);
-      this.ShuffleDataCheckbox.TabIndex = 1;
-      this.ShuffleDataCheckbox.Text = "Shuffle Data?";
-      this.ShuffleDataCheckbox.UseVisualStyleBackColor = true;
-      // 
-      // OkButton
-      // 
-      this.OkButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.OkButton.DialogResult = System.Windows.Forms.DialogResult.OK;
-      this.OkButton.Enabled = false;
-      this.OkButton.Location = new System.Drawing.Point(303, 422);
-      this.OkButton.Name = "OkButton";
-      this.OkButton.Size = new System.Drawing.Size(75, 23);
-      this.OkButton.TabIndex = 2;
-      this.OkButton.Text = "&Ok";
-      this.OkButton.UseVisualStyleBackColor = true;
-      // 
-      // TrainingTestTrackBar
-      // 
-      this.TrainingTestTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.TrainingTestTrackBar.Location = new System.Drawing.Point(6, 43);
-      this.TrainingTestTrackBar.Maximum = 100;
-      this.TrainingTestTrackBar.Minimum = 1;
-      this.TrainingTestTrackBar.Name = "TrainingTestTrackBar";
-      this.TrainingTestTrackBar.Size = new System.Drawing.Size(435, 45);
-      this.TrainingTestTrackBar.TabIndex = 4;
-      this.TrainingTestTrackBar.TickStyle = System.Windows.Forms.TickStyle.None;
-      this.TrainingTestTrackBar.Value = 66;
-      this.TrainingTestTrackBar.ValueChanged += new System.EventHandler(this.TrainingTestTrackBar_ValueChanged);
-      // 
-      // TestLabel
-      // 
-      this.TestLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.TestLabel.AutoSize = true;
-      this.TestLabel.Location = new System.Drawing.Point(303, 68);
-      this.TestLabel.Name = "TestLabel";
-      this.TestLabel.Size = new System.Drawing.Size(57, 13);
-      this.TestLabel.TabIndex = 6;
-      this.TestLabel.Text = "Test: 34 %";
-      // 
-      // TrainingLabel
-      // 
-      this.TrainingLabel.AutoSize = true;
-      this.TrainingLabel.Location = new System.Drawing.Point(76, 68);
-      this.TrainingLabel.Name = "TrainingLabel";
-      this.TrainingLabel.Size = new System.Drawing.Size(74, 13);
-      this.TrainingLabel.TabIndex = 5;
-      this.TrainingLabel.Text = "Training: 66 %";
-      // 
-      // CancelationButton
-      // 
-      this.CancelationButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.CancelationButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
-      this.CancelationButton.Location = new System.Drawing.Point(384, 422);
-      this.CancelationButton.Name = "CancelationButton";
-      this.CancelationButton.Size = new System.Drawing.Size(75, 23);
-      this.CancelationButton.TabIndex = 3;
-      this.CancelationButton.Text = "&Cancel";
-      this.CancelationButton.UseVisualStyleBackColor = true;
-      // 
-      // OpenFileButton
-      // 
-      this.OpenFileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.OpenFileButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Open;
-      this.OpenFileButton.Location = new System.Drawing.Point(429, 3);
-      this.OpenFileButton.Name = "OpenFileButton";
-      this.OpenFileButton.Size = new System.Drawing.Size(24, 24);
-      this.OpenFileButton.TabIndex = 8;
-      this.OpenFileButton.UseVisualStyleBackColor = true;
-      this.OpenFileButton.Click += new System.EventHandler(this.OpenFileButtonClick);
-      // 
-      // ProblemFileLabel
-      // 
-      this.ProblemFileLabel.AutoSize = true;
-      this.ProblemFileLabel.Location = new System.Drawing.Point(18, 9);
-      this.ProblemFileLabel.Name = "ProblemFileLabel";
-      this.ProblemFileLabel.Size = new System.Drawing.Size(67, 13);
-      this.ProblemFileLabel.TabIndex = 6;
-      this.ProblemFileLabel.Text = "Problem File:";
-      // 
-      // ProblemTextBox
-      // 
-      this.ProblemTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.ProblemTextBox.Location = new System.Drawing.Point(91, 6);
-      this.ProblemTextBox.Name = "ProblemTextBox";
-      this.ProblemTextBox.ReadOnly = true;
-      this.ProblemTextBox.Size = new System.Drawing.Size(332, 20);
-      this.ProblemTextBox.TabIndex = 9;
-      // 
-      // openFileDialog
-      // 
-      this.openFileDialog.Filter = "CSV files (*.csv)|*.csv|Text files (*.txt)|*.txt|All files (*.*)|*.*";
-      // 
-      // DateTimeFormatComboBox
-      // 
-      this.DateTimeFormatComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.DateTimeFormatComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.DateTimeFormatComboBox.Enabled = false;
-      this.DateTimeFormatComboBox.FormattingEnabled = true;
-      this.DateTimeFormatComboBox.Location = new System.Drawing.Point(111, 73);
-      this.DateTimeFormatComboBox.Name = "DateTimeFormatComboBox";
-      this.DateTimeFormatComboBox.Size = new System.Drawing.Size(300, 21);
-      this.DateTimeFormatComboBox.TabIndex = 15;
-      this.DateTimeFormatComboBox.SelectionChangeCommitted += new System.EventHandler(this.CSVFormatComboBoxSelectionChangeCommitted);
-      // 
-      // DecimalSeparatorComboBox
-      // 
-      this.DecimalSeparatorComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.DecimalSeparatorComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.DecimalSeparatorComboBox.Enabled = false;
-      this.DecimalSeparatorComboBox.FormattingEnabled = true;
-      this.DecimalSeparatorComboBox.Location = new System.Drawing.Point(111, 46);
-      this.DecimalSeparatorComboBox.Name = "DecimalSeparatorComboBox";
-      this.DecimalSeparatorComboBox.Size = new System.Drawing.Size(300, 21);
-      this.DecimalSeparatorComboBox.TabIndex = 14;
-      this.DecimalSeparatorComboBox.SelectionChangeCommitted += new System.EventHandler(this.CSVFormatComboBoxSelectionChangeCommitted);
-      // 
-      // DateTimeFormatLabel
-      // 
-      this.DateTimeFormatLabel.AutoSize = true;
-      this.DateTimeFormatLabel.Location = new System.Drawing.Point(6, 76);
-      this.DateTimeFormatLabel.Name = "DateTimeFormatLabel";
-      this.DateTimeFormatLabel.Size = new System.Drawing.Size(91, 13);
-      this.DateTimeFormatLabel.TabIndex = 13;
-      this.DateTimeFormatLabel.Text = "DateTime Format:";
-      // 
-      // DecimalSeperatorLabel
-      // 
-      this.DecimalSeperatorLabel.AutoSize = true;
-      this.DecimalSeperatorLabel.Location = new System.Drawing.Point(6, 49);
-      this.DecimalSeperatorLabel.Name = "DecimalSeperatorLabel";
-      this.DecimalSeperatorLabel.Size = new System.Drawing.Size(97, 13);
-      this.DecimalSeperatorLabel.TabIndex = 12;
-      this.DecimalSeperatorLabel.Text = "Decimal Separator:";
-      // 
-      // SeparatorLabel
-      // 
-      this.SeparatorLabel.AutoSize = true;
-      this.SeparatorLabel.Location = new System.Drawing.Point(6, 22);
-      this.SeparatorLabel.Name = "SeparatorLabel";
-      this.SeparatorLabel.Size = new System.Drawing.Size(56, 13);
-      this.SeparatorLabel.TabIndex = 11;
-      this.SeparatorLabel.Text = "Separator:";
-      // 
-      // SeparatorComboBox
-      // 
-      this.SeparatorComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.SeparatorComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.SeparatorComboBox.Enabled = false;
-      this.SeparatorComboBox.FormattingEnabled = true;
-      this.SeparatorComboBox.Location = new System.Drawing.Point(111, 19);
-      this.SeparatorComboBox.Name = "SeparatorComboBox";
-      this.SeparatorComboBox.Size = new System.Drawing.Size(300, 21);
-      this.SeparatorComboBox.TabIndex = 10;
-      this.SeparatorComboBox.SelectionChangeCommitted += new System.EventHandler(this.CSVFormatComboBoxSelectionChangeCommitted);
-      // 
-      // CSVSettingsGroupBox
-      // 
-      this.CSVSettingsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.CSVSettingsGroupBox.Controls.Add(this.CheckboxColumnNames);
-      this.CSVSettingsGroupBox.Controls.Add(this.DateTimeFormatInfoLabel);
-      this.CSVSettingsGroupBox.Controls.Add(this.DecimalSeparatorInfoLabel);
-      this.CSVSettingsGroupBox.Controls.Add(this.SeparatorInfoLabel);
-      this.CSVSettingsGroupBox.Controls.Add(this.SeparatorComboBox);
-      this.CSVSettingsGroupBox.Controls.Add(this.DateTimeFormatComboBox);
-      this.CSVSettingsGroupBox.Controls.Add(this.SeparatorLabel);
-      this.CSVSettingsGroupBox.Controls.Add(this.DecimalSeparatorComboBox);
-      this.CSVSettingsGroupBox.Controls.Add(this.DecimalSeperatorLabel);
-      this.CSVSettingsGroupBox.Controls.Add(this.DateTimeFormatLabel);
-      this.CSVSettingsGroupBox.Location = new System.Drawing.Point(12, 32);
-      this.CSVSettingsGroupBox.Name = "CSVSettingsGroupBox";
-      this.CSVSettingsGroupBox.Size = new System.Drawing.Size(447, 126);
-      this.CSVSettingsGroupBox.TabIndex = 16;
-      this.CSVSettingsGroupBox.TabStop = false;
-      this.CSVSettingsGroupBox.Text = "CSV Settings";
-      // 
-      // DateTimeFormatInfoLabel
-      // 
-      this.DateTimeFormatInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.DateTimeFormatInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
-      this.DateTimeFormatInfoLabel.Location = new System.Drawing.Point(421, 76);
-      this.DateTimeFormatInfoLabel.Name = "DateTimeFormatInfoLabel";
-      this.DateTimeFormatInfoLabel.Size = new System.Drawing.Size(16, 16);
-      this.DateTimeFormatInfoLabel.TabIndex = 23;
-      this.DateTimeFormatInfoLabel.Tag = "Select the date time format used in the csv file";
-      this.ToolTip.SetToolTip(this.DateTimeFormatInfoLabel, "Select the date time format used in the csv file");
-      this.DateTimeFormatInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
-      // 
-      // DecimalSeparatorInfoLabel
-      // 
-      this.DecimalSeparatorInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.DecimalSeparatorInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
-      this.DecimalSeparatorInfoLabel.Location = new System.Drawing.Point(421, 49);
-      this.DecimalSeparatorInfoLabel.Name = "DecimalSeparatorInfoLabel";
-      this.DecimalSeparatorInfoLabel.Size = new System.Drawing.Size(16, 16);
-      this.DecimalSeparatorInfoLabel.TabIndex = 22;
-      this.DecimalSeparatorInfoLabel.Tag = "Select the decimal separator used to for double values";
-      this.ToolTip.SetToolTip(this.DecimalSeparatorInfoLabel, "Select the decimal separator used to for double values");
-      this.DecimalSeparatorInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
-      // 
-      // SeparatorInfoLabel
-      // 
-      this.SeparatorInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.SeparatorInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
-      this.SeparatorInfoLabel.Location = new System.Drawing.Point(421, 22);
-      this.SeparatorInfoLabel.Name = "SeparatorInfoLabel";
-      this.SeparatorInfoLabel.Size = new System.Drawing.Size(16, 16);
-      this.SeparatorInfoLabel.TabIndex = 21;
-      this.SeparatorInfoLabel.Tag = "Select the separator used to separate columns in the csv file.";
-      this.ToolTip.SetToolTip(this.SeparatorInfoLabel, "Select the separator used to separate columns in the csv file.");
-      this.SeparatorInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
-      // 
-      // ProblemDataSettingsGroupBox
-      // 
-      this.ProblemDataSettingsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-            | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.ErrorTextBox);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.ShuffelInfoLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.PreviewLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TestLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.PreviewDatasetMatrix);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TrainingLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TrainingTestTrackBar);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.ShuffleDataCheckbox);
-      this.ProblemDataSettingsGroupBox.Location = new System.Drawing.Point(12, 164);
-      this.ProblemDataSettingsGroupBox.Name = "ProblemDataSettingsGroupBox";
-      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 252);
-      this.ProblemDataSettingsGroupBox.TabIndex = 17;
-      this.ProblemDataSettingsGroupBox.TabStop = false;
-      this.ProblemDataSettingsGroupBox.Text = "ProblemData Settings";
-      // 
-      // ErrorTextBox
-      // 
-      this.ErrorTextBox.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
-      this.ErrorTextBox.Location = new System.Drawing.Point(6, 15);
-      this.ErrorTextBox.Multiline = true;
-      this.ErrorTextBox.Name = "ErrorTextBox";
-      this.ErrorTextBox.Size = new System.Drawing.Size(435, 73);
-      this.ErrorTextBox.TabIndex = 0;
-      this.ErrorTextBox.Text = "Open a CSV File";
-      this.ErrorTextBox.Visible = false;
-      // 
-      // ShuffelInfoLabel
-      // 
-      this.ShuffelInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
-      this.ShuffelInfoLabel.Location = new System.Drawing.Point(111, 20);
-      this.ShuffelInfoLabel.Name = "ShuffelInfoLabel";
-      this.ShuffelInfoLabel.Size = new System.Drawing.Size(16, 16);
-      this.ShuffelInfoLabel.TabIndex = 8;
-      this.ShuffelInfoLabel.Tag = "Check, if the imported data should be shuffled";
-      this.ToolTip.SetToolTip(this.ShuffelInfoLabel, "Check, if the importat data should be shuffled");
-      this.ShuffelInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
-      // 
-      // PreviewLabel
-      // 
-      this.PreviewLabel.AutoSize = true;
-      this.PreviewLabel.Location = new System.Drawing.Point(9, 89);
-      this.PreviewLabel.Name = "PreviewLabel";
-      this.PreviewLabel.Size = new System.Drawing.Size(45, 13);
-      this.PreviewLabel.TabIndex = 7;
-      this.PreviewLabel.Text = "Preview";
-      // 
-      // PreviewDatasetMatrix
-      // 
-      this.PreviewDatasetMatrix.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-            | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.PreviewDatasetMatrix.Caption = "Dataset Preview";
-      this.PreviewDatasetMatrix.Content = null;
-      this.PreviewDatasetMatrix.Location = new System.Drawing.Point(6, 108);
-      this.PreviewDatasetMatrix.Name = "PreviewDatasetMatrix";
-      this.PreviewDatasetMatrix.ReadOnly = true;
-      this.PreviewDatasetMatrix.ShowRowsAndColumnsTextBox = false;
-      this.PreviewDatasetMatrix.ShowStatisticalInformation = false;
-      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 138);
-      this.PreviewDatasetMatrix.TabIndex = 0;
-      // 
-      // CheckboxColumnNames
-      // 
-      this.CheckboxColumnNames.AutoSize = true;
-      this.CheckboxColumnNames.Location = new System.Drawing.Point(9, 103);
-      this.CheckboxColumnNames.Name = "CheckboxColumnNames";
-      this.CheckboxColumnNames.Size = new System.Drawing.Size(144, 17);
-      this.CheckboxColumnNames.TabIndex = 24;
-      this.CheckboxColumnNames.Text = "Column names in first line";
-      this.CheckboxColumnNames.UseVisualStyleBackColor = true;
-      this.CheckboxColumnNames.CheckedChanged += new System.EventHandler(this.CheckboxColumnNames_CheckedChanged);
-      // 
-      // DataAnalysisImportTypeDialog
-      // 
-      this.AcceptButton = this.OkButton;
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(471, 457);
-      this.Controls.Add(this.ProblemDataSettingsGroupBox);
-      this.Controls.Add(this.CSVSettingsGroupBox);
-      this.Controls.Add(this.ProblemTextBox);
-      this.Controls.Add(this.OpenFileButton);
-      this.Controls.Add(this.ProblemFileLabel);
-      this.Controls.Add(this.CancelationButton);
-      this.Controls.Add(this.OkButton);
-      this.MaximizeBox = false;
-      this.MinimizeBox = false;
-      this.Name = "DataAnalysisImportTypeDialog";
-      this.ShowIcon = false;
-      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
-      this.Text = "CSV Import";
-      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).EndInit();
-      this.CSVSettingsGroupBox.ResumeLayout(false);
-      this.CSVSettingsGroupBox.PerformLayout();
-      this.ProblemDataSettingsGroupBox.ResumeLayout(false);
-      this.ProblemDataSettingsGroupBox.PerformLayout();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    protected System.Windows.Forms.CheckBox ShuffleDataCheckbox;
-    protected System.Windows.Forms.Button OkButton;
-    protected System.Windows.Forms.TrackBar TrainingTestTrackBar;
-    protected System.Windows.Forms.Label TestLabel;
-    protected System.Windows.Forms.Label TrainingLabel;
-    protected System.Windows.Forms.Button CancelationButton;
-    protected System.Windows.Forms.OpenFileDialog openFileDialog;
-    protected System.Windows.Forms.Label ProblemFileLabel;
-    protected System.Windows.Forms.Button OpenFileButton;
-    protected System.Windows.Forms.TextBox ProblemTextBox;
-    protected System.Windows.Forms.ComboBox DateTimeFormatComboBox;
-    protected System.Windows.Forms.ComboBox DecimalSeparatorComboBox;
-    protected System.Windows.Forms.Label DateTimeFormatLabel;
-    protected System.Windows.Forms.Label DecimalSeperatorLabel;
-    protected System.Windows.Forms.Label SeparatorLabel;
-    protected System.Windows.Forms.ComboBox SeparatorComboBox;
-    protected System.Windows.Forms.GroupBox CSVSettingsGroupBox;
-    protected System.Windows.Forms.GroupBox ProblemDataSettingsGroupBox;
-    protected System.Windows.Forms.TextBox ErrorTextBox;
-    protected HeuristicLab.Data.Views.StringConvertibleMatrixView PreviewDatasetMatrix;
-    protected System.Windows.Forms.Label PreviewLabel;
-    protected System.Windows.Forms.Label SeparatorInfoLabel;
-    protected System.Windows.Forms.Label DateTimeFormatInfoLabel;
-    protected System.Windows.Forms.Label DecimalSeparatorInfoLabel;
-    protected System.Windows.Forms.Label ShuffelInfoLabel;
-    protected System.Windows.Forms.ToolTip ToolTip;
-    private System.Windows.Forms.CheckBox CheckboxColumnNames;
-  }
-}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.cs	(revision 15651)
+++ 	(revision )
@@ -1,183 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Windows.Forms;
-using HeuristicLab.Core.Views;
-using HeuristicLab.Problems.DataAnalysis;
-
-namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-  public partial class DataAnalysisImportTypeDialog : Form {
-
-    public static readonly List<KeyValuePair<DateTimeFormatInfo, string>> dateTimeFormats = new List<KeyValuePair<DateTimeFormatInfo, string>>{
-      new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.GetInstance(new CultureInfo("de-DE")), "dd/mm/yyyy hh:MM:ss" ),
-      new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "mm/dd/yyyy hh:MM:ss" ),
-      new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "yyyy/mm/dd hh:MM:ss" ),
-      new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "mm/yyyy/dd hh:MM:ss" )
-    };
-
-    public static readonly List<KeyValuePair<char, string>> POSSIBLE_SEPARATORS = new List<KeyValuePair<char, string>>{  
-      new KeyValuePair<char, string>(';', "; (Semicolon)" ),
-      new KeyValuePair<char, string>(',', ", (Comma)" ),    
-      new KeyValuePair<char, string>('\t', "\\t (Tab)"),
-      new KeyValuePair<char, string>((char)0, "all whitespaces (including tabs and spaces)")
-    };
-
-    public static readonly List<KeyValuePair<NumberFormatInfo, string>> POSSIBLE_DECIMAL_SEPARATORS = new List<KeyValuePair<NumberFormatInfo, string>>{
-      new KeyValuePair<NumberFormatInfo, string>(NumberFormatInfo.GetInstance(new CultureInfo("de-DE")), ", (Comma)"),
-      new KeyValuePair<NumberFormatInfo, string>(NumberFormatInfo.InvariantInfo, ". (Period)" )    
-    };
-
-    public string Path {
-      get { return ProblemTextBox.Text; }
-    }
-
-    public DataAnalysisImportType ImportType {
-      get {
-        return new DataAnalysisImportType() {
-          Shuffle = ShuffleDataCheckbox.Checked,
-          TrainingPercentage = TrainingTestTrackBar.Value
-        };
-      }
-    }
-
-    public DataAnalysisCSVFormat CSVFormat {
-      get {
-        return new DataAnalysisCSVFormat() {
-          Separator = (char)SeparatorComboBox.SelectedValue,
-          NumberFormatInfo = (NumberFormatInfo)DecimalSeparatorComboBox.SelectedValue,
-          DateTimeFormatInfo = (DateTimeFormatInfo)DateTimeFormatComboBox.SelectedValue,
-          VariableNamesAvailable = CheckboxColumnNames.Checked
-        };
-      }
-    }
-
-    public DataAnalysisImportTypeDialog() {
-      InitializeComponent();
-
-      SeparatorComboBox.DataSource = POSSIBLE_SEPARATORS;
-      SeparatorComboBox.ValueMember = "Key";
-      SeparatorComboBox.DisplayMember = "Value";
-      DecimalSeparatorComboBox.DataSource = POSSIBLE_DECIMAL_SEPARATORS;
-      DecimalSeparatorComboBox.ValueMember = "Key";
-      DecimalSeparatorComboBox.DisplayMember = "Value";
-      DateTimeFormatComboBox.DataSource = dateTimeFormats;
-      DateTimeFormatComboBox.ValueMember = "Key";
-      DateTimeFormatComboBox.DisplayMember = "Value";
-    }
-
-    private void TrainingTestTrackBar_ValueChanged(object sender, System.EventArgs e) {
-      TrainingLabel.Text = "Training: " + TrainingTestTrackBar.Value + " %";
-      TestLabel.Text = "Test: " + (TrainingTestTrackBar.Maximum - TrainingTestTrackBar.Value) + " %";
-    }
-
-    protected virtual void OpenFileButtonClick(object sender, System.EventArgs e) {
-      if (openFileDialog.ShowDialog(this) != DialogResult.OK) return;
-
-      SeparatorComboBox.Enabled = true;
-      DecimalSeparatorComboBox.Enabled = true;
-      DateTimeFormatComboBox.Enabled = true;
-      ProblemTextBox.Text = openFileDialog.FileName;
-      TableFileParser csvParser = new TableFileParser();
-      CheckboxColumnNames.Checked = csvParser.AreColumnNamesInFirstLine(ProblemTextBox.Text,
-                                                                      (NumberFormatInfo)DecimalSeparatorComboBox.SelectedValue,
-                                                                      (DateTimeFormatInfo)DateTimeFormatComboBox.SelectedValue,
-                                                                      (char)SeparatorComboBox.SelectedValue);
-      ParseCSVFile();
-    }
-
-    protected virtual void CSVFormatComboBoxSelectionChangeCommitted(object sender, EventArgs e) {
-      if (string.IsNullOrEmpty(ProblemTextBox.Text)) return;
-
-      ParseCSVFile();
-    }
-
-    protected virtual void CheckboxColumnNames_CheckedChanged(object sender, EventArgs e) {
-      if (string.IsNullOrEmpty(ProblemTextBox.Text)) return;
-
-      ParseCSVFile();
-    }
-
-    protected void ParseCSVFile() {
-      PreviewDatasetMatrix.Content = null;
-      try {
-        TableFileParser csvParser = new TableFileParser();
-        csvParser.Parse(ProblemTextBox.Text,
-                        (NumberFormatInfo)DecimalSeparatorComboBox.SelectedValue,
-                        (DateTimeFormatInfo)DateTimeFormatComboBox.SelectedValue,
-                        (char)SeparatorComboBox.SelectedValue,
-                        CheckboxColumnNames.Checked);
-        IEnumerable<string> variableNamesWithType = GetVariableNamesWithType(csvParser);
-        PreviewDatasetMatrix.Content = new Dataset(variableNamesWithType, csvParser.Values);
-
-        CheckAdditionalConstraints(csvParser);
-
-        ErrorTextBox.Text = String.Empty;
-        ErrorTextBox.Visible = false;
-        OkButton.Enabled = true;
-      }
-      catch (Exception ex) {
-        if (ex is IOException || ex is InvalidOperationException || ex is ArgumentException || ex is TableFileParser.DataFormatException) {
-          OkButton.Enabled = false;
-          ErrorTextBox.Text = ex.Message;
-          ErrorTextBox.Visible = true;
-        } else {
-          throw;
-        }
-      }
-    }
-
-    protected virtual void CheckAdditionalConstraints(TableFileParser csvParser) {
-      if (!csvParser.Values.Any(x => x is List<double>)) {
-        throw new ArgumentException("No double column could be found!");
-      }
-    }
-
-    private IEnumerable<string> GetVariableNamesWithType(TableFileParser csvParser) {
-      IList<string> variableNamesWithType = csvParser.VariableNames.ToList();
-      for (int i = 0; i < csvParser.Values.Count; i++) {
-        if (csvParser.Values[i] is List<double>) {
-          variableNamesWithType[i] += " (Double)";
-        } else if (csvParser.Values[i] is List<string>) {
-          variableNamesWithType[i] += " (String)";
-        } else if (csvParser.Values[i] is List<DateTime>) {
-          variableNamesWithType[i] += " (DateTime)";
-        } else {
-          throw new ArgumentException("The variable values must be of type List<double>, List<string> or List<DateTime>");
-        }
-      }
-      return variableNamesWithType;
-    }
-
-    protected void ControlToolTip_DoubleClick(object sender, EventArgs e) {
-      Control control = sender as Control;
-      if (control != null) {
-        using (TextDialog dialog = new TextDialog(control.Name, (string)control.Tag, true)) {
-          dialog.ShowDialog(this);
-        }
-      }
-    }
-  }
-}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisInstanceProviderView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisInstanceProviderView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisInstanceProviderView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisInstanceProviderView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisInstanceProviderView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisInstanceProviderView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -39,5 +39,5 @@
       var provider = Content as DataAnalysisInstanceProvider<T, DataAnalysisImportType>;
       if (provider != null) {
-        var importTypeDialog = new DataAnalysisImportTypeDialog();
+        var importTypeDialog = new DataAnalysisImportDialog();
         if (importTypeDialog.ShowDialog() == DialogResult.OK) {
           T instance = default(T);
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3.csproj
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3.csproj	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3.csproj	(revision 15973)
@@ -93,9 +93,9 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="ClassificationImportTypeDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="ClassificationImportTypeDialog.Designer.cs">
-      <DependentUpon>ClassificationImportTypeDialog.cs</DependentUpon>
+    <Compile Include="ClassificationImportDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="ClassificationImportDialog.Designer.cs">
+      <DependentUpon>ClassificationImportDialog.cs</DependentUpon>
     </Compile>
     <Compile Include="ClassificationInstanceProviderView.cs">
@@ -111,9 +111,21 @@
       <DependentUpon>ClusteringInstanceProviderView.cs</DependentUpon>
     </Compile>
-    <Compile Include="TimeSeriesPrognosisImportTypeDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="TimeSeriesPrognosisImportTypeDialog.Designer.cs">
-      <DependentUpon>TimeSeriesPrognosisImportTypeDialog.cs</DependentUpon>
+    <Compile Include="DataAnalysisImportDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DataAnalysisImportDialog.Designer.cs">
+      <DependentUpon>DataAnalysisImportDialog.cs</DependentUpon>
+    </Compile>
+    <Compile Include="RegressionImportDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="RegressionImportDialog.Designer.cs">
+      <DependentUpon>RegressionImportDialog.cs</DependentUpon>
+    </Compile>
+    <Compile Include="TimeSeriesPrognosisImportDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TimeSeriesPrognosisImportDialog.Designer.cs">
+      <DependentUpon>TimeSeriesPrognosisImportDialog.cs</DependentUpon>
     </Compile>
     <Compile Include="TimeSeriesPrognosisInstanceProviderView.cs">
@@ -123,10 +135,4 @@
       <DependentUpon>TimeSeriesPrognosisInstanceProviderView.cs</DependentUpon>
     </Compile>
-    <Compile Include="DataAnalysisImportTypeDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DataAnalysisImportTypeDialog.Designer.cs">
-      <DependentUpon>DataAnalysisImportTypeDialog.cs</DependentUpon>
-    </Compile>
     <Compile Include="DataAnalysisInstanceProviderView.cs">
       <SubType>UserControl</SubType>
@@ -136,10 +142,4 @@
     </Compile>
     <Compile Include="Plugin.cs" />
-    <Compile Include="RegressionImportTypeDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="RegressionImportTypeDialog.Designer.cs">
-      <DependentUpon>RegressionImportTypeDialog.cs</DependentUpon>
-    </Compile>
     <Compile Include="RegressionInstanceProviderView.cs">
       <SubType>UserControl</SubType>
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Plugin.cs.frame
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Plugin.cs.frame	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Plugin.cs.frame	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,6 +23,7 @@
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-  [Plugin("HeuristicLab.Problems.Instances.DataAnalysis.Views", "3.3.13.$WCREV$")]
+  [Plugin("HeuristicLab.Problems.Instances.DataAnalysis.Views", "3.3.15.$WCREV$")]
   [PluginFile("HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
   [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
   [PluginDependency("HeuristicLab.Core.Views", "3.3")]
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Properties/AssemblyInfo.cs.frame
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Properties/AssemblyInfo.cs.frame	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Properties/AssemblyInfo.cs.frame	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -32,5 +32,5 @@
 [assembly: AssemblyCompany("HEAL")]
 [assembly: AssemblyProduct("HeuristicLab")]
-[assembly: AssemblyCopyright("(c) 2002-2015 HEAL")]
+[assembly: AssemblyCopyright("(c) 2002-2018 HEAL")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
@@ -55,3 +55,3 @@
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("3.3.0.0")]
-[assembly: AssemblyFileVersion("3.3.13.$WCREV$")]
+[assembly: AssemblyFileVersion("3.3.15.$WCREV$")]
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportDialog.Designer.cs	(revision 15973)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportDialog.Designer.cs	(revision 15973)
@@ -0,0 +1,137 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
+  partial class RegressionImportDialog {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.TargetVariableComboBox = new System.Windows.Forms.ComboBox();
+      this.TargetVariableLabel = new System.Windows.Forms.Label();
+      this.TargetVariableInfoLabel = new System.Windows.Forms.Label();
+      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
+      this.CSVSettingsGroupBox.SuspendLayout();
+      this.ProblemDataSettingsGroupBox.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // OkButton
+      // 
+      this.OkButton.Location = new System.Drawing.Point(303, 421);
+      // 
+      // CancellationButton
+      // 
+      this.CancellationButton.Location = new System.Drawing.Point(384, 421);
+      // 
+      // ProblemDataSettingsGroupBox
+      // 
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableInfoLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffelInfoLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableComboBox, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffleDataCheckbox, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableInfoLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingTestTrackBar, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewDatasetMatrix, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TestLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ErrorTextBox, 0);
+      // 
+      // TargetVariableComboBox
+      // 
+      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.TargetVariableComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.TargetVariableComboBox.FormattingEnabled = true;
+      this.TargetVariableComboBox.Location = new System.Drawing.Point(230, 19);
+      this.TargetVariableComboBox.Name = "TargetVariableComboBox";
+      this.TargetVariableComboBox.Size = new System.Drawing.Size(181, 21);
+      this.TargetVariableComboBox.TabIndex = 10;
+      // 
+      // TargetVariableLabel
+      // 
+      this.TargetVariableLabel.AutoSize = true;
+      this.TargetVariableLabel.Location = new System.Drawing.Point(142, 22);
+      this.TargetVariableLabel.Name = "TargetVariableLabel";
+      this.TargetVariableLabel.Size = new System.Drawing.Size(82, 13);
+      this.TargetVariableLabel.TabIndex = 20;
+      this.TargetVariableLabel.Text = "Target Variable:";
+      // 
+      // TargetVariableinfoLabel
+      // 
+      this.TargetVariableInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.TargetVariableInfoLabel.Location = new System.Drawing.Point(421, 22);
+      this.TargetVariableInfoLabel.Name = "Target Variable Info";
+      this.TargetVariableInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.TargetVariableInfoLabel.TabIndex = 21;
+      this.TargetVariableInfoLabel.Tag = "Select the target variable of the csv file.";
+      this.TargetVariableInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.TargetVariableInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      this.ToolTip.SetToolTip(this.TargetVariableInfoLabel, (string)this.TargetVariableInfoLabel.Tag);
+      // 
+      // RegressionImportDialog
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.ClientSize = new System.Drawing.Size(471, 456);
+      this.Name = "RegressionImportDialog";
+      this.Text = "Regression CSV Import";
+      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).EndInit();
+      this.CSVSettingsGroupBox.ResumeLayout(false);
+      this.CSVSettingsGroupBox.PerformLayout();
+      this.ProblemDataSettingsGroupBox.ResumeLayout(false);
+      this.ProblemDataSettingsGroupBox.PerformLayout();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    protected System.Windows.Forms.ComboBox TargetVariableComboBox;
+    protected System.Windows.Forms.Label TargetVariableLabel;
+    protected System.Windows.Forms.Label TargetVariableInfoLabel;
+
+
+  }
+}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportDialog.cs	(revision 15973)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportDialog.cs	(revision 15973)
@@ -0,0 +1,55 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Linq;
+using HeuristicLab.Problems.DataAnalysis;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
+  public partial class RegressionImportDialog : DataAnalysisImportDialog {
+    public new RegressionImportType ImportType {
+      get {
+        return new RegressionImportType() {
+          Shuffle = ShuffleDataCheckbox.Checked,
+          TrainingPercentage = TrainingTestTrackBar.Value,
+          TargetVariable = (String)TargetVariableComboBox.SelectedValue
+        };
+      }
+    }
+
+    public RegressionImportDialog() {
+      InitializeComponent();
+    }
+
+    protected override void CheckAdditionalConstraints(TableFileParser csvParser) {
+      base.CheckAdditionalConstraints(csvParser);
+      SetPossibleTargetVariables();
+    }
+
+    protected void SetPossibleTargetVariables() {
+      var dataset = PreviewDatasetMatrix.Content as Dataset;
+      if (dataset != null) {
+        // Remove " (Double)" at the end of the variable name (last 9 chars)
+        TargetVariableComboBox.DataSource = dataset.DoubleVariables.Select(x => x.Substring(0, x.Length - 9)).ToList();
+      }
+    }
+  }
+}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportTypeDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportTypeDialog.Designer.cs	(revision 15651)
+++ 	(revision )
@@ -1,138 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-  partial class RegressionImportTypeDialog {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.TargetVariableComboBox = new System.Windows.Forms.ComboBox();
-      this.TargetVariableLabel = new System.Windows.Forms.Label();
-      this.TargetVariableInfoLabel = new System.Windows.Forms.Label();
-      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
-      this.CSVSettingsGroupBox.SuspendLayout();
-      this.ProblemDataSettingsGroupBox.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // OkButton
-      // 
-      this.OkButton.Location = new System.Drawing.Point(303, 421);
-      // 
-      // CancelationButton
-      // 
-      this.CancelationButton.Location = new System.Drawing.Point(384, 421);
-      // 
-      // ProblemDataSettingsGroupBox
-      // 
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableInfoLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
-      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 251);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffelInfoLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableComboBox, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffleDataCheckbox, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableInfoLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingTestTrackBar, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewDatasetMatrix, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TestLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ErrorTextBox, 0);
-      // 
-      // TargetVariableComboBox
-      // 
-      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.TargetVariableComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.TargetVariableComboBox.FormattingEnabled = true;
-      this.TargetVariableComboBox.Location = new System.Drawing.Point(230, 19);
-      this.TargetVariableComboBox.Name = "TargetVariableComboBox";
-      this.TargetVariableComboBox.Size = new System.Drawing.Size(181, 21);
-      this.TargetVariableComboBox.TabIndex = 10;
-      // 
-      // TargetVariableLabel
-      // 
-      this.TargetVariableLabel.AutoSize = true;
-      this.TargetVariableLabel.Location = new System.Drawing.Point(142, 22);
-      this.TargetVariableLabel.Name = "TargetVariableLabel";
-      this.TargetVariableLabel.Size = new System.Drawing.Size(82, 13);
-      this.TargetVariableLabel.TabIndex = 20;
-      this.TargetVariableLabel.Text = "Target Variable:";
-      // 
-      // TargetVariableinfoLabel
-      // 
-      this.TargetVariableInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.TargetVariableInfoLabel.Location = new System.Drawing.Point(421, 22);
-      this.TargetVariableInfoLabel.Name = "Target Variable Info";
-      this.TargetVariableInfoLabel.Size = new System.Drawing.Size(16, 16);
-      this.TargetVariableInfoLabel.TabIndex = 21;
-      this.TargetVariableInfoLabel.Tag = "Select the target variable of the csv file.";
-      this.TargetVariableInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
-      this.TargetVariableInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
-      this.ToolTip.SetToolTip(this.TargetVariableInfoLabel, (string)this.TargetVariableInfoLabel.Tag);
-      // 
-      // RegressionImportTypeDialog
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(471, 456);
-      this.Name = "RegressionImportTypeDialog";
-      this.Text = "Regression CSV Import";
-      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).EndInit();
-      this.CSVSettingsGroupBox.ResumeLayout(false);
-      this.CSVSettingsGroupBox.PerformLayout();
-      this.ProblemDataSettingsGroupBox.ResumeLayout(false);
-      this.ProblemDataSettingsGroupBox.PerformLayout();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    protected System.Windows.Forms.ComboBox TargetVariableComboBox;
-    protected System.Windows.Forms.Label TargetVariableLabel;
-    protected System.Windows.Forms.Label TargetVariableInfoLabel;
-
-
-  }
-}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportTypeDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportTypeDialog.cs	(revision 15651)
+++ 	(revision )
@@ -1,55 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Linq;
-using HeuristicLab.Problems.DataAnalysis;
-
-namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-  public partial class RegressionImportTypeDialog : DataAnalysisImportTypeDialog {
-    public new RegressionImportType ImportType {
-      get {
-        return new RegressionImportType() {
-          Shuffle = ShuffleDataCheckbox.Checked,
-          TrainingPercentage = TrainingTestTrackBar.Value,
-          TargetVariable = (String)TargetVariableComboBox.SelectedValue
-        };
-      }
-    }
-
-    public RegressionImportTypeDialog() {
-      InitializeComponent();
-    }
-
-    protected override void CheckAdditionalConstraints(TableFileParser csvParser) {
-      base.CheckAdditionalConstraints(csvParser);
-      SetPossibleTargetVariables();
-    }
-
-    protected void SetPossibleTargetVariables() {
-      var dataset = PreviewDatasetMatrix.Content as Dataset;
-      if (dataset != null) {
-        // Remove " (Double)" at the end of the variable name (last 9 chars)
-        TargetVariableComboBox.DataSource = dataset.DoubleVariables.Select(x => x.Substring(0, x.Length - 9)).ToList();
-      }
-    }
-  }
-}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,5 +21,5 @@
 
 using System;
-using System.IO;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 using HeuristicLab.MainForm;
@@ -41,19 +41,37 @@
 
     protected override void importButton_Click(object sender, EventArgs e) {
-      var importTypeDialog = new RegressionImportTypeDialog();
+      var importTypeDialog = new RegressionImportDialog();
       if (importTypeDialog.ShowDialog() == DialogResult.OK) {
         IRegressionProblemData instance = null;
-        try {
-          instance = Content.ImportData(importTypeDialog.Path, importTypeDialog.ImportType, importTypeDialog.CSVFormat);
-        } catch (IOException ex) {
-          ErrorWhileParsing(ex);
-          return;
-        }
-        try {
-          GenericConsumer.Load(instance);
-          instancesComboBox.SelectedIndex = -1;
-        } catch (IOException ex) {
-          ErrorWhileLoading(ex, importTypeDialog.Path);
-        }
+
+        Task.Factory.StartNew(() => {
+          var mainForm = (MainForm.WindowsForms.MainForm)MainFormManager.MainForm;
+          // lock active view and show progress bar
+          IContentView activeView = (IContentView)MainFormManager.MainForm.ActiveView;
+
+          try {
+            var progress = mainForm.AddOperationProgressToContent(activeView.Content,
+              "Loading problem instance.");
+
+            Content.ProgressChanged +=
+              (o, args) => { progress.ProgressValue = args.ProgressPercentage / 100.0; };
+
+            instance = Content.ImportData(importTypeDialog.Path, importTypeDialog.ImportType,
+              importTypeDialog.CSVFormat);
+          } catch (Exception ex) {
+            ErrorWhileParsing(ex);
+            return;
+          } finally {
+            mainForm.RemoveOperationProgressFromContent(activeView.Content);
+          }
+
+          try {
+            GenericConsumer.Load(instance);
+          } catch (Exception ex) {
+            ErrorWhileLoading(ex, importTypeDialog.Path);
+          } finally {
+            Invoke((Action)(() => instancesComboBox.SelectedIndex = -1));
+          }
+        });
       }
     }
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportDialog.Designer.cs	(revision 15973)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportDialog.Designer.cs	(revision 15973)
@@ -0,0 +1,159 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
+  partial class TimeSeriesPrognosisImportDialog {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TimeSeriesPrognosisImportDialog));
+      this.TargetVariableComboBox = new System.Windows.Forms.ComboBox();
+      this.TargetVariableLabel = new System.Windows.Forms.Label();
+      this.TargetVariableInfoLabel = new System.Windows.Forms.Label();
+      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
+      this.CSVSettingsGroupBox.SuspendLayout();
+      this.ProblemDataSettingsGroupBox.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // ShuffleDataCheckbox
+      // 
+      this.ShuffleDataCheckbox.Enabled = false;
+      this.ShuffleDataCheckbox.Visible = false;
+
+      // 
+      // ProblemDataSettingsGroupBox
+      // 
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableInfoLabel);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
+      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableLabel);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffleDataCheckbox, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffelInfoLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableComboBox, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableInfoLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingTestTrackBar, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewDatasetMatrix, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TestLabel, 0);
+      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ErrorTextBox, 0);
+      // 
+      // ErrorTextBox
+      // 
+      this.ErrorTextBox.Location = new System.Drawing.Point(6, 19);
+      this.ErrorTextBox.Size = new System.Drawing.Size(435, 69);
+      // 
+      // SeparatorInfoLabel
+      // 
+      this.ToolTip.SetToolTip(this.SeparatorInfoLabel, "Select the separator used to separate columns in the csv file.");
+      // 
+      // DateTimeFormatInfoLabel
+      // 
+      this.ToolTip.SetToolTip(this.DateTimeFormatInfoLabel, "Select the date time format used in the csv file");
+      // 
+      // DecimalSeparatorInfoLabel
+      // 
+      this.ToolTip.SetToolTip(this.DecimalSeparatorInfoLabel, "Select the decimal separator used to for double values");
+      // 
+      // ShuffelInfoLabel
+      // 
+      this.ShuffelInfoLabel.Enabled = false;
+      this.ToolTip.SetToolTip(this.ShuffelInfoLabel, "Check, if the importat data should be shuffled");
+      this.ShuffelInfoLabel.Visible = false;
+      // 
+      // TargetVariableComboBox
+      // 
+      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.TargetVariableComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.TargetVariableComboBox.FormattingEnabled = true;
+      this.TargetVariableComboBox.Location = new System.Drawing.Point(111, 19);
+      this.TargetVariableComboBox.Name = "TargetVariableComboBox";
+      this.TargetVariableComboBox.Size = new System.Drawing.Size(300, 21);
+      this.TargetVariableComboBox.TabIndex = 10;
+      // 
+      // TargetVariableLabel
+      // 
+      this.TargetVariableLabel.AutoSize = true;
+      this.TargetVariableLabel.Location = new System.Drawing.Point(6, 22);
+      this.TargetVariableLabel.Name = "TargetVariableLabel";
+      this.TargetVariableLabel.Size = new System.Drawing.Size(82, 13);
+      this.TargetVariableLabel.TabIndex = 20;
+      this.TargetVariableLabel.Text = "Target Variable:";
+      // 
+      // TargetVariableInfoLabel
+      // 
+      this.TargetVariableInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.TargetVariableInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.TargetVariableInfoLabel.Location = new System.Drawing.Point(421, 22);
+      this.TargetVariableInfoLabel.Name = "TargetVariableInfoLabel";
+      this.TargetVariableInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.TargetVariableInfoLabel.TabIndex = 21;
+      this.TargetVariableInfoLabel.Tag = "Select the target variable of the csv file.";
+      this.TargetVariableInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      this.ToolTip.SetToolTip(this.TargetVariableInfoLabel, (string)this.TargetVariableInfoLabel.Tag);
+      // 
+      // TimeSeriesPrognosisImportDialog
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.ClientSize = new System.Drawing.Size(471, 457);
+      this.Name = "TimeSeriesPrognosisImportDialog";
+      this.Text = "TimeSeries Prognosis CSV Import";
+      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).EndInit();
+      this.CSVSettingsGroupBox.ResumeLayout(false);
+      this.CSVSettingsGroupBox.PerformLayout();
+      this.ProblemDataSettingsGroupBox.ResumeLayout(false);
+      this.ProblemDataSettingsGroupBox.PerformLayout();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    protected System.Windows.Forms.ComboBox TargetVariableComboBox;
+    protected System.Windows.Forms.Label TargetVariableLabel;
+    protected System.Windows.Forms.Label TargetVariableInfoLabel;
+
+
+  }
+}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportDialog.cs	(revision 15973)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportDialog.cs	(revision 15973)
@@ -0,0 +1,56 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Linq;
+using HeuristicLab.Problems.DataAnalysis;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
+  public partial class TimeSeriesPrognosisImportDialog : DataAnalysisImportDialog {
+    public new TimeSeriesPrognosisImportType ImportType {
+      get {
+        return new TimeSeriesPrognosisImportType() {
+          //time series prognosis problems shall not be shuffled
+          Shuffle = false,
+          TrainingPercentage = TrainingTestTrackBar.Value,
+          TargetVariable = (String)TargetVariableComboBox.SelectedValue
+        };
+      }
+    }
+
+    public TimeSeriesPrognosisImportDialog() {
+      InitializeComponent();
+    }
+
+    protected override void CheckAdditionalConstraints(TableFileParser csvParser) {
+      base.CheckAdditionalConstraints(csvParser);
+      SetPossibleTargetVariables();
+    }
+
+    protected void SetPossibleTargetVariables() {
+      var dataset = PreviewDatasetMatrix.Content as Dataset;
+      if (dataset != null) {
+        // Remove " (Double)" at the end of the variable name (last 9 chars)
+        TargetVariableComboBox.DataSource = dataset.DoubleVariables.Select(x => x.Substring(0, x.Length - 9)).ToList();
+      }
+    }
+  }
+}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportTypeDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportTypeDialog.Designer.cs	(revision 15651)
+++ 	(revision )
@@ -1,171 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-  partial class TimeSeriesPrognosisImportTypeDialog {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TimeSeriesPrognosisImportTypeDialog));
-      this.TargetVariableComboBox = new System.Windows.Forms.ComboBox();
-      this.TargetVariableLabel = new System.Windows.Forms.Label();
-      this.TargetVariableInfoLabel = new System.Windows.Forms.Label();
-      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
-      this.CSVSettingsGroupBox.SuspendLayout();
-      this.ProblemDataSettingsGroupBox.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // ShuffleDataCheckbox
-      // 
-      this.ShuffleDataCheckbox.Enabled = false;
-      this.ShuffleDataCheckbox.Visible = false;
-      // 
-      // OkButton
-      // 
-      this.OkButton.Location = new System.Drawing.Point(303, 407);
-      // 
-      // CancelationButton
-      // 
-      this.CancelationButton.Location = new System.Drawing.Point(384, 407);
-      // 
-      // ProblemDataSettingsGroupBox
-      // 
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableInfoLabel);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
-      this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableLabel);
-      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 237);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffleDataCheckbox, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffelInfoLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableComboBox, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableInfoLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingTestTrackBar, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TrainingLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewDatasetMatrix, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TestLabel, 0);
-      this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ErrorTextBox, 0);
-      // 
-      // ErrorTextBox
-      // 
-      this.ErrorTextBox.Location = new System.Drawing.Point(6, 19);
-      this.ErrorTextBox.Size = new System.Drawing.Size(435, 69);
-      // 
-      // PreviewDatasetMatrix
-      // 
-      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 123);
-      // 
-      // SeparatorInfoLabel
-      // 
-      this.ToolTip.SetToolTip(this.SeparatorInfoLabel, "Select the separator used to separate columns in the csv file.");
-      // 
-      // DateTimeFormatInfoLabel
-      // 
-      this.ToolTip.SetToolTip(this.DateTimeFormatInfoLabel, "Select the date time format used in the csv file");
-      // 
-      // DecimalSeparatorInfoLabel
-      // 
-      this.ToolTip.SetToolTip(this.DecimalSeparatorInfoLabel, "Select the decimal separator used to for double values");
-      // 
-      // ShuffelInfoLabel
-      // 
-      this.ShuffelInfoLabel.Enabled = false;
-      this.ToolTip.SetToolTip(this.ShuffelInfoLabel, "Check, if the importat data should be shuffled");
-      this.ShuffelInfoLabel.Visible = false;
-      // 
-      // TargetVariableComboBox
-      // 
-      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.TargetVariableComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.TargetVariableComboBox.FormattingEnabled = true;
-      this.TargetVariableComboBox.Location = new System.Drawing.Point(111, 19);
-      this.TargetVariableComboBox.Name = "TargetVariableComboBox";
-      this.TargetVariableComboBox.Size = new System.Drawing.Size(300, 21);
-      this.TargetVariableComboBox.TabIndex = 10;
-      // 
-      // TargetVariableLabel
-      // 
-      this.TargetVariableLabel.AutoSize = true;
-      this.TargetVariableLabel.Location = new System.Drawing.Point(6, 22);
-      this.TargetVariableLabel.Name = "TargetVariableLabel";
-      this.TargetVariableLabel.Size = new System.Drawing.Size(82, 13);
-      this.TargetVariableLabel.TabIndex = 20;
-      this.TargetVariableLabel.Text = "Target Variable:";
-      // 
-      // TargetVariableInfoLabel
-      // 
-      this.TargetVariableInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.TargetVariableInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
-      this.TargetVariableInfoLabel.Location = new System.Drawing.Point(421, 22);
-      this.TargetVariableInfoLabel.Name = "TargetVariableInfoLabel";
-      this.TargetVariableInfoLabel.Size = new System.Drawing.Size(16, 16);
-      this.TargetVariableInfoLabel.TabIndex = 21;
-      this.TargetVariableInfoLabel.Tag = "Select the target variable of the csv file.";
-      this.TargetVariableInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
-      this.ToolTip.SetToolTip(this.TargetVariableInfoLabel, (string)this.TargetVariableInfoLabel.Tag);
-      // 
-      // TimeSeriesPrognosisImportTypeDialog
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(471, 442);
-      this.Name = "TimeSeriesPrognosisImportTypeDialog";
-      this.Text = "TimeSeries Prognosis CSV Import";
-      ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).EndInit();
-      this.CSVSettingsGroupBox.ResumeLayout(false);
-      this.CSVSettingsGroupBox.PerformLayout();
-      this.ProblemDataSettingsGroupBox.ResumeLayout(false);
-      this.ProblemDataSettingsGroupBox.PerformLayout();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    protected System.Windows.Forms.ComboBox TargetVariableComboBox;
-    protected System.Windows.Forms.Label TargetVariableLabel;
-    protected System.Windows.Forms.Label TargetVariableInfoLabel;
-
-
-  }
-}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportTypeDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportTypeDialog.cs	(revision 15651)
+++ 	(revision )
@@ -1,56 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Linq;
-using HeuristicLab.Problems.DataAnalysis;
-
-namespace HeuristicLab.Problems.Instances.DataAnalysis.Views {
-  public partial class TimeSeriesPrognosisImportTypeDialog : DataAnalysisImportTypeDialog {
-    public new TimeSeriesPrognosisImportType ImportType {
-      get {
-        return new TimeSeriesPrognosisImportType() {
-          //time series prognosis problems shall not be shuffled
-          Shuffle = false,
-          TrainingPercentage = TrainingTestTrackBar.Value,
-          TargetVariable = (String)TargetVariableComboBox.SelectedValue
-        };
-      }
-    }
-
-    public TimeSeriesPrognosisImportTypeDialog() {
-      InitializeComponent();
-    }
-
-    protected override void CheckAdditionalConstraints(TableFileParser csvParser) {
-      base.CheckAdditionalConstraints(csvParser);
-      SetPossibleTargetVariables();
-    }
-
-    protected void SetPossibleTargetVariables() {
-      var dataset = PreviewDatasetMatrix.Content as Dataset;
-      if (dataset != null) {
-        // Remove " (Double)" at the end of the variable name (last 9 chars)
-        TargetVariableComboBox.DataSource = dataset.DoubleVariables.Select(x => x.Substring(0, x.Length - 9)).ToList();
-      }
-    }
-  }
-}
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisInstanceProviderView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisInstanceProviderView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisInstanceProviderView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisInstanceProviderView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisInstanceProviderView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisInstanceProviderView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -41,5 +41,5 @@
 
     protected override void importButton_Click(object sender, EventArgs e) {
-      var importTypeDialog = new TimeSeriesPrognosisImportTypeDialog();
+      var importTypeDialog = new TimeSeriesPrognosisImportDialog();
       if (importTypeDialog.ShowDialog() == DialogResult.OK) {
         ITimeSeriesPrognosisProblemData instance = null;
