Index: branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionConstantOptimizationEvaluator.cs
===================================================================
--- branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionConstantOptimizationEvaluator.cs	(revision 18095)
+++ branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionConstantOptimizationEvaluator.cs	(revision 18099)
@@ -206,5 +206,5 @@
           counter: counter);
 
-        if (ConstantOptimizationRowsPercentage.Value != RelativeNumberOfEvaluatedSamplesParameter.ActualValue.Value) {
+        if (ConstantOptimizationRowsPercentage.Value != RelativeNumberOfEvaluatedSamplesParameter.ActualValue.Value) { //TODO: remove this?
           var evaluationRows = GenerateRowsToEvaluate();
           quality = SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator.Calculate(
Index: branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/StructuredSymbolicRegressionSingleObjectiveProblem.cs
===================================================================
--- branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/StructuredSymbolicRegressionSingleObjectiveProblem.cs	(revision 18095)
+++ branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/StructuredSymbolicRegressionSingleObjectiveProblem.cs	(revision 18099)
@@ -108,9 +108,9 @@
         StructureTemplateDescriptionText,
         structureTemplate));
-      
+
       Parameters.Add(new ValueParameter<ISymbolicDataAnalysisExpressionTreeInterpreter>(
         InterpreterParameterName,
         new SymbolicDataAnalysisExpressionTreeInterpreter()) { Hidden = true });
-      
+
       Parameters.Add(new FixedValueParameter<DoubleLimit>(
         EstimationLimitsParameterName,
@@ -120,10 +120,10 @@
 
       this.EvaluatorParameter.Hidden = true;
-      
+
       Operators.Add(new SymbolicDataAnalysisVariableFrequencyAnalyzer());
       Operators.Add(new MinAverageMaxSymbolicExpressionTreeLengthAnalyzer());
       Operators.Add(new SymbolicExpressionSymbolFrequencyAnalyzer());
 
-      StructureTemplate.Template = 
+      StructureTemplate.Template =
         "(" +
           "(210000 / (210000 + h)) * ((sigma_y * t * t) / (wR * Rt * t)) + " +
@@ -196,10 +196,10 @@
 
       return TreeEvaluatorParameter.Value.Evaluate(
-        ProblemData, 
-        tree, 
+        ProblemData,
+        tree,
         Interpreter,
         ProblemData.TrainingIndices,
         StructureTemplate.ApplyLinearScaling,
-        EstimationLimits.Lower, 
+        EstimationLimits.Lower,
         EstimationLimits.Upper);
     }
@@ -275,5 +275,8 @@
     }
 
-    public void Load(IRegressionProblemData data) => ProblemData = data;
+    public void Load(IRegressionProblemData data) {
+      ProblemData = data;
+      StructureTemplate.Template = "f(_)";
+    }
   }
 }
Index: branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/GraphicalSymbolicDataAnalysisModelView.cs
===================================================================
--- branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/GraphicalSymbolicDataAnalysisModelView.cs	(revision 18095)
+++ branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/GraphicalSymbolicDataAnalysisModelView.cs	(revision 18099)
@@ -20,4 +20,5 @@
 #endregion
 
+using System.Drawing;
 using System.Windows.Forms;
 using HeuristicLab.MainForm;
@@ -40,7 +41,23 @@
     protected override void OnContentChanged() {
       base.OnContentChanged();
-      symbolicExpressionTreeView.Content = null;
-      if (Content != null)
-        symbolicExpressionTreeView.Content = Content.SymbolicExpressionTree;
+      symbolicExpressionTreeChart.Tree = null;
+      if (Content != null) {
+        symbolicExpressionTreeChart.Tree = Content.SymbolicExpressionTree;
+        RepaintNodes();
+      }
+    }
+
+    protected void RepaintNodes() {
+      var tree = symbolicExpressionTreeChart.Tree;
+      if (tree != null) {
+        foreach (var n in tree.IterateNodesPrefix()) {
+          if (n.Symbol is SubFunctionSymbol) {
+            var visualNode = symbolicExpressionTreeChart.GetVisualSymbolicExpressionTreeNode(n);
+            visualNode.FillColor = Color.LightCyan;
+            visualNode.LineColor = Color.SlateGray;
+          }
+        }
+        symbolicExpressionTreeChart.RepaintNodes();
+      }
     }
   }
