Index: /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/HeuristicLab.Algorithms.DataAnalysis.Views-3.4.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/HeuristicLab.Algorithms.DataAnalysis.Views-3.4.csproj	(revision 15122)
+++ /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/HeuristicLab.Algorithms.DataAnalysis.Views-3.4.csproj	(revision 15123)
@@ -149,15 +149,9 @@
       <DependentUpon>RandomForestClassificationSolutionView.cs</DependentUpon>
     </Compile>
-    <Compile Include="RandomForestModelView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="RandomForestModelView.Designer.cs">
-      <DependentUpon>RandomForestModelView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="RandomForestRegressionSolutionView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="RandomForestRegressionSolutionView.Designer.cs">
-      <DependentUpon>RandomForestRegressionSolutionView.cs</DependentUpon>
+    <Compile Include="RandomForestModelEvaluationView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="RandomForestModelEvaluationView.Designer.cs">
+      <DependentUpon>RandomForestModelEvaluationView.cs</DependentUpon>
     </Compile>
     <Compile Include="MeanProdView.cs">
Index: /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelEvaluationView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelEvaluationView.Designer.cs	(revision 15123)
+++ /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelEvaluationView.Designer.cs	(revision 15123)
@@ -0,0 +1,104 @@
+﻿#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.Algorithms.DataAnalysis.Views {
+  partial class RandomForestModelEvaluationView {
+    /// <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 Component 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.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
+      this.listBox = new System.Windows.Forms.ListBox();
+      this.SuspendLayout();
+      // 
+      // viewHost
+      // 
+      this.viewHost.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.viewHost.Caption = "View";
+      this.viewHost.Content = null;
+      this.viewHost.Enabled = false;
+      this.viewHost.Location = new System.Drawing.Point(126, 3);
+      this.viewHost.Name = "viewHost";
+      this.viewHost.ReadOnly = false;
+      this.viewHost.Size = new System.Drawing.Size(220, 277);
+      this.viewHost.TabIndex = 0;
+      this.viewHost.ViewsLabelVisible = true;
+      this.viewHost.ViewType = null;
+      // 
+      // listBox
+      // 
+      this.listBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left)));
+      this.listBox.FormatString = "Tree {0}";
+      this.listBox.Items.AddRange(new object[] {
+            "1",
+            "2",
+            "3"});
+      this.listBox.Location = new System.Drawing.Point(3, 3);
+      this.listBox.Name = "listBox";
+      this.listBox.Size = new System.Drawing.Size(117, 277);
+      this.listBox.TabIndex = 1;
+      this.listBox.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
+      this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick);
+      // 
+      // RandomForestModelEvaluationView
+      // 
+      this.AllowDrop = true;
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
+      this.Controls.Add(this.viewHost);
+      this.Controls.Add(this.listBox);
+      this.Name = "RandomForestModelView";
+      this.Size = new System.Drawing.Size(349, 289);
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private MainForm.WindowsForms.ViewHost viewHost;
+    private System.Windows.Forms.ListBox listBox;
+
+
+
+
+  }
+}
Index: /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelEvaluationView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelEvaluationView.cs	(revision 15123)
+++ /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelEvaluationView.cs	(revision 15123)
@@ -0,0 +1,100 @@
+﻿#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;
+using System.Drawing;
+using HeuristicLab.Common;
+using HeuristicLab.MainForm;
+using HeuristicLab.Problems.DataAnalysis;
+using HeuristicLab.Problems.DataAnalysis.Symbolic;
+using HeuristicLab.Problems.DataAnalysis.Symbolic.Classification;
+using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
+using HeuristicLab.Problems.DataAnalysis.Views;
+
+namespace HeuristicLab.Algorithms.DataAnalysis.Views {
+  [View("RF Model Evaluation")]
+  [Content(typeof(IRandomForestRegressionSolution), false)]
+  [Content(typeof(IRandomForestClassificationSolution), false)]
+  public partial class RandomForestModelEvaluationView : DataAnalysisSolutionEvaluationView {
+
+    protected override void SetEnabledStateOfControls() {
+      base.SetEnabledStateOfControls();
+      listBox.Enabled = Content != null;
+      viewHost.Enabled = Content != null;
+    }
+
+    public RandomForestModelEvaluationView()
+      : base() {
+      InitializeComponent();
+    }
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+      if (Content == null) {
+        viewHost.Content = null;
+        listBox.Items.Clear();
+      } else {
+        viewHost.Content = null;
+        listBox.Items.Clear();
+        var classSol = Content as IRandomForestClassificationSolution;
+        var regSol = Content as IRandomForestRegressionSolution;
+        var numTrees = classSol != null ? classSol.NumberOfTrees : regSol != null ? regSol.NumberOfTrees : 0;
+        for (int i = 0; i < numTrees; i++) {
+          listBox.Items.Add(i + 1);
+        }
+      }
+    }
+
+    private void listBox_SelectedIndexChanged(object sender, System.EventArgs e) {
+      if (listBox.SelectedItem == null) viewHost.Content = null;
+      else {
+        var idx = (int)listBox.SelectedItem;
+        viewHost.Content = CreateModel(idx);
+      }
+    }
+
+    private void listBox_DoubleClick(object sender, System.EventArgs e) {
+      var selectedItem = listBox.SelectedItem;
+      if (selectedItem == null) return;
+      var idx = (int)listBox.SelectedItem;
+      MainFormManager.MainForm.ShowContent(CreateModel(idx));
+    }
+
+    private IContent CreateModel(int idx) {
+      idx -= 1;
+      var rfModel = Content.Model as RandomForestModel;
+      if (rfModel == null) return null;
+      var regProblemData = Content.ProblemData as IRegressionProblemData;
+      var classProblemData = Content.ProblemData as IClassificationProblemData;
+      if (idx < 0 || idx >= rfModel.NumberOfTrees)
+        return null;
+      if (regProblemData != null) {
+        var syModel = new SymbolicRegressionModel(regProblemData.TargetVariable, rfModel.ExtractTree(idx),
+          new SymbolicDataAnalysisExpressionTreeLinearInterpreter());
+        return syModel.CreateRegressionSolution(regProblemData);
+      } else if (classProblemData != null) {
+        var syModel = new SymbolicDiscriminantFunctionClassificationModel(classProblemData.TargetVariable, rfModel.ExtractTree(idx),
+          new SymbolicDataAnalysisExpressionTreeLinearInterpreter(), new NormalDistributionCutPointsThresholdCalculator());
+        syModel.RecalculateModelParameters(classProblemData, classProblemData.TrainingIndices);
+        return syModel.CreateClassificationSolution(classProblemData);
+      } else throw new InvalidProgramException();
+    }
+  }
+}
Index: unk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelView.Designer.cs	(revision 15122)
+++ 	(revision )
@@ -1,104 +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.Algorithms.DataAnalysis.Views {
-  partial class RandomForestModelView {
-    /// <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 Component 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.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
-      this.listBox = new System.Windows.Forms.ListBox();
-      this.SuspendLayout();
-      // 
-      // viewHost
-      // 
-      this.viewHost.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.viewHost.Caption = "View";
-      this.viewHost.Content = null;
-      this.viewHost.Enabled = false;
-      this.viewHost.Location = new System.Drawing.Point(126, 3);
-      this.viewHost.Name = "viewHost";
-      this.viewHost.ReadOnly = false;
-      this.viewHost.Size = new System.Drawing.Size(220, 277);
-      this.viewHost.TabIndex = 0;
-      this.viewHost.ViewsLabelVisible = true;
-      this.viewHost.ViewType = null;
-      // 
-      // listBox
-      // 
-      this.listBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-            | System.Windows.Forms.AnchorStyles.Left)));
-      this.listBox.FormatString = "Tree {0}";
-      this.listBox.Items.AddRange(new object[] {
-            "1",
-            "2",
-            "3"});
-      this.listBox.Location = new System.Drawing.Point(3, 3);
-      this.listBox.Name = "listBox";
-      this.listBox.Size = new System.Drawing.Size(117, 277);
-      this.listBox.TabIndex = 1;
-      this.listBox.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
-      this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick);
-      // 
-      // RandomForestModelView
-      // 
-      this.AllowDrop = true;
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
-      this.Controls.Add(this.viewHost);
-      this.Controls.Add(this.listBox);
-      this.Name = "RandomForestModelView";
-      this.Size = new System.Drawing.Size(349, 289);
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private MainForm.WindowsForms.ViewHost viewHost;
-    private System.Windows.Forms.ListBox listBox;
-
-
-
-
-  }
-}
Index: unk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/RandomForestModelView.cs	(revision 15122)
+++ 	(revision )
@@ -1,103 +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
-using System;
-using System.Drawing;
-using HeuristicLab.Common;
-using HeuristicLab.MainForm;
-using HeuristicLab.Problems.DataAnalysis;
-using HeuristicLab.Problems.DataAnalysis.Symbolic;
-using HeuristicLab.Problems.DataAnalysis.Symbolic.Classification;
-using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
-using HeuristicLab.Problems.DataAnalysis.Views;
-
-namespace HeuristicLab.Algorithms.DataAnalysis.Views {
-  [View("Random forest model")]
-  [Content(typeof(IRandomForestRegressionSolution), false)]
-  [Content(typeof(IRandomForestClassificationSolution), false)]
-  public partial class RandomForestModelView : DataAnalysisSolutionEvaluationView {
-    public override Image ViewImage {
-      get { return HeuristicLab.Common.Resources.VSImageLibrary.Function; }
-    }
-
-    protected override void SetEnabledStateOfControls() {
-      base.SetEnabledStateOfControls();
-      listBox.Enabled = Content != null;
-      viewHost.Enabled = Content != null;
-    }
-
-    public RandomForestModelView()
-      : base() {
-      InitializeComponent();
-    }
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-      if (Content == null) {
-        viewHost.Content = null;
-        listBox.Items.Clear();
-      } else {
-        viewHost.Content = null;
-        listBox.Items.Clear();
-        var classSol = Content as IRandomForestClassificationSolution;
-        var regSol = Content as IRandomForestRegressionSolution;
-        var numTrees = classSol != null ? classSol.NumberOfTrees : regSol != null ? regSol.NumberOfTrees : 0;
-        for (int i = 0; i < numTrees; i++) {
-          listBox.Items.Add(i + 1);
-        }
-      }
-    }
-
-    private void listBox_SelectedIndexChanged(object sender, System.EventArgs e) {
-      if (listBox.SelectedItem == null) viewHost.Content = null;
-      else {
-        var idx = (int)listBox.SelectedItem;
-        viewHost.Content = CreateModel(idx);
-      }
-    }
-
-    private void listBox_DoubleClick(object sender, System.EventArgs e) {
-      var selectedItem = listBox.SelectedItem;
-      if (selectedItem == null) return;
-      var idx = (int)listBox.SelectedItem;
-      MainFormManager.MainForm.ShowContent(CreateModel(idx));
-    }
-
-    private IContent CreateModel(int idx) {
-      idx -= 1;
-      var rfModel = Content.Model as RandomForestModel;
-      if (rfModel == null) return null;
-      var regProblemData = Content.ProblemData as IRegressionProblemData;
-      var classProblemData = Content.ProblemData as IClassificationProblemData;
-      if (idx < 0 || idx >= rfModel.NumberOfTrees)
-        return null;
-      if (regProblemData != null) {
-        var syModel = new SymbolicRegressionModel(regProblemData.TargetVariable, rfModel.ExtractTree(idx),
-          new SymbolicDataAnalysisExpressionTreeLinearInterpreter());
-        return syModel.CreateRegressionSolution(regProblemData);
-      } else if (classProblemData != null) {
-        var syModel = new SymbolicDiscriminantFunctionClassificationModel(classProblemData.TargetVariable, rfModel.ExtractTree(idx),
-          new SymbolicDataAnalysisExpressionTreeLinearInterpreter(), new NormalDistributionCutPointsThresholdCalculator());
-        syModel.RecalculateModelParameters(classProblemData, classProblemData.TrainingIndices);
-        return syModel.CreateClassificationSolution(classProblemData);
-      } else throw new InvalidProgramException();
-    }
-  }
-}
