Index: trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs	(revision 13507)
+++ trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs	(revision 13508)
@@ -21,6 +21,6 @@
 
 using System;
-using System.Collections.Generic;
-using System.Linq;
+using System.IO;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 using HeuristicLab.Common;
@@ -28,4 +28,7 @@
 using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
+using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Problems.Instances.DataAnalysis;
+using HeuristicLab.Problems.Instances.DataAnalysis.Views;
 
 namespace HeuristicLab.DataPreprocessing.Views {
@@ -68,20 +71,28 @@
 
         viewShortcutListView.Content = viewShortcuts.AsReadOnly();
-
         viewShortcutListView.ItemsListView.Items[0].Selected = true;
         viewShortcutListView.Select();
 
-        applyComboBox.Items.Clear();
-        applyComboBox.DataSource = Content.ExportPossibilities.ToList();
-        applyComboBox.DisplayMember = "Key";
-        if (applyComboBox.Items.Count > 0)
-          applyComboBox.SelectedIndex = 0;
+        applyTypeContextMenuStrip.Items.Clear();
+        exportTypeContextMenuStrip.Items.Clear();
+        foreach (var exportOption in Content.GetSourceExportOptions()) {
+          var applyMenuItem = new ToolStripMenuItem(exportOption.Key) { Tag = exportOption.Value };
+          applyMenuItem.Click += applyToolStripMenuItem_Click;
+          applyTypeContextMenuStrip.Items.Add(applyMenuItem);
+
+          var exportMenuItem = new ToolStripMenuItem(exportOption.Key) { Tag = exportOption.Value };
+          exportMenuItem.Click += exportToolStripMenuItem_Click;
+          exportTypeContextMenuStrip.Items.Add(exportMenuItem);
+        }
+        var exportCsvMenuItem = new ToolStripMenuItem(".csv");
+        exportCsvMenuItem.Click += exportCsvMenuItem_Click;
+        exportTypeContextMenuStrip.Items.Add(exportCsvMenuItem);
       } else {
         viewShortcutListView.Content = null;
       }
     }
-
     protected override void RegisterContentEvents() {
       base.RegisterContentEvents();
+      Content.Reset += Content_Reset;
       Content.Data.FilterChanged += Data_FilterChanged;
     }
@@ -89,5 +100,10 @@
     protected override void DeregisterContentEvents() {
       base.DeregisterContentEvents();
+      Content.Reset -= Content_Reset;
       Content.Data.FilterChanged -= Data_FilterChanged;
+    }
+
+    void Content_Reset(object sender, EventArgs e) {
+      OnContentChanged(); // Reset by setting new content
     }
 
@@ -104,8 +120,87 @@
     }
 
