Index: /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/DirectedGraphChart.Designer.cs
===================================================================
--- /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/DirectedGraphChart.Designer.cs	(revision 13873)
+++ /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/DirectedGraphChart.Designer.cs	(revision 13874)
@@ -32,5 +32,5 @@
       // pictureBox
       // 
-      //this.pictureBox.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox.Image")));
+      this.pictureBox.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox.Image")));
       // 
       // toolTip
Index: /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/DirectedGraphChart.cs
===================================================================
--- /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/DirectedGraphChart.cs	(revision 13873)
+++ /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/DirectedGraphChart.cs	(revision 13874)
@@ -26,4 +26,5 @@
 using System.Linq;
 using System.Windows.Forms;
+using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Random;
@@ -36,4 +37,6 @@
 namespace HeuristicLab.VariableInteractionNetworks.Views {
   public partial class DirectedGraphChart : ChartControl {
+    public new Bitmap Picture { get { return base.Picture; } }
+
     private ConstrainedForceDirectedLayout layout;
     // provide direct and reverse mapping between graph objects and layout shapes
@@ -147,5 +150,5 @@
         shape.Move(new Offset(pos.X, pos.Y));
       }
-
+      var colors = ColorGradient.GrayscaledColors;
       foreach (var pair in arcRoutes) {
         var arc = pair.Key;
@@ -155,8 +158,10 @@
         var len = points.Length; // len = 2 when no edge routingMode is performed
         Pen pen;
-        var penWidth = weight / max * 2;
+        var penWidth = weight / max * 3;
+        //var penColor = colors[(int)Math.Min(255, weight / max * 255)];
+        var penColor = Color.Black;
         if (len == 2) {
           if (double.IsInfinity(penWidth) || double.IsNaN(penWidth)) penWidth = 1;
-          pen = new Pen(Color.Black, (float)penWidth) { CustomEndCap = new AdjustableArrowCap(5, 3) };
+          pen = new Pen(penColor, (float)penWidth) { CustomEndCap = new AdjustableArrowCap(5, 3) };
           var start = points[0];
           var end = points[1];
@@ -198,8 +203,8 @@
             if (intersectionPoints.Any()) {
               endPoint = intersectionPoints.First();
-              pen = new Pen(Color.Black, (float)penWidth) { CustomEndCap = new AdjustableArrowCap(5, 3) };
+              pen = new Pen(penColor, (float)penWidth) { CustomEndCap = new AdjustableArrowCap(5, 3) };
             } else {
               endPoint = end;
-              pen = new Pen(Color.Black, (float)penWidth);
+              pen = new Pen(penColor, (float)penWidth);
             }
             line = new Line(Chart, new PointD(start.X, start.Y), endPoint, pen) { ToolTipText = arc.Label };
@@ -226,5 +231,5 @@
     }
 
-    private Dictionary<Type, LabeledPrimitive> shapes;
+    private readonly Dictionary<Type, LabeledPrimitive> shapes;
     public void AddShape(Type t, LabeledPrimitive shape) {
       shapes[t] = shape;
Index: /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/RunCollectionVariableInteractionNetworkView.Designer.cs
===================================================================
--- /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/RunCollectionVariableInteractionNetworkView.Designer.cs	(revision 13873)
+++ /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/RunCollectionVariableInteractionNetworkView.Designer.cs	(revision 13874)
@@ -1,5 +1,3 @@
-﻿using System.Globalization;
-
-namespace HeuristicLab.VariableInteractionNetworks.Views {
+﻿namespace HeuristicLab.VariableInteractionNetworks.Views {
   partial class RunCollectionVariableInteractionNetworkView {
     /// <summary> 
@@ -52,5 +50,5 @@
       // settingsGroupBox
       // 
-      this.settingsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+      this.settingsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
             | System.Windows.Forms.AnchorStyles.Left)));
       this.settingsGroupBox.Controls.Add(this.onlineImpactCalculationButton);
@@ -116,5 +114,5 @@
       this.impactThresholdTextBox.Size = new System.Drawing.Size(201, 20);
       this.impactThresholdTextBox.TabIndex = 2;
-      this.impactThresholdTextBox.Text = 0.2.ToString(CultureInfo.CurrentCulture);
+      this.impactThresholdTextBox.Text = "0.2";
       this.impactThresholdTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.TextBoxValidating);
       this.impactThresholdTextBox.Validated += new System.EventHandler(this.ImpactThresholdTextBoxValidated);
@@ -171,5 +169,5 @@
       // layoutOptionsGroupBox
       // 
-      this.layoutOptionsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+      this.layoutOptionsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
             | System.Windows.Forms.AnchorStyles.Left)));
       this.layoutOptionsGroupBox.Controls.Add(this.idealEdgeLengthTextBox);
