Index: /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingMenuItem.cs	(revision 13506)
+++ /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingMenuItem.cs	(revision 13507)
@@ -21,4 +21,5 @@
 
 using System.Collections.Generic;
+using System.Windows.Forms;
 using HeuristicLab.MainForm;
 using HeuristicLab.Optimizer;
@@ -31,8 +32,8 @@
       }
       public override IEnumerable<string> Structure {
-        get { return new string[] { "&Edit" }; }
+        get { return new string[] { "&Edit", "&Data Analysis" }; }
       }
       public override int Position {
-        get { return 6000; }
+        get { return 5500; }
       }
       public override string ToolTipText {
@@ -43,4 +44,8 @@
         MainFormManager.MainForm.ShowContent(new PreprocessingContext());
       }
+
+      public override Keys ShortCutKeys {
+        get { return Keys.Control | Keys.D; }
+      }
     }
   }
Index: /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs	(revision 13506)
+++ /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs	(revision 13507)
@@ -21,4 +21,6 @@
 
 using System;
+using System.Collections.Generic;
+using System.Linq;
 using System.Windows.Forms;
 using HeuristicLab.Common;
@@ -30,5 +32,5 @@
   [View("DataPreprocessing View")]
   [Content(typeof(PreprocessingContext), true)]