+    #region New
+    private void newButton_Click(object sender, EventArgs e) {
+      newProblemDataTypeContextMenuStrip.Show(Cursor.Position);
+    }
+    private void newRegressionToolStripMenuItem_Click(object sender, EventArgs e) {
+      Content.Import(new RegressionProblemData());
+    }
+    private void newClassificationToolStripMenuItem_Click(object sender, EventArgs e) {
+      Content.Import(new ClassificationProblemData());
+    }
+    private void newTimeSeriesToolStripMenuItem_Click(object sender, EventArgs e) {
+      Content.Import(new TimeSeriesPrognosisProblemData());
+    }
+    #endregion
+
+    #region Import
+    private void importButton_Click(object sender, EventArgs e) {
+      importProblemDataTypeContextMenuStrip.Show(Cursor.Position);
+    }
+    private void importRegressionToolStripMenuItem_Click(object sender, EventArgs e) {
+      Import(new RegressionCSVInstanceProvider(), new RegressionImportTypeDialog(),
+        (dialog => ((RegressionImportTypeDialog)dialog).ImportType));
+    }
+    private void importClassificationToolStripMenuItem_Click(object sender, EventArgs e) {
+      Import(new ClassificationCSVInstanceProvider(), new ClassificationImportTypeDialog(),
+        (dialog => ((ClassificationImportTypeDialog)dialog).ImportType));
+    }
+    private void importTimeSeriesToolStripMenuItem_Click(object sender, EventArgs e) {
+      Import(new TimeSeriesPrognosisCSVInstanceProvider(), new TimeSeriesPrognosisImportTypeDialog(),
+        (dialog => ((TimeSeriesPrognosisImportTypeDialog)dialog).ImportType));
+    }
+    private void Import<TProblemData, TImportType>(DataAnalysisInstanceProvider<TProblemData, TImportType> instanceProvider, DataAnalysisImportTypeDialog importTypeDialog,
+      Func<DataAnalysisImportTypeDialog, TImportType> getImportType)
+      where TProblemData : class, IDataAnalysisProblemData
+      where TImportType : DataAnalysisImportType {
+      if (importTypeDialog.ShowDialog() == DialogResult.OK) {
+        Task.Run(() => {
+          TProblemData instance;
+          var mainForm = (MainForm.WindowsForms.MainForm)MainFormManager.MainForm;
+          // lock active view and show progress bar
+          var activeView = (IContentView)MainFormManager.MainForm.ActiveView;
+
+          try {
+            var progress = mainForm.AddOperationProgressToContent(activeView.Content, "Loading problem instance.");
+
+            instanceProvider.ProgressChanged += (o, args) => { progress.ProgressValue = args.ProgressPercentage / 100.0; };
+
+            instance = instanceProvider.ImportData(importTypeDialog.Path, getImportType(importTypeDialog), importTypeDialog.CSVFormat);
+          } catch (IOException ex) {
+            MessageBox.Show(string.Format("There was an error parsing the file: {0}", Environment.NewLine + ex.Message), "Error while parsing", MessageBoxButtons.OK, MessageBoxIcon.Error);
+            mainForm.RemoveOperationProgressFromContent(activeView.Content);
+            return;
+          }
+          try {
+            Content.Import(instance);
+          } catch (IOException ex) {
+            MessageBox.Show(string.Format("This problem does not support loading the instance {0}: {1}", Path.GetFileName(importTypeDialog.Path), Environment.NewLine + ex.Message), "Cannot load instance");
+          } finally {
+            mainForm.RemoveOperationProgressFromContent(activeView.Content);
+          }
+        });
+      }
+    }
+    #endregion
+
+    #region Apply
+    private void applyInNewTabButton_Click(object sender, EventArgs e) {
+      applyTypeContextMenuStrip.Show(Cursor.Position);
+    }
+    private void applyToolStripMenuItem_Click(object sender, EventArgs e) {
+      var menuItem = (ToolStripMenuItem)sender;
+      var itemCreator = (Func<IItem>)menuItem.Tag;
+      MainFormManager.MainForm.ShowContent(itemCreator());
+    }
+    #endregion
+
+    #region Export
     private void exportProblemButton_Click(object sender, EventArgs e) {
-      var exportOption = (KeyValuePair<string, Func<IItem>>)applyComboBox.SelectedItem;
-      var exportItem = exportOption.Value();
-
+      exportTypeContextMenuStrip.Show(Cursor.Position);
+    }
+    private void exportToolStripMenuItem_Click(object sender, EventArgs e) {
+      var menuItem = (ToolStripMenuItem)sender;
+      var itemCreator = (Func<IItem>)menuItem.Tag;
       var saveFileDialog = new SaveFileDialog {
         Title = "Save Item",
@@ -115,21 +210,60 @@
       };
 
-      var content = exportItem as IStorableContent;
       if (saveFileDialog.ShowDialog() == DialogResult.OK) {
-        bool compressed = saveFileDialog.FilterIndex != 1;
-        ContentManager.Save(content, saveFileDialog.FileName, compressed);
-      }
-    }
-
-    private void applyInNewTabButton_Click(object sender, EventArgs e) {
-      var exportOption = (KeyValuePair<string, Func<IItem>>)applyComboBox.SelectedItem;
-      var exportItem = exportOption.Value();
-
-      MainFormManager.MainForm.ShowContent(exportItem);
-    }
-
+        Task.Run(() => {
+          bool compressed = saveFileDialog.FilterIndex != 1;
+          var storable = itemCreator() as IStorableContent;
+          if (storable != null) {
+            var mainForm = (MainForm.WindowsForms.MainForm)MainFormManager.MainForm;
+            var activeView = (IContentView)MainFormManager.MainForm.ActiveView;
+            try {
+              mainForm.AddOperationProgressToContent(activeView.Content, "Exporting data.");
+              ContentManager.Save(storable, saveFileDialog.FileName, compressed);
+            } finally {
+              mainForm.RemoveOperationProgressFromContent(activeView.Content);
+            }
+          }
+        });
+      }
+    }
+    private void exportCsvMenuItem_Click(object sender, EventArgs e) {
+      var saveFileDialog = new SaveFileDialog {
+        Title = "Save Data",
+        DefaultExt = "csv",
+        Filter = "CSV files|*.csv|All files|*.*",
+        FilterIndex = 1
+      };
+
+      if (saveFileDialog.ShowDialog() == DialogResult.OK) {
+        Task.Run(() => {
+          var mainForm = (MainForm.WindowsForms.MainForm)MainFormManager.MainForm;
+          var activeView = (IContentView)MainFormManager.MainForm.ActiveView;
+          try {
+            var problemData = Content.CreateNewProblemData();
+            mainForm.AddOperationProgressToContent(activeView.Content, "Exporting data.");
+            if (problemData is TimeSeriesPrognosisProblemData)
+              Export(new TimeSeriesPrognosisCSVInstanceProvider(), problemData, saveFileDialog.FileName);
+            else if (problemData is RegressionProblemData)
+              Export(new RegressionCSVInstanceProvider(), problemData, saveFileDialog.FileName);
+            else if (problemData is ClassificationProblemData)
+              Export(new ClassificationCSVInstanceProvider(), problemData, saveFileDialog.FileName);
+          } finally {
+            mainForm.RemoveOperationProgressFromContent(activeView.Content);
+          }
+        });
+      }
+    }
+    private void Export<TProblemData, TImportType>(DataAnalysisInstanceProvider<TProblemData, TImportType> instanceProvider,
+      IDataAnalysisProblemData problemData, string path)
+      where TProblemData : class, IDataAnalysisProblemData where TImportType : DataAnalysisImportType {
+      instanceProvider.ExportData((TProblemData)problemData, path);
+    }
+    #endregion
+
+    #region Undo / Redo
     private void undoButton_Click(object sender, EventArgs e) {
       Content.Data.Undo();
     }