@@ -232,6 +230,6 @@
       // graphChart
       // 
-      this.graphChart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-            | System.Windows.Forms.AnchorStyles.Left)
+      this.graphChart.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.graphChart.BackColor = System.Drawing.SystemColors.Control;
Index: /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/RunCollectionVariableInteractionNetworkView.cs
===================================================================
--- /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/RunCollectionVariableInteractionNetworkView.cs	(revision 13873)
+++ /branches/HeuristicLab.VariableInteractionNetworks/HeuristicLab.VariableInteractionNetworks.Views/3.3/RunCollectionVariableInteractionNetworkView.cs	(revision 13874)
@@ -233,10 +233,11 @@
           var junctionLabel = Concatenate(variableList);
           IVertex junctionNode;
+          var sb = new StringBuilder();
           if (!nodes.TryGetValue(junctionLabel, out junctionNode)) {
             var solutionsEnsemble = CreateEnsembleSolution(targetRuns);
-            junctionNode = new JunctionNetworkNode { Label = string.Empty, Data = solutionsEnsemble };
+            junctionNode = new JunctionNetworkNode { Label = solutionsEnsemble.TrainingRSquared.ToString("N3", CultureInfo.CurrentCulture), Data = solutionsEnsemble };
             vn.AddVertex(junctionNode);
             nodes[junctionLabel] = junctionNode;
-            junctionNode.Label = solutionsEnsemble.TrainingRSquared.ToString("N3", CultureInfo.CurrentCulture);
+            sb.AppendLine(junctionNode.Label);
           }
           IArc arc;
@@ -249,7 +250,9 @@
             }
             arc = new Arc(variableNode, junctionNode) { Weight = impact, Label = impact.ToString("N3", CultureInfo.CurrentCulture) };
+            sb.AppendLine(v + ": " + arc.Label);
             vn.AddArc(arc);
           }
-          var trainingR2 = ((IRegressionSolution)((JunctionNetworkNode)junctionNode).Data).TrainingRSquared;
+          var jcnNode = (JunctionNetworkNode)junctionNode;
+          var trainingR2 = ((IRegressionSolution)jcnNode.Data).TrainingRSquared;
           arc = new Arc(junctionNode, targetNode) { Weight = junctionNode.InArcs.Sum(x => x.Weight), Label = trainingR2.ToString("N3", CultureInfo.CurrentCulture) };
           vn.AddArc(arc);
@@ -394,6 +397,7 @@
       errorProvider.SetError(tb, string.Empty);
       double impact;
-      if (!double.TryParse(tb.Text, out impact))
+      if (!double.TryParse(tb.Text, out impact)) {
         impact = 0.2;
+      }
       var network = ApplyThreshold(variableInteractionNetwork, impact);
       graphChart.Graph = network;
@@ -443,9 +447,18 @@
     }
 
+    private void ControlsEnable(bool enabled) {
+      qualityResultNameComboBox.Enabled
+        = impactResultNameComboBox.Enabled
+        = impactAggregationComboBox.Enabled
+        = impactThresholdTextBox.Enabled
+        = onlineImpactCalculationButton.Enabled
+        = edgeRoutingComboBox.Enabled
+        = idealEdgeLengthTextBox.Enabled = enabled;
+    }
+
     private void onlineImpactCalculationButton_Click(object sender, EventArgs args) {
-      var button = (Button)sender;
       var worker = new BackgroundWorker();
       worker.DoWork += (o, e) => {
-        button.Enabled = false;
+        ControlsEnable(false);
         var impacts = CalculateVariableImpactsOnline(Content, false);
         variableInteractionNetwork = CreateNetwork(impacts);
@@ -453,5 +466,5 @@
         graphChart.Graph = ApplyThreshold(variableInteractionNetwork, threshold);
       };
-      worker.RunWorkerCompleted += (o, e) => button.Enabled = true;
+      worker.RunWorkerCompleted += (o, e) => ControlsEnable(true);
       worker.RunWorkerAsync();
     }