-  public partial class DataPreprocessingView : ItemView {
+  public partial class DataPreprocessingView : NamedItemView {
 
     public DataPreprocessingView() {
@@ -70,4 +72,9 @@
         viewShortcutListView.Select();
 
+        applyComboBox.Items.Clear();
+        applyComboBox.DataSource = Content.ExportPossibilities.ToList();
+        applyComboBox.DisplayMember = "Key";
+        if (applyComboBox.Items.Count > 0)
+          applyComboBox.SelectedIndex = 0;
       } else {
         viewShortcutListView.Content = null;
@@ -98,6 +105,6 @@
 
     private void exportProblemButton_Click(object sender, EventArgs e) {
-      // ToDo: select one export probability
-      var problem = Content.Export();
+      var exportOption = (KeyValuePair<string, Func<IItem>>)applyComboBox.SelectedItem;
+      var exportItem = exportOption.Value();
 
       var saveFileDialog = new SaveFileDialog {
@@ -108,5 +115,5 @@
       };
 
-      var content = problem as IStorableContent;
+      var content = exportItem as IStorableContent;
       if (saveFileDialog.ShowDialog() == DialogResult.OK) {
         bool compressed = saveFileDialog.FilterIndex != 1;
@@ -116,7 +123,8 @@
 
     private void applyInNewTabButton_Click(object sender, EventArgs e) {
-      var item = Content.Export();
+      var exportOption = (KeyValuePair<string, Func<IItem>>)applyComboBox.SelectedItem;
+      var exportItem = exportOption.Value();
 
-      MainFormManager.MainForm.ShowContent(item);
+      MainFormManager.MainForm.ShowContent(exportItem);
     }
 
Index: /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.designer.cs	(revision 13506)
+++ /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.designer.cs	(revision 13507)
@@ -45,21 +45,33 @@
     /// </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();
       this.applyInNewTabButton = new System.Windows.Forms.Button();
       this.exportProblemButton = new System.Windows.Forms.Button();
-      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       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.viewShortcutListView = new HeuristicLab.DataPreprocessing.Views.ViewShortcutListView();
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.SuspendLayout();
       // 
+      // nameTextBox
+      // 
+      this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
+      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
+      this.nameTextBox.Size = new System.Drawing.Size(755, 20);
+      // 
+      // infoLabel
+      // 
+      this.infoLabel.Location = new System.Drawing.Point(819, 3);
+      // 
       // undoButton
       // 
       this.undoButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Undo;
-      this.undoButton.Location = new System.Drawing.Point(64, 3);
+      this.undoButton.Location = new System.Drawing.Point(6, 56);
       this.undoButton.Name = "undoButton";
       this.undoButton.Size = new System.Drawing.Size(24, 24);
-      this.undoButton.TabIndex = 3;
+      this.undoButton.TabIndex = 5;
       this.toolTip.SetToolTip(this.undoButton, "Undo");
       this.undoButton.UseVisualStyleBackColor = true;
@@ -69,9 +81,9 @@
       // 
       this.applyInNewTabButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Play;
-      this.applyInNewTabButton.Location = new System.Drawing.Point(34, 3);
+      this.applyInNewTabButton.Location = new System.Drawing.Point(57, 26);
       this.applyInNewTabButton.Name = "applyInNewTabButton";
       this.applyInNewTabButton.Size = new System.Drawing.Size(24, 24);
       this.applyInNewTabButton.TabIndex = 2;
-      this.toolTip.SetToolTip(this.applyInNewTabButton, "Apply in new tab");
+      this.toolTip.SetToolTip(this.applyInNewTabButton, "Apply in new Tab");
       this.applyInNewTabButton.UseVisualStyleBackColor = true;
       this.applyInNewTabButton.Click += new System.EventHandler(this.applyInNewTabButton_Click);
@@ -80,9 +92,9 @@
       // 
       this.exportProblemButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Save;
-      this.exportProblemButton.Location = new System.Drawing.Point(4, 3);
+      this.exportProblemButton.Location = new System.Drawing.Point(87, 26);
       this.exportProblemButton.Name = "exportProblemButton";
       this.exportProblemButton.Size = new System.Drawing.Size(24, 24);
-      this.exportProblemButton.TabIndex = 1;
-      this.toolTip.SetToolTip(this.exportProblemButton, "Export problem");
+      this.exportProblemButton.TabIndex = 3;
+      this.toolTip.SetToolTip(this.exportProblemButton, "Save");
       this.exportProblemButton.UseVisualStyleBackColor = true;
       this.exportProblemButton.Click += new System.EventHandler(this.exportProblemButton_Click);
@@ -91,5 +103,5 @@
       // 
       this.lblFilterActive.AutoSize = true;
-      this.lblFilterActive.Location = new System.Drawing.Point(220, 12);
+      this.lblFilterActive.Location = new System.Drawing.Point(84, 62);
       this.lblFilterActive.Name = "lblFilterActive";
       this.lblFilterActive.Size = new System.Drawing.Size(277, 13);
@@ -98,16 +110,51 @@
       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.Name = "redoButton";
+      this.redoButton.Size = new System.Drawing.Size(24, 24);
+      this.redoButton.TabIndex = 6;
+      this.toolTip.SetToolTip(this.redoButton, "Redo (not implemented yet)");
+      this.redoButton.UseVisualStyleBackColor = true;
+      // 
       // viewShortcutListView
       // 
-      this.viewShortcutListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-            | System.Windows.Forms.AnchorStyles.Left) 
+      this.viewShortcutListView.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.viewShortcutListView.Caption = "ViewShortcutCollection View";
       this.viewShortcutListView.Content = null;
-      this.viewShortcutListView.Location = new System.Drawing.Point(4, 33);
+      this.viewShortcutListView.Location = new System.Drawing.Point(4, 86);
       this.viewShortcutListView.Name = "viewShortcutListView";
       this.viewShortcutListView.ReadOnly = false;
-      this.viewShortcutListView.Size = new System.Drawing.Size(831, 413);
-      this.viewShortcutListView.TabIndex = 4;
+      this.viewShortcutListView.Size = new System.Drawing.Size(831, 360);
+      this.viewShortcutListView.TabIndex = 7;
       // 
       // DataPreprocessingView
@@ -115,11 +162,26 @@
       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.exportProblemButton);
+      this.Controls.Add(this.applyInNewTabButton);
       this.Controls.Add(this.lblFilterActive);
       this.Controls.Add(this.viewShortcutListView);
+      this.Controls.Add(this.redoButton);
       this.Controls.Add(this.undoButton);
-      this.Controls.Add(this.applyInNewTabButton);
-      this.Controls.Add(this.exportProblemButton);
       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.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.ResumeLayout(false);
       this.PerformLayout();
@@ -132,8 +194,9 @@
     private System.Windows.Forms.Button applyInNewTabButton;
     private System.Windows.Forms.Button undoButton;
-    private System.Windows.Forms.ToolTip toolTip;
     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;
   }
 }
Index: /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs	(revision 13506)
+++ /trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs	(revision 13507)
@@ -45,12 +45,74 @@
     /// </summary>
     private void InitializeComponent() {
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
+      this.splitContainer.Panel1.SuspendLayout();
+      this.splitContainer.Panel2.SuspendLayout();
+      this.splitContainer.SuspendLayout();
+      this.itemsGroupBox.SuspendLayout();
+      this.detailsGroupBox.SuspendLayout();
       this.SuspendLayout();
+      // 
+      // splitContainer
+      // 
+      this.splitContainer.Size = new System.Drawing.Size(526, 364);
+      // 
+      // itemsGroupBox
+      // 
+      this.itemsGroupBox.Size = new System.Drawing.Size(532, 383);
+      // 
+      // itemsListView
+      // 
+      this.itemsListView.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)));
+      this.itemsListView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.itemsListView.Location = new System.Drawing.Point(0, 0);
+      this.itemsListView.Size = new System.Drawing.Size(200, 364);
+      // 
+      // detailsGroupBox
+      // 
+      this.detailsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)));
+      this.detailsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.detailsGroupBox.Location = new System.Drawing.Point(0, 0);
+      this.detailsGroupBox.Size = new System.Drawing.Size(322, 364);
+      // 
+      // addButton
+      // 
+      this.toolTip.SetToolTip(this.addButton, "Add");
+      this.addButton.Visible = false;
+      // 
+      // removeButton
+      // 
+      this.toolTip.SetToolTip(this.removeButton, "Remove");
+      this.removeButton.Visible = false;
+      // 
+      // moveUpButton
+      // 
+      this.toolTip.SetToolTip(this.moveUpButton, "Move Up");
+      this.moveUpButton.Visible = false;
+      // 
+      // moveDownButton
+      // 
+      this.toolTip.SetToolTip(this.moveDownButton, "Move Down");
+      this.moveDownButton.Visible = false;
+      // 
+      // viewHost
+      // 
+      this.viewHost.Size = new System.Drawing.Size(310, 339);
+      // 
+      // showDetailsCheckBox
+      // 
+      this.showDetailsCheckBox.Visible = false;
       // 
       // ViewShortcutListView
       // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.Name = "ViewShortcutListView";
       this.Size = new System.Drawing.Size(532, 383);