+    #endregion
   }
 }
Index: trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.designer.cs
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.designer.cs	(revision 13507)
+++ trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.designer.cs	(revision 13508)
@@ -45,4 +45,5 @@
     /// </summary>
     private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DataPreprocessingView));
       this.undoButton = new System.Windows.Forms.Button();
@@ -50,9 +51,21 @@
       this.exportProblemButton = new System.Windows.Forms.Button();
       this.lblFilterActive = new System.Windows.Forms.Label();
-      this.applyComboBox = new System.Windows.Forms.ComboBox();
-      this.exportLabel = new System.Windows.Forms.Label();
       this.redoButton = new System.Windows.Forms.Button();
+      this.newButton = new System.Windows.Forms.Button();
+      this.importButton = new System.Windows.Forms.Button();
+      this.newProblemDataTypeContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+      this.newRegressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.newClassificationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.newTimeSeriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.importProblemDataTypeContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+      this.importRegressionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.importClassificationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.importTimeSeriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
       this.viewShortcutListView = new HeuristicLab.DataPreprocessing.Views.ViewShortcutListView();
+      this.applyTypeContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+      this.exportTypeContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+      this.newProblemDataTypeContextMenuStrip.SuspendLayout();
+      this.importProblemDataTypeContextMenuStrip.SuspendLayout();
       this.SuspendLayout();
       // 
