Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs	(revision 14467)
@@ -61,5 +61,5 @@
           new LineChartContent(data),
           new HistogramContent(data),
-          new ScatterPlotContent(data),
+          new SingleScatterPlotContent(data),
           new MultiScatterPlotContent(data),
           new CorrelationMatrixContent(Content),
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotMultiView.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotMultiView.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotMultiView.cs	(revision 14467)
@@ -7,5 +7,4 @@
 using HeuristicLab.Analysis.Views;
 using HeuristicLab.Collections;
-using HeuristicLab.Common;
 using HeuristicLab.Data;
 using HeuristicLab.MainForm;
@@ -347,5 +346,5 @@
     private void ScatterPlotDoubleClick(object sender, EventArgs e) {
       var scatterPlotControl = (ScatterPlotControl)sender;
-      ScatterPlotContent scatterContent = new ScatterPlotContent(Content, new Cloner());  // create new content
+      var scatterContent = new SingleScatterPlotContent(Content.PreprocessingData);
       ScatterPlot scatterPlot = scatterPlotControl.Content;
 
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.Designer.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.Designer.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.Designer.cs	(revision 14467)
@@ -50,5 +50,5 @@
       this.label2 = new System.Windows.Forms.Label();
       this.label1 = new System.Windows.Forms.Label();
-      this.comboBoxColor = new System.Windows.Forms.ComboBox();
+      this.comboBoxGroup = new System.Windows.Forms.ComboBox();
       this.comboBoxYVariable = new System.Windows.Forms.ComboBox();
       this.comboBoxXVariable = new System.Windows.Forms.ComboBox();
@@ -72,5 +72,5 @@
       this.groupBox1.Controls.Add(this.label2);
       this.groupBox1.Controls.Add(this.label1);
-      this.groupBox1.Controls.Add(this.comboBoxColor);
+      this.groupBox1.Controls.Add(this.comboBoxGroup);
       this.groupBox1.Controls.Add(this.comboBoxYVariable);
       this.groupBox1.Controls.Add(this.comboBoxXVariable);
@@ -87,7 +87,7 @@
       this.label3.Location = new System.Drawing.Point(17, 141);
       this.label3.Name = "label3";
-      this.label3.Size = new System.Drawing.Size(31, 13);
+      this.label3.Size = new System.Drawing.Size(36, 13);
       this.label3.TabIndex = 3;
-      this.label3.Text = "Color";
+      this.label3.Text = "Group";
       // 
       // label2
@@ -109,14 +109,14 @@
       this.label1.Text = "X Variable";
       // 
-      // comboBoxColor
+      // comboBoxGroup
       // 
-      this.comboBoxColor.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.comboBoxColor.FormattingEnabled = true;
-      this.comboBoxColor.Location = new System.Drawing.Point(20, 164);
-      this.comboBoxColor.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
-      this.comboBoxColor.Name = "comboBoxColor";
-      this.comboBoxColor.Size = new System.Drawing.Size(121, 21);
-      this.comboBoxColor.TabIndex = 1;
-      this.comboBoxColor.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);
+      this.comboBoxGroup.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.comboBoxGroup.FormattingEnabled = true;
+      this.comboBoxGroup.Location = new System.Drawing.Point(20, 164);
+      this.comboBoxGroup.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+      this.comboBoxGroup.Name = "comboBoxGroup";
+      this.comboBoxGroup.Size = new System.Drawing.Size(121, 21);
+      this.comboBoxGroup.TabIndex = 1;
+      this.comboBoxGroup.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);
       // 
       // comboBoxYVariable
@@ -164,5 +164,5 @@
     private System.Windows.Forms.ComboBox comboBoxYVariable;
     private System.Windows.Forms.ComboBox comboBoxXVariable;
-    private System.Windows.Forms.ComboBox comboBoxColor;
+    private System.Windows.Forms.ComboBox comboBoxGroup;
     private System.Windows.Forms.Label label3;
   }
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.cs	(revision 14467)
@@ -30,9 +30,9 @@
 
   [View("Scatter Plot Single View")]