+      this.splitContainer.Panel1.ResumeLayout(false);
+      this.splitContainer.Panel2.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit();
+      this.splitContainer.ResumeLayout(false);
+      this.itemsGroupBox.ResumeLayout(false);
+      this.detailsGroupBox.ResumeLayout(false);
       this.ResumeLayout(false);
+
     }
 
Index: /trunk/sources/HeuristicLab.DataPreprocessing/3.4/PreprocessingContext.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataPreprocessing/3.4/PreprocessingContext.cs	(revision 13506)
+++ /trunk/sources/HeuristicLab.DataPreprocessing/3.4/PreprocessingContext.cs	(revision 13507)
@@ -39,13 +39,13 @@
         var algorithm = Source as IAlgorithm;
         if (algorithm != null)
-          yield return new KeyValuePair<string, Func<IItem>>(algorithm.Name, () => ExportAlgorithm(algorithm));
+          yield return new KeyValuePair<string, Func<IItem>>(algorithm.GetType().GetPrettyName(), () => ExportAlgorithm(algorithm));
 
         var problem = algorithm != null ? algorithm.Problem as IDataAnalysisProblem : Source as IDataAnalysisProblem;
         if (problem != null)
-          yield return new KeyValuePair<string, Func<IItem>>(problem.Name, () => ExportProblem(problem));
+          yield return new KeyValuePair<string, Func<IItem>>(problem.GetType().GetPrettyName(), () => ExportProblem(problem));
 
         var problemData = problem != null ? problem.ProblemData : Source as IDataAnalysisProblemData;
         if (problemData != null)
-          yield return new KeyValuePair<string, Func<IItem>>(problemData.Name, () => ExportProblemData(problemData));
+          yield return new KeyValuePair<string, Func<IItem>>(problemData.GetType().GetPrettyName(), () => ExportProblemData(problemData));
 
         // ToDo: Export CSV
@@ -63,7 +63,9 @@
 
 
-    public PreprocessingContext() : this(new RegressionProblemData()) { }
+    public PreprocessingContext() : this(new RegressionProblemData()) {
+      Name = "Data Preprocessing";
+    }
     public PreprocessingContext(IItem source)
-      : base("PreprocessingContext") {
+      : base("Data Preprocessing") {
       Import(source);
     }
@@ -85,4 +87,6 @@
     public void Import(IItem source) {
       Source = source;
+      var namedSource = source as INamedItem;
+      if (namedSource != null) Name = "Preprocessing: " + namedSource.Name;
 
       var dataSource = ExtractProblemData(source);
@@ -100,5 +104,4 @@
     #region Export
     public IItem Export() {
-      var creator = new ProblemDataCreator(this);
       if (Source is IAlgorithm)
         return ExportAlgorithm((IAlgorithm)Source);
@@ -124,5 +127,7 @@
     private IDataAnalysisProblemData ExportProblemData(IDataAnalysisProblemData source) {
       var creator = new ProblemDataCreator(this);
-      return creator.CreateProblemData(source);
+      var preprocessedProblemData = creator.CreateProblemData(source);
+      preprocessedProblemData.Name = "Preprocessed " + source.Name;
+      return preprocessedProblemData;
     }
     private void SetNewProblemData(IDataAnalysisProblem problem) {