@@ -70,5 +83,5 @@
       // 
       this.undoButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Undo;
-      this.undoButton.Location = new System.Drawing.Point(6, 56);
+      this.undoButton.Location = new System.Drawing.Point(131, 26);
       this.undoButton.Name = "undoButton";
       this.undoButton.Size = new System.Drawing.Size(24, 24);
@@ -81,5 +94,5 @@
       // 
       this.applyInNewTabButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Play;
-      this.applyInNewTabButton.Location = new System.Drawing.Point(57, 26);
+      this.applyInNewTabButton.Location = new System.Drawing.Point(69, 26);
       this.applyInNewTabButton.Name = "applyInNewTabButton";
       this.applyInNewTabButton.Size = new System.Drawing.Size(24, 24);
@@ -91,10 +104,10 @@
       // exportProblemButton
       // 
-      this.exportProblemButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Save;
-      this.exportProblemButton.Location = new System.Drawing.Point(87, 26);
+      this.exportProblemButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.SaveAs;
+      this.exportProblemButton.Location = new System.Drawing.Point(99, 26);
       this.exportProblemButton.Name = "exportProblemButton";
       this.exportProblemButton.Size = new System.Drawing.Size(24, 24);
       this.exportProblemButton.TabIndex = 3;
-      this.toolTip.SetToolTip(this.exportProblemButton, "Save");
+      this.toolTip.SetToolTip(this.exportProblemButton, "Export to File");
       this.exportProblemButton.UseVisualStyleBackColor = true;
       this.exportProblemButton.Click += new System.EventHandler(this.exportProblemButton_Click);
@@ -103,5 +116,5 @@
       // 
       this.lblFilterActive.AutoSize = true;
-      this.lblFilterActive.Location = new System.Drawing.Point(84, 62);
+      this.lblFilterActive.Location = new System.Drawing.Point(203, 31);
       this.lblFilterActive.Name = "lblFilterActive";
       this.lblFilterActive.Size = new System.Drawing.Size(277, 13);
@@ -110,33 +123,9 @@
       this.lblFilterActive.Visible = false;
       // 
-      // applyComboBox
-      // 
-      this.applyComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.applyComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.applyComboBox.FormattingEnabled = true;
-      this.applyComboBox.Items.AddRange(new object[] {
-            "Algorithm",
-            "Problem",
-            "ProblemData"});
-      this.applyComboBox.Location = new System.Drawing.Point(117, 28);
-      this.applyComboBox.Name = "applyComboBox";
-      this.applyComboBox.Size = new System.Drawing.Size(696, 21);
-      this.applyComboBox.TabIndex = 4;
-      // 
-      // exportLabel
-      // 
-      this.exportLabel.AutoSize = true;
-      this.exportLabel.Location = new System.Drawing.Point(5, 31);
-      this.exportLabel.Name = "exportLabel";
-      this.exportLabel.Size = new System.Drawing.Size(40, 13);
-      this.exportLabel.TabIndex = 8;
-      this.exportLabel.Text = "Export:";
-      // 
       // redoButton
       // 
       this.redoButton.Enabled = false;
       this.redoButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Redo;
-      this.redoButton.Location = new System.Drawing.Point(36, 56);
+      this.redoButton.Location = new System.Drawing.Point(161, 26);
       this.redoButton.Name = "redoButton";
       this.redoButton.Size = new System.Drawing.Size(24, 24);
@@ -145,4 +134,84 @@
       this.redoButton.UseVisualStyleBackColor = true;
       // 
