Index: branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/CheckedTransformationListView.cs
===================================================================
--- branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/CheckedTransformationListView.cs	(revision 15837)
+++ branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/CheckedTransformationListView.cs	(revision 15846)
@@ -20,18 +20,19 @@
 #endregion
 
-using System;
-using System.Collections.Generic;
-using System.Reflection;
+using System.Linq;
 using System.Windows.Forms;
 using HeuristicLab.Core;
 using HeuristicLab.Core.Views;
+using HeuristicLab.Data;
 using HeuristicLab.MainForm;
-using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.DataAnalysis;
 
 namespace HeuristicLab.DataPreprocessing.Views {
   [View("CheckedTransformationList View")]
-  [Content(typeof(ICheckedItemList<ITransformation>), false)]
-  public partial class CheckedTransformationListView : CheckedItemListView<ITransformation> {
+  [Content(typeof(ICheckedItemList<IDataAnalysisTransformation>), false)]
+  public partial class CheckedTransformationListView : CheckedItemListView<IDataAnalysisTransformation> {
+
+    internal IFilteredPreprocessingData PreprocessingData { get; set; }
+
     public CheckedTransformationListView() {
       InitializeComponent();
@@ -39,33 +40,36 @@
     }
 
-    protected override ITransformation CreateItem() {
-      if (typeSelectorDialog == null) {
-        typeSelectorDialog = new TypeSelectorDialog();
-        typeSelectorDialog.Caption = "Select Transformation";
-        typeSelectorDialog.TypeSelector.Caption = "Available Transformations";
-        typeSelectorDialog.TypeSelector.Configure(typeof(ITransformation), showNotInstantiableTypes: true, showGenericTypes: false, typeCondition: CanInstanciateTransformation);
-      }
+    protected override IDataAnalysisTransformation CreateItem() {
+      var newTransformation = new DataAnalysisTransformation(PreprocessingData.VariableNames.Select(x => new StringValue(x)));
+      newTransformation.TransformedVariableParameter.ValidValues.Add(new StringValue("<New Variable>"));
+      return newTransformation;
+      //if (typeSelectorDialog == null) {
+      //  typeSelectorDialog = new TypeSelectorDialog();
+      //  typeSelectorDialog.Caption = "Select Transformation";
+      //  typeSelectorDialog.TypeSelector.Caption = "Available Transformations";
+      //  typeSelectorDialog.TypeSelector.Configure(typeof(IDataAnalysisTransformation), showNotInstantiableTypes: true, showGenericTypes: false, typeCondition: CanInstanciateTransformation);
+      //}
 
-      if (typeSelectorDialog.ShowDialog(this) == DialogResult.OK) {
-        try {
-          // TODO: Avoid accessing parent view
-          var transformationView = (TransformationView)Parent;
-          var columnNames = transformationView.Content.PreprocessingData.VariableNames;
+      //if (typeSelectorDialog.ShowDialog(this) == DialogResult.OK) {
+      //  try {
+      //    // TODO: Avoid accessing parent view
+      //    var transformationView = (TransformationView)Parent;
+      //    var columnNames = transformationView.Content.PreprocessingData.VariableNames;
 
-          return (ITransformation)typeSelectorDialog.TypeSelector.CreateInstanceOfSelectedType(new[] { columnNames });
-        } catch (Exception ex) {
-          ErrorHandling.ShowErrorDialog(this, ex);
-        }
-      }
-      return null;
+      //    return (IDataAnalysisTransformation)typeSelectorDialog.TypeSelector.CreateInstanceOfSelectedType(new[] { columnNames });
+      //  } catch (Exception ex) {
+      //    ErrorHandling.ShowErrorDialog(this, ex);
+      //  }
+      //}
+      //return null;
     }
 
-    private bool CanInstanciateTransformation(Type type) {
-      foreach (ConstructorInfo ctor in type.GetConstructors(BindingFlags.Public | BindingFlags.Instance)) {
-        ParameterInfo[] parameters = ctor.GetParameters();
-        if (parameters.Length == 1 && parameters[0].ParameterType == typeof(IEnumerable<string>)) return true;
-      }
-      return false;
-    }
+    //private bool CanInstanciateTransformation(Type type) {
+    //  foreach (ConstructorInfo ctor in type.GetConstructors(BindingFlags.Public | BindingFlags.Instance)) {
+    //    ParameterInfo[] parameters = ctor.GetParameters();
+    //    if (parameters.Length == 1 && parameters[0].ParameterType == typeof(IEnumerable<string>)) return true;
+    //  }
+    //  return false;
+    //}
   }
 }
Index: branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/HeuristicLab.DataPreprocessing.Views-3.4.csproj
===================================================================
--- branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/HeuristicLab.DataPreprocessing.Views-3.4.csproj	(revision 15837)
+++ branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/HeuristicLab.DataPreprocessing.Views-3.4.csproj	(revision 15846)
@@ -91,69 +91,89 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Analysis.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Analysis.Views-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Collections-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Common-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
-    </Reference>
-    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <Private>False</Private>
+    </Reference>
     <Reference Include="HeuristicLab.Core.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Core.Views-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Data-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Data.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Data.Views-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.MainForm-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.MainForm-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Optimizer-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Optimizer-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Problems.Instances-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Problems.Instances-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Problems.Instances.DataAnalysis-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Problems.Instances.DataAnalysis-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Visualization.ChartControlsExtensions-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Visualization.ChartControlsExtensions-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="System" />
@@ -312,8 +332,10 @@
       <Project>{3e9e8944-44ff-40bb-a622-3a4a7dd0f198}</Project>
       <Name>HeuristicLab.Problems.DataAnalysis.Views-3.4</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
       <Project>{df87c13e-a889-46ff-8153-66dcaa8c5674}</Project>
       <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
+      <Private>False</Private>
     </ProjectReference>
   </ItemGroup>
@@ -325,4 +347,7 @@
     <EmbeddedResource Include="ScatterPlotSingleView.resx">
       <DependentUpon>ScatterPlotSingleView.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TransformationView.resx">
+      <DependentUpon>TransformationView.cs</DependentUpon>
     </EmbeddedResource>
   </ItemGroup>
Index: branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/TransformationView.Designer.cs
===================================================================
--- branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/TransformationView.Designer.cs	(revision 15837)
+++ branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/TransformationView.Designer.cs	(revision 15846)
@@ -46,5 +46,4 @@
     private void InitializeComponent() {
       this.applyButton = new System.Windows.Forms.Button();
-      this.preserveColumnsCheckbox = new System.Windows.Forms.CheckBox();
       this.lblFilterNotice = new System.Windows.Forms.Label();
       this.transformationListView = new HeuristicLab.DataPreprocessing.Views.CheckedTransformationListView();
@@ -62,15 +61,4 @@
       this.applyButton.Click += new System.EventHandler(this.applyButton_Click);
       // 
-      // preserveColumnsCheckbox
-      // 
-      this.preserveColumnsCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.preserveColumnsCheckbox.AutoSize = true;
-      this.preserveColumnsCheckbox.Location = new System.Drawing.Point(337, 492);
-      this.preserveColumnsCheckbox.Name = "preserveColumnsCheckbox";
-      this.preserveColumnsCheckbox.Size = new System.Drawing.Size(147, 17);
-      this.preserveColumnsCheckbox.TabIndex = 2;
-      this.preserveColumnsCheckbox.Text = "Preserve original Columns";
-      this.preserveColumnsCheckbox.UseVisualStyleBackColor = true;
-      // 
       // lblFilterNotice
       // 
@@ -86,6 +74,6 @@
       // transformationListView
       // 
-      this.transformationListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-            | System.Windows.Forms.AnchorStyles.Left)
+      this.transformationListView.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.transformationListView.Caption = "Transformations";
@@ -102,5 +90,4 @@
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.Controls.Add(this.lblFilterNotice);
-      this.Controls.Add(this.preserveColumnsCheckbox);
       this.Controls.Add(this.applyButton);
       this.Controls.Add(this.transformationListView);
@@ -115,5 +102,4 @@
     private CheckedTransformationListView transformationListView;
     private System.Windows.Forms.Button applyButton;
-    private System.Windows.Forms.CheckBox preserveColumnsCheckbox;
     private System.Windows.Forms.Label lblFilterNotice;
   }
Index: branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/TransformationView.cs
===================================================================
--- branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/TransformationView.cs	(revision 15837)
+++ branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/TransformationView.cs	(revision 15846)
@@ -21,9 +21,8 @@
 
 using System;
-using System.Linq;
+using System.Collections.Generic;
 using System.Windows.Forms;
 using HeuristicLab.MainForm;
 using HeuristicLab.MainForm.WindowsForms;
-using HeuristicLab.Problems.DataAnalysis;
 
 namespace HeuristicLab.DataPreprocessing.Views {
@@ -46,4 +45,5 @@
       } else {
         transformationListView.Content = Content.CheckedTransformationList;
+        transformationListView.PreprocessingData = Content.PreprocessingData;
         CheckFilters();
       }
@@ -75,22 +75,11 @@
 
     private void applyButton_Click(object sender, EventArgs e) {
-      var transformations = Content.CheckedTransformationList.CheckedItems.Select(x => x.Value);
+      bool success = Content.ApplyTransformations(out IEnumerable<string> errorMessages);
 
-      if (transformations.Any(x => ((Transformation)x).ColumnParameter.Value == null)) {
-        MessageBox.Show(this, "Parameter \"Column\" of a selected Transformation is not set.", "Applying Transformations...", MessageBoxButtons.OK, MessageBoxIcon.Warning);
-        return;
-      }
-
-      var transformator = new PreprocessingTransformator(Content.PreprocessingData);
-      bool preserve = preserveColumnsCheckbox.CheckState == CheckState.Checked;
-      string errorMsg;
-      bool success = transformator.ApplyTransformations(transformations, preserve, out errorMsg);
       if (success) {
         Content.CheckedTransformationList.Clear();
         MessageBox.Show(this, "Transformations applied.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
       } else {
-        MessageBox.Show(this,
-          "Error in Transformation.\nValue is copied when transformion of cell failed.\n" + errorMsg,
-          "Transformation failed", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+        MessageBox.Show(this, string.Join(Environment.NewLine, errorMessages), "Transformation failed", MessageBoxButtons.OK, MessageBoxIcon.Warning);
       }
     }