-  [Content(typeof(ScatterPlotContent), true)]
+  [Content(typeof(SingleScatterPlotContent), true)]
   public partial class ScatterPlotSingleView : ItemView {
 
-    public new ScatterPlotContent Content {
-      get { return (ScatterPlotContent)base.Content; }
+    public new SingleScatterPlotContent Content {
+      get { return (SingleScatterPlotContent)base.Content; }
       set { base.Content = value; }
     }
@@ -48,26 +48,26 @@
       comboBoxXVariable.Items.Clear();
       comboBoxYVariable.Items.Clear();
-      comboBoxColor.Items.Clear();
+      comboBoxGroup.Items.Clear();
       comboBoxXVariable.Items.AddRange(variables.ToArray());
       comboBoxYVariable.Items.AddRange(variables.ToArray());
-      comboBoxColor.Items.Add("-");
+      comboBoxGroup.Items.Add("-");
       for (int i = 0; i < Content.PreprocessingData.Columns; ++i) {
         if (Content.PreprocessingData.VariableHasType<double>(i)) {
           double distinctValueCount = Content.PreprocessingData.GetValues<double>(i).GroupBy(x => x).Count();
           if (distinctValueCount <= 20)
-            comboBoxColor.Items.Add(Content.PreprocessingData.GetVariableName(i));
+            comboBoxGroup.Items.Add(Content.PreprocessingData.GetVariableName(i));
         }
       }
 
       // use x and y variable from content
-      if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.SelectedColorVariable != null) {
+      if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.SelectedGroupVariable != null) {
         comboBoxXVariable.SelectedItem = Content.SelectedXVariable;
         comboBoxYVariable.SelectedItem = Content.SelectedYVariable;
-        comboBoxColor.SelectedItem = Content.SelectedColorVariable;
+        comboBoxGroup.SelectedItem = Content.SelectedGroupVariable;
       } else {
         if (variables.Count() >= 2) {
           comboBoxXVariable.SelectedIndex = 0;
           comboBoxYVariable.SelectedIndex = 1;
-          comboBoxColor.SelectedIndex = 0;
+          comboBoxGroup.SelectedIndex = 0;
           UpdateScatterPlot();
         }
@@ -87,9 +87,9 @@
 
     private void UpdateScatterPlot() {
-      if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null && comboBoxColor.SelectedItem != null) {
+      if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null && comboBoxGroup.SelectedItem != null) {
         var xVariable = (string)comboBoxXVariable.SelectedItem;
         var yVariable = (string)comboBoxYVariable.SelectedItem;
-        var colorVariable = (string)comboBoxColor.SelectedItem;
-        ScatterPlot scatterPlot = Content.CreateScatterPlot(xVariable, yVariable, colorVariable);
+        var groupVariable = (string)comboBoxGroup.SelectedItem;
+        ScatterPlot scatterPlot = Content.CreateScatterPlot(xVariable, yVariable, groupVariable);
         var vp = scatterPlot.VisualProperties;
         vp.Title = string.Empty;
@@ -98,9 +98,9 @@
 
         scatterPlotControl.Content = scatterPlot;
-        
+
         //save selected x and y variable in content
         this.Content.SelectedXVariable = (string)comboBoxXVariable.SelectedItem;
         this.Content.SelectedYVariable = (string)comboBoxYVariable.SelectedItem;
-        this.Content.SelectedColorVariable = (string)comboBoxColor.SelectedItem;
+        this.Content.SelectedGroupVariable = (string)comboBoxGroup.SelectedItem;
       }
     }
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs	(revision 14467)
@@ -53,49 +53,11 @@
       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);
+      this.viewHost.Dock = System.Windows.Forms.DockStyle.Fill;
       this.viewHost.ViewsLabelVisible = false;
       // 
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.cs	(revision 14467)
@@ -21,5 +21,4 @@
 
 using System;
-using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Core.Views;
@@ -33,5 +32,10 @@
     public ViewShortcutListView() {
       InitializeComponent();
-      itemsGroupBox.Text = "View Shortcuts";
+      Controls.Clear();
+      Controls.Add(splitContainer);
+      splitContainer.Panel1.Controls.Clear();
+      splitContainer.Panel1.Controls.Add(itemsListView);
+      splitContainer.Panel2.Controls.Clear();
+      splitContainer.Panel2.Controls.Add(viewHost);
     }
 