+      // newButton
+      // 
+      this.newButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.NewDocument;
+      this.newButton.Location = new System.Drawing.Point(6, 26);
+      this.newButton.Name = "newButton";
+      this.newButton.Size = new System.Drawing.Size(24, 24);
+      this.newButton.TabIndex = 3;
+      this.newButton.UseVisualStyleBackColor = true;
+      this.newButton.Click += new System.EventHandler(this.newButton_Click);
+      // 
+      // importButton
+      // 
+      this.importButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Open;
+      this.importButton.Location = new System.Drawing.Point(36, 26);
+      this.importButton.Name = "importButton";
+      this.importButton.Size = new System.Drawing.Size(24, 24);
+      this.importButton.TabIndex = 3;
+      this.importButton.UseVisualStyleBackColor = true;
+      this.importButton.Click += new System.EventHandler(this.importButton_Click);
+      // 
+      // newProblemDataTypeContextMenuStrip
+      // 
+      this.newProblemDataTypeContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.newRegressionToolStripMenuItem,
+            this.newClassificationToolStripMenuItem,
+            this.newTimeSeriesToolStripMenuItem});
+      this.newProblemDataTypeContextMenuStrip.Name = "newProblemDataTypeContextMenuStrip";
+      this.newProblemDataTypeContextMenuStrip.Size = new System.Drawing.Size(190, 70);
+      // 
+      // newRegressionToolStripMenuItem
+      // 
+      this.newRegressionToolStripMenuItem.Name = "newRegressionToolStripMenuItem";
+      this.newRegressionToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
+      this.newRegressionToolStripMenuItem.Text = "Regression";
+      this.newRegressionToolStripMenuItem.Click += new System.EventHandler(this.newRegressionToolStripMenuItem_Click);
+      // 
+      // newClassificationToolStripMenuItem
+      // 
+      this.newClassificationToolStripMenuItem.Name = "newClassificationToolStripMenuItem";
+      this.newClassificationToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
+      this.newClassificationToolStripMenuItem.Text = "Classification";
+      this.newClassificationToolStripMenuItem.Click += new System.EventHandler(this.newClassificationToolStripMenuItem_Click);
+      // 
+      // newTimeSeriesToolStripMenuItem
+      // 
+      this.newTimeSeriesToolStripMenuItem.Name = "newTimeSeriesToolStripMenuItem";
+      this.newTimeSeriesToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
+      this.newTimeSeriesToolStripMenuItem.Text = "Time Series Prognosis";
+      this.newTimeSeriesToolStripMenuItem.Click += new System.EventHandler(this.newTimeSeriesToolStripMenuItem_Click);
+      // 
+      // importProblemDataTypeContextMenuStrip
+      // 
+      this.importProblemDataTypeContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.importRegressionToolStripMenuItem,
+            this.importClassificationToolStripMenuItem,
+            this.importTimeSeriesToolStripMenuItem});
+      this.importProblemDataTypeContextMenuStrip.Name = "newProblemDataTypeContextMenuStrip";
+      this.importProblemDataTypeContextMenuStrip.Size = new System.Drawing.Size(190, 92);
+      // 
+      // importRegressionToolStripMenuItem
+      // 
+      this.importRegressionToolStripMenuItem.Name = "importRegressionToolStripMenuItem";
+      this.importRegressionToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
+      this.importRegressionToolStripMenuItem.Text = "Regression";
+      this.importRegressionToolStripMenuItem.Click += new System.EventHandler(this.importRegressionToolStripMenuItem_Click);
+      // 
+      // importClassificationToolStripMenuItem
+      // 
+      this.importClassificationToolStripMenuItem.Name = "importClassificationToolStripMenuItem";
+      this.importClassificationToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
+      this.importClassificationToolStripMenuItem.Text = "Classification";
+      this.importClassificationToolStripMenuItem.Click += new System.EventHandler(this.importClassificationToolStripMenuItem_Click);
+      // 
+      // importTimeSeriesToolStripMenuItem
+      // 
+      this.importTimeSeriesToolStripMenuItem.Name = "importTimeSeriesToolStripMenuItem";
+      this.importTimeSeriesToolStripMenuItem.Size = new System.Drawing.Size(189, 22);
+      this.importTimeSeriesToolStripMenuItem.Text = "Time Series Prognosis";
+      this.importTimeSeriesToolStripMenuItem.Click += new System.EventHandler(this.importTimeSeriesToolStripMenuItem_Click);
+      // 
       // viewShortcutListView
       // 
