Index: /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.cs
===================================================================
--- /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.cs	(revision 17255)
+++ /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.cs	(revision 17256)
@@ -80,11 +80,11 @@
           Content.Constraints = parsedConstraints;
           Content.Input = constraintsInput.Text;
-          errorOutput.ForeColor = Color.DarkGreen;
-          errorOutput.Text = "Constraints successfully parsed.";
+          Content.InfoText = "Constraints successfully parsed.";
+          Content.InfoColor = Color.DarkGreen;
           //Catch the exception from the constraints parser and show it in the error dialog
         } catch(ArgumentException ex) {
           Content.Constraints = new List<IntervalConstraint>();
-          errorOutput.ForeColor = Color.DarkRed;
-          errorOutput.Text = ex.Message.Replace("Parameter name", "@Line");
+          Content.InfoText = ex.Message.Replace("Parameter name", "@Line");
+          Content.InfoColor = Color.DarkRed;
         }
       } else {
@@ -100,4 +100,6 @@
         intervalConstraints.Clear();
         constraintsInput.Text = Content.Input;
+        errorOutput.ForeColor = Content.InfoColor;
+        errorOutput.Text = Content.InfoText;
         foreach (var constraint in Content.Constraints) {
           intervalConstraints.Add(constraint, constraint.Enabled);
@@ -135,7 +137,7 @@
     private void constraintsInput_TextChanged(object sender, EventArgs e) {
       if (Content.Input != constraintsInput.Text) {
-        errorOutput.ForeColor = Color.DarkOrange;
-        errorOutput.Text = "Unparsed changes! Press parse button to save changes.";
-        Content.Input = constraintsInput.Text;
+       Content.Input = constraintsInput.Text;
+       Content.InfoText = "Unparsed changes! Press parse button to save changes.";
+       Content.InfoColor = Color.DarkOrange;
       } else {
         errorOutput.Text = "";
Index: /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/ProblemDataConstraint.cs
===================================================================
--- /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/ProblemDataConstraint.cs	(revision 17255)
+++ /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/ProblemDataConstraint.cs	(revision 17256)
@@ -23,4 +23,5 @@
 using System;
 using System.Collections.Generic;
+using System.Drawing;
 using System.Linq;
 using HEAL.Attic;
@@ -50,4 +51,26 @@
 
     [Storable]
+    private string infoText;
+    public string InfoText {
+      get => infoText;
+      set {
+        if (infoText == value) return;
+        infoText = value;
+        OnChanged();
+      }
+    }
+
+    [Storable]
+    private Color infoColor;
+    public Color InfoColor {
+      get => infoColor;
+      set {
+        if (infoColor == value) return;
+        infoColor = value;
+        OnChanged();
+      }
+    }
+
+    [Storable]
     private IEnumerable<IntervalConstraint> constraints;
     public IEnumerable<IntervalConstraint> Constraints {
@@ -68,4 +91,6 @@
       : base(original, cloner) {
       this.Input = original.Input;
+      this.InfoText = original.InfoText;
+      this.infoColor = original.InfoColor;
       this.constraints = original.Constraints.Select(cloner.Clone).ToList();
       this.ProblemData = cloner.Clone(original.ProblemData);
@@ -78,4 +103,6 @@
     public ProblemDataConstraint() : base() {
       this.Input = exampleInput;
+      this.InfoText = "";
+      this.InfoColor = Color.DarkOrange;
       this.constraints = new List<IntervalConstraint>();
       this.ProblemData = null;
@@ -84,4 +111,6 @@
     public ProblemDataConstraint(IRegressionProblemData problemData) : base() {
       this.Input = exampleInput;
+      this.InfoText = infoText;
+      this.InfoColor = InfoColor;
       this.constraints = new List<IntervalConstraint>();
       this.ProblemData = problemData;
