Index: /trunk/sources/HeuristicLab.Visualization/ChartDataRowsModel.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/ChartDataRowsModel.cs	(revision 858)
+++ /trunk/sources/HeuristicLab.Visualization/ChartDataRowsModel.cs	(revision 859)
@@ -7,50 +7,19 @@
   public delegate void DataRowAddedHandler(IDataRow row);
   public delegate void DataRowRemovedHandler(IDataRow row);
-
   public delegate void ModelChangedHandler();
 
-  public class ChartDataRowsModel : ChartDataModelBase, IChartDataRowsModel {
+  public class ChartDataRowsModel : ChartDataModelBase, IChartDataRowsModel{
     private string title;
     private string xAxisLabel;
-    private string yAxisLabel;
 
-    public void AddLabel(string label) {
-      throw new NotImplementedException();
-      // TODO ModelChangedEvent auslösen
+    private readonly List<IDataRow> rows = new List<IDataRow>();
+    private readonly List<string> xLabels = new List<string>();
+
+    public List<string> XLabels{
+      get { return xLabels; }
     }
 
-    public void AddLabel(string label, int index) {
-      throw new NotImplementedException();
-      // TODO ModelChangedEvent auslösen
-    }
-
-    public void AddLabels(string[] labels) {
-      throw new NotImplementedException();
-      // TODO ModelChangedEvent auslösen
-    }
-
-    public void AddLabels(string[] labels, int index) {
-      throw new NotImplementedException();
-      // TODO ModelChangedEvent auslösen
-    }
-
-    public void ModifyLabel(string label, int index) {
-      throw new NotImplementedException();
-      // TODO ModelChangedEvent auslösen
-    }
-
-    public void ModifyLabels(string[] labels, int index) {
-      throw new NotImplementedException();
-      // TODO ModelChangedEvent auslösen
-    }
-
-    public void RemoveLabel(int index) {
-      throw new NotImplementedException();
-      // TODO ModelChangedEvent auslösen
-    }
-
-    public void RemoveLabels(int index, int count) {
-      throw new NotImplementedException();
-      // TODO ModelChangedEvent auslösen
+    public List<IDataRow> Rows{
+      get { return rows; }
     }
 
@@ -62,5 +31,4 @@
       }
     }
-
     public string XAxisLabel {
       get { return xAxisLabel; }
@@ -71,24 +39,58 @@
     }
 
-    public string YAxisLabel {
-      get { return yAxisLabel; }
-      set {
-        yAxisLabel = value;
-        OnModelChanged();
-      }
+    public override IView CreateView() {
+      return new LineChart(this);
     }
 
-    public event ModelChangedHandler ModelChanged;
-
-    protected void OnModelChanged() {
-      if (ModelChanged != null) {
-        ModelChanged();
-      }
+    public void AddLabel(string label) {
+      xLabels.Add(label);
+      OnModelChanged();
     }
 
-    private readonly List<IDataRow> rows = new List<IDataRow>();
-    
-    public static IDataRow CreateDataRow() {
-      throw new NotImplementedException();
+    public void AddLabel(string label, int index) {
+      xLabels[index] = label;
+      OnModelChanged();
+    }
+
+    public void AddLabels(string[] labels) {
+      foreach (var s in labels){
+        AddLabel(s);
+      }
+      //OnModelChanged();
+    }
+
+    public void AddLabels(string[] labels, int index) {
+      int i = 0;
+      foreach (var s in labels){
+        AddLabel(s, index + i);
+        i++;
+      }
+      //OnModelChanged();
+    }
+
+    public void ModifyLabel(string label, int index) {
+      xLabels[index] = label;
+      OnModelChanged();
+    }
+
+    public void ModifyLabels(string[] labels, int index) {
+      int i = 0;
+      foreach (var s in labels){
+        ModifyLabel(s, index + i);
+        i++;
+      }
+      //OnModelChanged();
+    }
+
+    public void RemoveLabel(int index) {
+      xLabels.RemoveAt(index);
+      OnModelChanged();
+    }
+
+    public void RemoveLabels(int index, int count) {
+      for (int i = index; i < index + count; i++ ){
+        RemoveLabel(i);
+      }
+      //OnModelChanged();
     }
 
@@ -101,4 +103,12 @@
       rows.Remove(row);
       OnDataRowRemoved(row);
+    }
+
+    public event ModelChangedHandler ModelChanged;
+
+    protected void OnModelChanged() {
+      if (ModelChanged != null) {
+        ModelChanged();
+      }
     }
 
@@ -119,7 +129,5 @@
     }
 
-    public override IView CreateView() {
-      return new LineChart(this); //when LineChart is implemented
-    }
+    
 
     public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
Index: /trunk/sources/HeuristicLab.Visualization/IChartDataRowsModel.cs
===================================================================
--- /trunk/sources/HeuristicLab.Visualization/IChartDataRowsModel.cs	(revision 858)
+++ /trunk/sources/HeuristicLab.Visualization/IChartDataRowsModel.cs	(revision 859)
@@ -1,7 +1,10 @@
-﻿namespace HeuristicLab.Visualization {
+﻿using System.Collections.Generic;
+
+namespace HeuristicLab.Visualization {
   public interface IChartDataRowsModel {
     string Title { get; set; }
     string XAxisLabel { get; set; }
-    string YAxisLabel { get; set; }
+    List<string> XLabels { get; }
+    List<IDataRow> Rows { get; }
 
     void AddDataRow(IDataRow row);