@@ -152,9 +221,19 @@
       this.viewShortcutListView.Caption = "ViewShortcutCollection View";
       this.viewShortcutListView.Content = null;
-      this.viewShortcutListView.Location = new System.Drawing.Point(4, 86);
+      this.viewShortcutListView.Location = new System.Drawing.Point(4, 56);
       this.viewShortcutListView.Name = "viewShortcutListView";
       this.viewShortcutListView.ReadOnly = false;
-      this.viewShortcutListView.Size = new System.Drawing.Size(831, 360);
+      this.viewShortcutListView.Size = new System.Drawing.Size(831, 390);
       this.viewShortcutListView.TabIndex = 7;
+      // 
+      // applyTypeContextMenuStrip
+      // 
+      this.applyTypeContextMenuStrip.Name = "newProblemDataTypeContextMenuStrip";
+      this.applyTypeContextMenuStrip.Size = new System.Drawing.Size(61, 4);
+      // 
+      // exportTypeContextMenuStrip
+      // 
+      this.exportTypeContextMenuStrip.Name = "newProblemDataTypeContextMenuStrip";
+      this.exportTypeContextMenuStrip.Size = new System.Drawing.Size(61, 4);
       // 
       // DataPreprocessingView
@@ -162,26 +241,28 @@
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.applyComboBox);
-      this.Controls.Add(this.exportLabel);
+      this.Controls.Add(this.newButton);
+      this.Controls.Add(this.importButton);
+      this.Controls.Add(this.applyInNewTabButton);
       this.Controls.Add(this.exportProblemButton);
-      this.Controls.Add(this.applyInNewTabButton);
+      this.Controls.Add(this.undoButton);
+      this.Controls.Add(this.redoButton);
       this.Controls.Add(this.lblFilterActive);
       this.Controls.Add(this.viewShortcutListView);
-      this.Controls.Add(this.redoButton);
-      this.Controls.Add(this.undoButton);
       this.Name = "DataPreprocessingView";
       this.Size = new System.Drawing.Size(838, 449);
-      this.Controls.SetChildIndex(this.undoButton, 0);
-      this.Controls.SetChildIndex(this.redoButton, 0);
       this.Controls.SetChildIndex(this.viewShortcutListView, 0);
       this.Controls.SetChildIndex(this.lblFilterActive, 0);
+      this.Controls.SetChildIndex(this.redoButton, 0);
+      this.Controls.SetChildIndex(this.undoButton, 0);
+      this.Controls.SetChildIndex(this.exportProblemButton, 0);
+      this.Controls.SetChildIndex(this.applyInNewTabButton, 0);
+      this.Controls.SetChildIndex(this.importButton, 0);
+      this.Controls.SetChildIndex(this.newButton, 0);
+      this.Controls.SetChildIndex(this.infoLabel, 0);
+      this.Controls.SetChildIndex(this.nameTextBox, 0);
       this.Controls.SetChildIndex(this.nameLabel, 0);
-      this.Controls.SetChildIndex(this.nameTextBox, 0);
-      this.Controls.SetChildIndex(this.infoLabel, 0);
-      this.Controls.SetChildIndex(this.applyInNewTabButton, 0);
-      this.Controls.SetChildIndex(this.exportProblemButton, 0);
-      this.Controls.SetChildIndex(this.exportLabel, 0);
-      this.Controls.SetChildIndex(this.applyComboBox, 0);
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+      this.newProblemDataTypeContextMenuStrip.ResumeLayout(false);
+      this.importProblemDataTypeContextMenuStrip.ResumeLayout(false);
       this.ResumeLayout(false);
       this.PerformLayout();
@@ -196,7 +277,17 @@
     private ViewShortcutListView viewShortcutListView;
     private System.Windows.Forms.Label lblFilterActive;
-    private System.Windows.Forms.Label exportLabel;
     private System.Windows.Forms.Button redoButton;