@@ -42,9 +46,7 @@
         IViewShortcut item = itemsListView.SelectedItems[0].Tag as IViewShortcut;
         if (item != null) {
+          item = (IViewShortcut)item.Clone();
 
-          if (item is IViewChartShortcut)
-            item = (IViewChartShortcut)item.Clone(new Cloner());
-
-          IContentView view = MainFormManager.MainForm.ShowContent(item);
+          var view = MainFormManager.MainForm.ShowContent(item);
           if (view != null) {
             view.ReadOnly = ReadOnly;
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/CorrelationMatrixContent.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/CorrelationMatrixContent.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/CorrelationMatrixContent.cs	(revision 14467)
@@ -27,5 +27,5 @@
 namespace HeuristicLab.DataPreprocessing {
   [Item("Feature Correlation Matrix", "Represents the feature correlation matrix.")]
-  public class CorrelationMatrixContent : Item, IViewChartShortcut {
+  public class CorrelationMatrixContent : Item, IViewShortcut {
     public static new Image StaticItemImage {
       get { return HeuristicLab.Common.Resources.VSImageLibrary.Gradient; }
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/DataCompletenessChartContent.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/DataCompletenessChartContent.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/DataCompletenessChartContent.cs	(revision 14467)
@@ -6,5 +6,5 @@
   [Item("DataCompletenessChart", "Represents a datacompleteness chart.")]
 
-  public class DataCompletenessChartContent : Item, IViewChartShortcut {
+  public class DataCompletenessChartContent : Item, IViewShortcut {
     public static new Image StaticItemImage {
       get { return HeuristicLab.Common.Resources.VSImageLibrary.EditBrightnessContrast; }
Index: anches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/IViewChartShortcut.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/IViewChartShortcut.cs	(revision 14466)
+++ 	(revision )
@@ -1,26 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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.DataPreprocessing {
-  public interface IViewChartShortcut : IViewShortcut {
-  }
-}
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs	(revision 14467)
@@ -29,5 +29,5 @@
 namespace HeuristicLab.DataPreprocessing {
   [Item("PreprocessingChart", "Represents a preprocessing chart.")]
-  public class PreprocessingChartContent : Item, IViewChartShortcut {
+  public class PreprocessingChartContent : Item, IViewShortcut {
     public static new Image StaticItemImage {
       get { return HeuristicLab.Common.Resources.VSImageLibrary.PieChart; }
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/ScatterPlotContent.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/ScatterPlotContent.cs	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/ScatterPlotContent.cs	(revision 14467)
@@ -21,36 +21,17 @@
 
 using System.Collections.Generic;
-using System.Drawing;
 using System.Linq;
 using HeuristicLab.Analysis;
 using HeuristicLab.Common;
-using HeuristicLab.Core;
 
 namespace HeuristicLab.DataPreprocessing {
 
-  [Item("ScatterPlot", "Represents a scatter plot.")]
-  public class ScatterPlotContent : PreprocessingChartContent {
-
-    public string SelectedXVariable { get; set; }
-    public string SelectedYVariable { get; set; }
-    public string SelectedColorVariable { get; set; }
-
-    public ScatterPlotContent(IFilteredPreprocessingData preprocessingData)
+  public abstract class ScatterPlotContent : PreprocessingChartContent {
+    protected ScatterPlotContent(IFilteredPreprocessingData preprocessingData)
       : base(preprocessingData) {
     }
 
-    public ScatterPlotContent(ScatterPlotContent content, Cloner cloner)
+    protected ScatterPlotContent(ScatterPlotContent content, Cloner cloner)
       : base(content, cloner) {
-      this.SelectedXVariable = content.SelectedXVariable;
-      this.SelectedYVariable = content.SelectedYVariable;
-      this.SelectedColorVariable = content.SelectedColorVariable;
-    }
-
-    public static new Image StaticItemImage {
-      get { return HeuristicLab.Common.Resources.VSImageLibrary.Performance; }
-    }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new ScatterPlotContent(this, cloner);
     }
 
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/SingleScatterPlotContent.cs
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/SingleScatterPlotContent.cs	(revision 14467)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/SingleScatterPlotContent.cs	(revision 14467)
@@ -0,0 +1,54 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Drawing;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.DataPreprocessing {
+
+  [Item("ScatterPlot", "Represents a scatter plot.")]
+  public class SingleScatterPlotContent : ScatterPlotContent {
+
+    public string SelectedXVariable { get; set; }
+    public string SelectedYVariable { get; set; }
+    public string SelectedGroupVariable { get; set; }
+
+    public SingleScatterPlotContent(IFilteredPreprocessingData preprocessingData)
+      : base(preprocessingData) {
+    }
+
+    public SingleScatterPlotContent(SingleScatterPlotContent content, Cloner cloner)
+      : base(content, cloner) {
+      this.SelectedXVariable = content.SelectedXVariable;
+      this.SelectedYVariable = content.SelectedYVariable;
+      this.SelectedGroupVariable = content.SelectedGroupVariable;
+    }
+
+    public static new Image StaticItemImage {
+      get { return HeuristicLab.Common.Resources.VSImageLibrary.Performance; }
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new SingleScatterPlotContent(this, cloner);
+    }
+  }
+}
Index: /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj
===================================================================
--- /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj	(revision 14466)
+++ /branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj	(revision 14467)
@@ -121,4 +121,5 @@
   <ItemGroup>
     <Compile Include="Content\MultiScatterPlotContent.cs" />
+    <Compile Include="Content\SingleScatterPlotContent.cs" />
     <Compile Include="Content\ScatterPlotContent.cs" />
     <Compile Include="Content\DataCompletenessChartContent.cs" />
@@ -127,5 +128,4 @@
     <Compile Include="Content\PreprocessingChartContent.cs" />
     <Compile Include="Data\PreprocessingData.cs" />
-    <Compile Include="Content\IViewChartShortcut.cs" />
     <Compile Include="Data\IFilteredPreprocessingData.cs" />
     <Compile Include="Content\CorrelationMatrixContent.cs" />
