Index: trunk/sources/HeuristicLab.Visualization/3.2/ChartDataRowsModel.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/ChartDataRowsModel.cs	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/ChartDataRowsModel.cs	(revision 1962)
@@ -121,5 +121,5 @@
 
         XmlAttribute idAttr = document.CreateAttribute("label");
-        idAttr.Value = row.Label;
+        idAttr.Value = row.RowSettings.Label;
         columnElement.Attributes.Append(idAttr);
 
@@ -156,5 +156,5 @@
           string rowLabel = rowIdAttr.Value;
           DataRow row = new DataRow();
-          row.Label = rowLabel;
+          row.RowSettings.Label = rowLabel;
 
           string[] tokens = dataRow.InnerText.Split(';');
Index: trunk/sources/HeuristicLab.Visualization/3.2/ChartDataRowsModelDummy.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/ChartDataRowsModelDummy.cs	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/ChartDataRowsModelDummy.cs	(revision 1962)
@@ -15,12 +15,12 @@
       // TODO change to call new DataRow("Datarow 1");
       DataRow row1 = new DataRow();
-      row1.Label = "Datarow 1";
-      row1.Color = Color.Red;
+      row1.RowSettings.Label = "Datarow 1";
+      row1.RowSettings.Color = Color.Red;
       DataRow row2 = new DataRow();
-      row2.Label = "Datarow 2";
-      row2.Color = Color.Blue;
+      row2.RowSettings.Label = "Datarow 2";
+      row2.RowSettings.Color = Color.Blue;
       DataRow row3 = new DataRow();
-      row3.Label = "Datarow 3";
-      row3.Color = Color.DeepPink;
+      row3.RowSettings.Label = "Datarow 3";
+      row3.RowSettings.Color = Color.DeepPink;
 
       AddDataRow(row1);
Index: trunk/sources/HeuristicLab.Visualization/3.2/DataExport/CSVDataExport.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/DataExport/CSVDataExport.cs	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/DataExport/CSVDataExport.cs	(revision 1962)
@@ -29,5 +29,5 @@
         writer.AddString(model.XAxis.Label);
         foreach (IDataRow row in model.Rows)
-          writer.AddString(row.Label);
+          writer.AddString(row.RowSettings.Label);
         writer.NewLine();
 
Index: trunk/sources/HeuristicLab.Visualization/3.2/DataRow.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/DataRow.cs	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/DataRow.cs	(revision 1962)
@@ -18,5 +18,4 @@
     private readonly List<double> dataRow = new List<double>();
 
-    // TODO implement calculation of min and max values
     private double minValue = double.MaxValue;
     private double maxValue = double.MinValue;