Index: branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/GraphicalSymbolicDataAnalysisModelView.designer.cs
===================================================================
--- branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/GraphicalSymbolicDataAnalysisModelView.designer.cs	(revision 18095)
+++ branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/GraphicalSymbolicDataAnalysisModelView.designer.cs	(revision 18099)
@@ -19,4 +19,6 @@
  */
 #endregion
+
+using System.Drawing;
 
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
@@ -45,18 +47,17 @@
     /// </summary>
     private void InitializeComponent() {
-      this.symbolicExpressionTreeView = new HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.GraphicalSymbolicExpressionTreeView();
+      this.symbolicExpressionTreeChart = new HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.SymbolicExpressionTreeChart();
       this.SuspendLayout();
       // 
       // expressionTreeView
       // 
-      this.symbolicExpressionTreeView.AllowDrop = true;
-      this.symbolicExpressionTreeView.Caption = "Graphical SymbolicExpressionTree View";
-      this.symbolicExpressionTreeView.Content = null;
-      this.symbolicExpressionTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.symbolicExpressionTreeView.Location = new System.Drawing.Point(0, 0);
-      this.symbolicExpressionTreeView.Name = "expressionTreeView";
-      this.symbolicExpressionTreeView.ReadOnly = false;
-      this.symbolicExpressionTreeView.Size = new System.Drawing.Size(352, 413);
-      this.symbolicExpressionTreeView.TabIndex = 0;
+      this.symbolicExpressionTreeChart.AllowDrop = true;
+      this.symbolicExpressionTreeChart.Tree = null;
+      this.symbolicExpressionTreeChart.TextFont = new System.Drawing.Font(FontFamily.GenericSerif, 8F);
+      this.symbolicExpressionTreeChart.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.symbolicExpressionTreeChart.Location = new System.Drawing.Point(0, 0);
+      this.symbolicExpressionTreeChart.Name = "expressionTreeChart";
+      this.symbolicExpressionTreeChart.Size = new System.Drawing.Size(352, 413);
+      this.symbolicExpressionTreeChart.TabIndex = 0;
       // 
       // SymbolicExpressionModelView
@@ -65,5 +66,5 @@
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
-      this.Controls.Add(this.symbolicExpressionTreeView);
+      this.Controls.Add(this.symbolicExpressionTreeChart);
       this.Name = "SymbolicExpressionModelView";
       this.Size = new System.Drawing.Size(352, 413);
@@ -73,5 +74,5 @@
 
     #endregion
-    private HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.GraphicalSymbolicExpressionTreeView symbolicExpressionTreeView;
+    private HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.SymbolicExpressionTreeChart symbolicExpressionTreeChart;
 
   }
Index: branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/StructureTemplate/StructureTemplateView.cs
===================================================================
--- branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/StructureTemplate/StructureTemplateView.cs	(revision 18095)
+++ branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/StructureTemplate/StructureTemplateView.cs	(revision 18099)
@@ -1,3 +1,3 @@
-﻿using System;
+﻿ using System;
 using System.Collections.Generic;
 using System.Drawing;
@@ -27,6 +27,11 @@
       infoLabel.Text = "";
       this.Resize += StructureTemplateViewResize;
+      splitContainer.SplitterMoved += SplitContainerSplitterMoved;
       treeChart.SymbolicExpressionTreeNodeClicked += SymbolicExpressionTreeNodeClicked;
       
+    }
+
+    private void SplitContainerSplitterMoved(object sender, EventArgs e) {
+      PaintTree();
     }
 
@@ -48,5 +53,5 @@
       if (Content == null) return;
       expressionInput.Text = Content.Template;
-      linearScalingCheckBox.Checked = Content.ApplyLinearScaling;
+      linearScalingCheckBox.Checked = Content.ApplyLinearScaling; 
       PaintTree();
       infoLabel.Text = "";