-    private System.Windows.Forms.ComboBox applyComboBox;
+    private System.Windows.Forms.Button newButton;
+    private System.Windows.Forms.Button importButton;
+    private System.Windows.Forms.ContextMenuStrip newProblemDataTypeContextMenuStrip;
+    private System.Windows.Forms.ToolStripMenuItem newRegressionToolStripMenuItem;
+    private System.Windows.Forms.ToolStripMenuItem newClassificationToolStripMenuItem;
+    private System.Windows.Forms.ToolStripMenuItem newTimeSeriesToolStripMenuItem;
+    private System.Windows.Forms.ContextMenuStrip importProblemDataTypeContextMenuStrip;
+    private System.Windows.Forms.ToolStripMenuItem importRegressionToolStripMenuItem;
+    private System.Windows.Forms.ToolStripMenuItem importClassificationToolStripMenuItem;
+    private System.Windows.Forms.ToolStripMenuItem importTimeSeriesToolStripMenuItem;
+    private System.Windows.Forms.ContextMenuStrip applyTypeContextMenuStrip;
+    private System.Windows.Forms.ContextMenuStrip exportTypeContextMenuStrip;
   }
 }
Index: trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessorStarter.cs
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessorStarter.cs	(revision 13507)
+++ trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessorStarter.cs	(revision 13508)
@@ -34,5 +34,5 @@
       IDataAnalysisProblem problem;
       GetMostOuterContent(currentView as Control, out algorithm, out problem);
-      var context = new PreprocessingContext(algorithm ?? problem ?? problemData as IItem);
+      var context = new PreprocessingContext(problemData, algorithm ?? problem ?? problemData as IItem);
       MainFormManager.MainForm.ShowContent(context);
     }
Index: trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/HeuristicLab.DataPreprocessing.Views-3.4.csproj
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/HeuristicLab.DataPreprocessing.Views-3.4.csproj	(revision 13507)
+++ trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/HeuristicLab.DataPreprocessing.Views-3.4.csproj	(revision 13508)
@@ -255,4 +255,5 @@
       <Project>{958b43bc-cc5c-4fa2-8628-2b3b01d890b6}</Project>
       <Name>HeuristicLab.Collections-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
@@ -309,4 +310,5 @@
       <Project>{C664305E-497C-4533-A140-967DEDB05C19}</Project>
       <Name>HeuristicLab.Optimizer-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
@@ -323,4 +325,19 @@
       <Project>{df87c13e-a889-46ff-8153-66dcaa8c5674}</Project>
       <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances.DataAnalysis.Views\3.3\HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3.csproj">
+      <Project>{72232235-B6CF-4E6C-B086-9E9E11AA0717}</Project>
+      <Name>HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances.DataAnalysis\3.3\HeuristicLab.Problems.Instances.DataAnalysis-3.3.csproj">
+      <Project>{94C7714E-29D4-4D6D-B213-2C18D627AB75}</Project>
+      <Name>HeuristicLab.Problems.Instances.DataAnalysis-3.3</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
+      <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
+      <Name>HeuristicLab.Problems.Instances-3.3</Name>
       <Private>False</Private>
     </ProjectReference>
Index: trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/Plugin.cs.frame
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/Plugin.cs.frame	(revision 13507)
+++ trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/Plugin.cs.frame	(revision 13508)
@@ -44,4 +44,7 @@
   [PluginDependency("HeuristicLab.Problems.DataAnalysis", "3.4")]
   [PluginDependency("HeuristicLab.Problems.DataAnalysis.Views", "3.4")]
+  [PluginDependency("HeuristicLab.Problems.Instances", "3.3")]
+  [PluginDependency("HeuristicLab.Problems.Instances.DataAnalysis", "3.3")]
+  [PluginDependency("HeuristicLab.Problems.Instances.DataAnalysis.Views", "3.3")]
   [PluginDependency("HeuristicLab.Visualization.ChartControlsExtensions", "3.3")]
   public class HeuristicLabDataPreprocessingViewPlugin : PluginBase {