@@ -26,11 +25,11 @@
     
     public DataRow(string label) {
-      this.Label = label;
+      this.RowSettings.Label = label;
     }
 
     public DataRow(string label, Color color, int thickness, DrawingStyle style, List<double> dataRow) {
-      this.Label = label;
-      this.Color = color;
-      this.Thickness = thickness;
+      this.RowSettings.Label = label;
+      this.RowSettings.Color = color;
+      this.RowSettings.Thickness = thickness;
       this.Style = style;
       this.dataRow = dataRow;
@@ -39,7 +38,7 @@
 
     public DataRow(string label, Color color, int thickness, DrawingStyle style, List<double> dataRow, bool showMarkers) {
-      this.Label = label;
-      this.Color = color;
-      this.Thickness = thickness;
+      this.RowSettings.Label = label;
+      this.RowSettings.Color = color;
+      this.RowSettings.Thickness = thickness;
       this.Style = style;
       this.ShowMarkers = showMarkers;
Index: trunk/sources/HeuristicLab.Visualization/3.2/DataRowBase.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/DataRowBase.cs	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/DataRowBase.cs	(revision 1962)
@@ -1,13 +1,20 @@
-using System.Drawing;
+using HeuristicLab.Visualization.Options;
 
 namespace HeuristicLab.Visualization {
   public abstract class DataRowBase : IDataRow {
-    private string label = "";
-    private Color color = Color.Black;
-    private int thickness = 2;
+    //private string label = "";
+    //private Color color = Color.Black;
+    //private int thickness = 2;
     private DrawingStyle style = DrawingStyle.Solid;
     private DataRowType lineType = DataRowType.Normal;
     private YAxisDescriptor yAxis;
     private bool showMarkers = true;
+
+    private DataRowSettings rowSettings = new DataRowSettings();
+
+    public DataRowSettings RowSettings {
+      get { return rowSettings; }
+      set { rowSettings = value; }
+    }
 
     public bool ShowMarkers {
@@ -19,27 +26,27 @@
     }          
 
-    public string Label {
-      get { return label; }
-      set {
-        label = value;
-        OnDataRowChanged(this);
-      }
-    }
-
-    public Color Color {
-      get { return color; }
-      set {
-        color = value;
-        OnDataRowChanged(this);
-      }
-    }
-
-    public int Thickness {
-      get { return thickness; }
-      set {
-        thickness = value;
-        OnDataRowChanged(this);
-      }
-    }
+//    public string Label {
+//      get { return label; }
+//      set {
+//        label = value;
+//        OnDataRowChanged(this);
+//      }
+//    }
+//
+//    public Color Color {
+//      get { return color; }
+//      set {
+//        color = value;
+//        OnDataRowChanged(this);
+//      }
+//    }
+//
+//    public int Thickness {
+//      get { return thickness; }
+//      set {
+//        thickness = value;
+//        OnDataRowChanged(this);
+//      }
+//    }
 
     public DrawingStyle Style {
Index: trunk/sources/HeuristicLab.Visualization/3.2/HeuristicLab.Visualization-3.2.csproj
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/HeuristicLab.Visualization-3.2.csproj	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/HeuristicLab.Visualization-3.2.csproj	(revision 1962)
@@ -4,5 +4,5 @@
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
+    <ProductVersion>9.0.21022</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{E392A1E2-DC95-4E33-B82E-8ED690EDA1AB}</ProjectGuid>
@@ -120,4 +120,5 @@
       <DependentUpon>ColorSelection.cs</DependentUpon>
     </Compile>
+    <Compile Include="Options\DataRowSettings.cs" />
     <Compile Include="XAxisDescriptor.cs" />
     <Compile Include="YAxisGrid.cs" />
Index: trunk/sources/HeuristicLab.Visualization/3.2/IDataRow.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/IDataRow.cs	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/IDataRow.cs	(revision 1962)
@@ -1,3 +1,3 @@
-using System.Drawing;
+using HeuristicLab.Visualization.Options;
 
 namespace HeuristicLab.Visualization {
@@ -8,10 +8,11 @@
 
   public interface IDataRow {
-    string Label { get; set; }
-    Color Color { get; set; }
-    int Thickness { get; set; }
+    //string Label { get; set; }
+    //Color Color { get; set; }
+    //int Thickness { get; set; }
     DrawingStyle Style { get; set; }
     DataRowType LineType { get; set; }
     bool ShowMarkers { get; set; }
+    DataRowSettings RowSettings { get; set; }
  
     YAxisDescriptor YAxis { get; set; }
Index: trunk/sources/HeuristicLab.Visualization/3.2/LineChart.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/LineChart.cs	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/LineChart.cs	(revision 1962)
@@ -366,5 +366,5 @@
       row.DataRowChanged += OnDataRowChanged;
 
-      legendShape.AddLegendItem(new LegendItem(row.Label, row.Color, row.Thickness));
+      legendShape.AddLegendItem(new LegendItem(row.RowSettings.Label, row.RowSettings.Color, row.RowSettings.Thickness));
       legendShape.CreateLegend();
 
@@ -466,5 +466,5 @@
       if ((row.LineType == DataRowType.SingleValue)) {
         if (row.Count > 0) {
-          LineShape lineShape = new HorizontalLineShape(0, row[0], double.MaxValue, row[0], row.Color, row.Thickness,
+          LineShape lineShape = new HorizontalLineShape(0, row[0], double.MaxValue, row[0], row.RowSettings.Color, row.RowSettings.Thickness,
                                                         row.Style);
           rowEntry.LinesShape.AddShape(lineShape);
@@ -473,14 +473,14 @@
         rowEntry.showMarkers(true);      //no lines, only markers are shown!!
         for (int i = 0; i < row.Count; i++)
-          rowEntry.LinesShape.AddMarkerShape(new MarkerShape(i , row[i], 8, row.Color));
+          rowEntry.LinesShape.AddMarkerShape(new MarkerShape(i, row[i], 8, row.RowSettings.Color));
       } else if (row.LineType == DataRowType.Normal) {
         rowEntry.showMarkers(row.ShowMarkers);
         for (int i = 1; i < row.Count; i++) {
-          LineShape lineShape = new LineShape(i - 1, row[i - 1], i, row[i], row.Color, row.Thickness, row.Style);
+          LineShape lineShape = new LineShape(i - 1, row[i - 1], i, row[i], row.RowSettings.Color, row.RowSettings.Thickness, row.Style);
           rowEntry.LinesShape.AddShape(lineShape);
-          rowEntry.LinesShape.AddMarkerShape(new MarkerShape(i - 1, row[i - 1], 8, row.Color));
+          rowEntry.LinesShape.AddMarkerShape(new MarkerShape(i - 1, row[i - 1], 8, row.RowSettings.Color));
         }
         if (row.Count > 0) {
-          rowEntry.LinesShape.AddMarkerShape(new MarkerShape((row.Count - 1), row[(row.Count - 1)], 8, row.Color));
+          rowEntry.LinesShape.AddMarkerShape(new MarkerShape((row.Count - 1), row[(row.Count - 1)], 8, row.RowSettings.Color));
         }
       }
@@ -501,5 +501,5 @@
       if (row.LineType == DataRowType.SingleValue) {
         if (action == Action.Added) {
-          LineShape lineShape = new HorizontalLineShape(0, row[0], double.MaxValue, row[0], row.Color, row.Thickness,
+          LineShape lineShape = new HorizontalLineShape(0, row[0], double.MaxValue, row[0], row.RowSettings.Color, row.RowSettings.Thickness,
                                                         row.Style);
           rowEntry.LinesShape.AddShape(lineShape);
@@ -514,10 +514,10 @@
         if (action == Action.Added) {
           if(rowEntry.LinesShape.Count==0)
-            rowEntry.LinesShape.AddMarkerShape(new MarkerShape(0, row[0], 8, row.Color));
+            rowEntry.LinesShape.AddMarkerShape(new MarkerShape(0, row[0], 8, row.RowSettings.Color));
           if (index > 0 && index == rowEntry.LinesShape.Count + 1) {
-            LineShape lineShape = new LineShape(index - 1, row[index - 1], index, row[index], row.Color, row.Thickness,
+            LineShape lineShape = new LineShape(index - 1, row[index - 1], index, row[index], row.RowSettings.Color, row.RowSettings.Thickness,
                                                 row.Style);
             rowEntry.LinesShape.AddShape(lineShape);
-            rowEntry.LinesShape.AddMarkerShape(new MarkerShape(index, row[index], 8, row.Color));
+            rowEntry.LinesShape.AddMarkerShape(new MarkerShape(index, row[index], 8, row.RowSettings.Color));
           } else {
             throw new ArgumentException("Adding a value is only possible at the end of a row!");
@@ -549,10 +549,10 @@
         if (action == Action.Added) {
           if (rowEntry.LinesShape.Count == 0)
-            rowEntry.LinesShape.AddMarkerShape(new MarkerShape(0, row[0], 8, row.Color));
+            rowEntry.LinesShape.AddMarkerShape(new MarkerShape(0, row[0], 8, row.RowSettings.Color));
           if (index > 0 && index == rowEntry.LinesShape.Count + 1) {
-            LineShape lineShape = new LineShape(index-1, row[index-1], index, row[index], row.Color, row.Thickness,
+            LineShape lineShape = new LineShape(index - 1, row[index - 1], index, row[index], row.RowSettings.Color, row.RowSettings.Thickness,
                                                 row.Style);
             rowEntry.LinesShape.AddShape(lineShape);
-            rowEntry.LinesShape.AddMarkerShape(new MarkerShape(index, row[index], 8, row.Color));
+            rowEntry.LinesShape.AddMarkerShape(new MarkerShape(index, row[index], 8, row.RowSettings.Color));
           }
         } else if (action == Action.Modified) {
@@ -744,7 +744,7 @@
           LineShape lineShape = shape as LineShape;
           if (lineShape != null) {
-            lineShape.LSColor = row.Color;
+            lineShape.LSColor = row.RowSettings.Color;
             lineShape.LSDrawingStyle = row.Style;
-            lineShape.LSThickness = row.Thickness;
+            lineShape.LSThickness = row.RowSettings.Thickness;
           }
         }
Index: trunk/sources/HeuristicLab.Visualization/3.2/Options/DataRowSettings.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/Options/DataRowSettings.cs	(revision 1962)
+++ trunk/sources/HeuristicLab.Visualization/3.2/Options/DataRowSettings.cs	(revision 1962)
@@ -0,0 +1,87 @@
+﻿using System.Drawing;
+
+namespace HeuristicLab.Visualization.Options {
+  public class DataRowSettings {
+    public event UpdateDataRowSettingsHandler OnUpdateDataRowSettings;
+
+    private string label;
+    private Color color;
+    private int thickness;
+    private DrawingStyle style;
+    private DataRowType lineType;
+    private bool showMarkers;
+
+    public DataRowSettings() {
+      label = "";
+      color = Color.Black;
+      thickness = 2;
+      style = DrawingStyle.Solid;
+      lineType = DataRowType.Normal;
+      showMarkers = true;
+    }
+
+    public DataRowSettings(DataRowSettings src) {
+      label = src.label;
+      color = src.color;
+      thickness = src.thickness;
+      style = src.style;
+      lineType = src.lineType;
+      showMarkers = src.showMarkers;
+    }
+
+    public void UpdateView() {
+      if (OnUpdateDataRowSettings != null) {
+        OnUpdateDataRowSettings();
+      }
+    }
+
+//    public bool ShowMarkers {
+//      get { return showMarkers; }
+//      set {
+//        showMarkers = value;
+//        //OnDataRowChanged(this);
+//      }
+//    }
+
+    public string Label {
+      get { return label; }
+      set {
+        label = value;
+        //OnDataRowChanged(this);
+      }
+    }
+
+    public Color Color {
+      get { return color; }
+      set {
+        color = value;
+        //OnDataRowChanged(this);
+      }
+    }
+
+    public int Thickness {
+      get { return thickness; }
+      set {
+        thickness = value;
+        //OnDataRowChanged(this);
+      }
+    }
+
+//    public DrawingStyle Style {
+//      get { return style; }
+//      set {
+//        style = value;
+//        //OnDataRowChanged(this);
+//      }
+//    }
+//
+//    public DataRowType LineType {
+//      get { return lineType; }
+//      set {
+//        lineType = value;
+//        //OnDataRowChanged(this);
+//      }
+//    }
+  }
+  public delegate void UpdateDataRowSettingsHandler();
+}
Index: trunk/sources/HeuristicLab.Visualization/3.2/Options/Options.cs
===================================================================
--- trunk/sources/HeuristicLab.Visualization/3.2/Options/Options.cs	(revision 1961)
+++ trunk/sources/HeuristicLab.Visualization/3.2/Options/Options.cs	(revision 1962)
@@ -26,7 +26,7 @@
 
       public LineParams(IDataRow row) {
-        Label = row.Label;
-        Color = row.Color;
-        Thickness = row.Thickness;
+        Label = row.RowSettings.Label;
+        Color = row.RowSettings.Color;
+        Thickness = row.RowSettings.Thickness;
         Style = row.Style;
         this.row = row;
@@ -35,7 +35,7 @@
 
       public void applySettings() {
-        row.Label = Label;
-        row.Color = Color;
-        row.Thickness = Thickness;
+        row.RowSettings.Label = Label;
+        row.RowSettings.Color = Color;
+        row.RowSettings.Thickness = Thickness;
         row.Style = Style;
         row.ShowMarkers = this.ShowMarkers;
@@ -171,5 +171,5 @@
         LinestyleCB.DataSource = GetStyles();
         LinestyleCB.SelectedItem = model.Rows[0].Style;
-        LineThicknessCB.SelectedItem = model.Rows[0].Thickness;
+        LineThicknessCB.SelectedItem = model.Rows[0].RowSettings.Thickness;
         MarkercheckBox.Checked = model.Rows[0].ShowMarkers;
 
@@ -215,7 +215,7 @@
           index = LinestyleCB.FindStringExact(((IDataRow)LineSelectCB.SelectedValue).Style.ToString());
           LinestyleCB.SelectedIndex = index;  */
-        LineThicknessCB.SelectedItem = ((IDataRow)LineSelectCB.SelectedValue).Thickness;
+        LineThicknessCB.SelectedItem = ((IDataRow)LineSelectCB.SelectedValue).RowSettings.Thickness;
         LinestyleCB.SelectedItem = ((IDataRow)LineSelectCB.SelectedValue).Style;
-        selectedLineColorSelection.Color = ((IDataRow)LineSelectCB.SelectedValue).Color;
+        selectedLineColorSelection.Color = ((IDataRow)LineSelectCB.SelectedValue).RowSettings.Color;
         MarkercheckBox.Checked = ((IDataRow)LineSelectCB.SelectedValue).ShowMarkers;
       }
@@ -235,5 +235,5 @@
     private void LineThicknessCB_SelectedIndexChanged(object sender, EventArgs e) {
       if (LineSelectCB.SelectedValue != null) {
-        ((IDataRow)LineSelectCB.SelectedValue).Thickness = (int)LineThicknessCB.SelectedItem;
+        ((IDataRow)LineSelectCB.SelectedValue).RowSettings.Thickness = (int)LineThicknessCB.SelectedItem;
       }
     }
@@ -255,5 +255,5 @@
 
     private void selectedLineColorSelection_ColorChanged(ColorSelection sender) {
-      ((IDataRow)LineSelectCB.SelectedValue).Color = selectedLineColorSelection.Color;
+      ((IDataRow)LineSelectCB.SelectedValue).RowSettings.Color = selectedLineColorSelection.Color;
     }
 
