Index: anches/histogram/HeuristicLab.Analysis.Views/3.3/AggregatedHistogramHistoryView.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/AggregatedHistogramHistoryView.Designer.cs	(revision 6012)
+++ 	(revision )
@@ -1,80 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Analysis.Views {
-  partial class AggregatedHistogramHistoryView {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.histogramControl = new HeuristicLab.Visualization.ChartControlsExtensions.HistogramControl();
-      this.SuspendLayout();
-      // 
-      // histogramControl
-      // 
-      this.histogramControl.CalculateExactBins = false;
-      this.histogramControl.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.histogramControl.IncrementNumberOfBins = 1;
-      this.histogramControl.Location = new System.Drawing.Point(0, 0);
-      this.histogramControl.MaximumNumberOfBins = 100000;
-      this.histogramControl.MinimumNumberOfBins = 1;
-      this.histogramControl.Name = "histogramControl";
-      this.histogramControl.NumberOfBins = 10;
-      this.histogramControl.ShowExactCheckbox = true;
-      this.histogramControl.Size = new System.Drawing.Size(543, 372);
-      this.histogramControl.TabIndex = 3;
-      // 
-      // AggregatedHistogramHistoryView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.histogramControl);
-      this.Name = "AggregatedHistogramHistoryView";
-      this.Size = new System.Drawing.Size(543, 372);
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private Visualization.ChartControlsExtensions.HistogramControl histogramControl;
-
-  }
-}
Index: anches/histogram/HeuristicLab.Analysis.Views/3.3/AggregatedHistogramHistoryView.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/AggregatedHistogramHistoryView.cs	(revision 6012)
+++ 	(revision )
@@ -1,137 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System.Collections.Generic;
-using System.Linq;
-using System.Windows.Forms;
-using HeuristicLab.Collections;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
-using HeuristicLab.MainForm.WindowsForms;
-
-namespace HeuristicLab.Analysis.Views {
-  [View("Aggregated Histogram History View")]
-  [Content(typeof(HistogramHistory), IsDefaultView = false)]
-  public partial class AggregatedHistogramHistoryView : ItemView {
-
-    public new HistogramHistory Content {
-      get { return (HistogramHistory)base.Content; }
-      set { base.Content = value; }
-    }
-
-    public AggregatedHistogramHistoryView() {
-      InitializeComponent();
-    }
-
-    protected override void DeregisterContentEvents() {
-      Content.ItemsAdded -= new CollectionItemsChangedEventHandler<IndexedItem<Histogram>>(Content_ItemsAdded);
-      Content.ItemsRemoved -= new CollectionItemsChangedEventHandler<IndexedItem<Histogram>>(Content_ItemsRemoved);
-      Content.CollectionReset -= new CollectionItemsChangedEventHandler<IndexedItem<Histogram>>(Content_CollectionReset);
-      Content.CheckedItemsChanged -= new CollectionItemsChangedEventHandler<IndexedItem<Histogram>>(Content_CheckedItemsChanged);
-      foreach (Histogram h in Content) {
-        DeregisterHistogramEvents(h);
-      }
-      base.DeregisterContentEvents();
-    }
-
-    private void DeregisterHistogramEvents(Histogram histogram) {
-      histogram.Values.ItemsAdded -= new CollectionItemsChangedEventHandler<double>(Content_Values_ItemsAdded);
-      histogram.Values.ItemsRemoved -= new CollectionItemsChangedEventHandler<double>(Content_Values_ItemsRemoved);
-      histogram.Values.CollectionReset -= new CollectionItemsChangedEventHandler<double>(Content_Values_CollectionReset);
-    }
-
-    protected override void RegisterContentEvents() {
-      base.RegisterContentEvents();
-      Content.ItemsAdded += new CollectionItemsChangedEventHandler<IndexedItem<Histogram>>(Content_ItemsAdded);
-      Content.ItemsRemoved += new CollectionItemsChangedEventHandler<IndexedItem<Histogram>>(Content_ItemsRemoved);
-      Content.CollectionReset += new CollectionItemsChangedEventHandler<IndexedItem<Histogram>>(Content_CollectionReset);
-      Content.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<Histogram>>(Content_CheckedItemsChanged);
-      foreach (Histogram h in Content) {
-        RegisterHistogramEvents(h);
-      }
-    }
-
-    protected virtual void RegisterHistogramEvents(Histogram histogram) {
-      histogram.Values.ItemsAdded += new CollectionItemsChangedEventHandler<double>(Content_Values_ItemsAdded);
-      histogram.Values.ItemsRemoved += new CollectionItemsChangedEventHandler<double>(Content_Values_ItemsRemoved);
-      histogram.Values.CollectionReset += new CollectionItemsChangedEventHandler<double>(Content_Values_CollectionReset);
-    }
-
-    #region Event Handlers (Content)
-    private void Content_Values_ItemsAdded(object sender, CollectionItemsChangedEventArgs<double> e) {
-      histogramControl.AddPoints(e.Items);
-    }
-    private void Content_Values_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<double> e) {
-      InitializeHistogram();
-    }
-    private void Content_Values_CollectionReset(object sender, CollectionItemsChangedEventArgs<double> e) {
-      InitializeHistogram();
-    }
-    private void Content_CheckedItemsChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<Histogram>> e) {
-      InitializeHistogram();
-    }
-    private void Content_ItemsAdded(object sender, CollectionItemsChangedEventArgs<IndexedItem<Histogram>> e) {
-      List<double> added = new List<double>();
-      foreach (IndexedItem<Histogram> h in e.Items) {
-        RegisterHistogramEvents(h.Value);
-        added.AddRange(h.Value.Values);
-      }
-      histogramControl.AddPoints(added);
-    }
-    private void Content_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<IndexedItem<Histogram>> e) {
-      foreach (IndexedItem<Histogram> h in e.Items) {
-        DeregisterHistogramEvents(h.Value);
-      }
-      InitializeHistogram();
-    }
-    private void Content_CollectionReset(object sender, CollectionItemsChangedEventArgs<IndexedItem<Histogram>> e) {
-      foreach (IndexedItem<Histogram> h in e.OldItems) {
-        DeregisterHistogramEvents(h.Value);
-      }
-      InitializeHistogram();
-    }
-    #endregion
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-      if (Content == null) {
-        histogramControl.ClearPoints();
-      } else {
-        InitializeHistogram();
-      }
-    }
-
-    protected override void SetEnabledStateOfControls() {
-      base.SetEnabledStateOfControls();
-      histogramControl.Enabled = Content != null;
-    }
-
-    private void InitializeHistogram() {
-      if (Content == null) return;
-      histogramControl.ClearPoints();
-      var points = Content.CheckedItems.SelectMany(x => x.Value.Values);
-      histogramControl.AddPoints(points);
-    }
-
-    #region Event Handlers (child controls)
-    #endregion
-  }
-}
Index: anches/histogram/HeuristicLab.Analysis.Views/3.3/AggregatedHistogramHistoryView.resx
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/AggregatedHistogramHistoryView.resx	(revision 6012)
+++ 	(revision )
@@ -1,120 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
Index: /branches/histogram/HeuristicLab.Analysis.Views/3.3/HeuristicLab.Analysis.Views-3.3.csproj
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/HeuristicLab.Analysis.Views-3.3.csproj	(revision 6012)
+++ /branches/histogram/HeuristicLab.Analysis.Views/3.3/HeuristicLab.Analysis.Views-3.3.csproj	(revision 6013)
@@ -124,10 +124,4 @@
       <DependentUpon>AlleleFrequencyCollectionView.cs</DependentUpon>
     </Compile>
-    <Compile Include="AggregatedHistogramHistoryView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="AggregatedHistogramHistoryView.Designer.cs">
-      <DependentUpon>AggregatedHistogramHistoryView.cs</DependentUpon>
-    </Compile>
     <Compile Include="DataRowVisualPropertiesControl.cs">
       <SubType>UserControl</SubType>
@@ -148,10 +142,4 @@
       <DependentUpon>DataTableVisualPropertiesDialog.cs</DependentUpon>
     </Compile>
-    <Compile Include="HistogramHistoryView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="HistogramHistoryView.Designer.cs">
-      <DependentUpon>HistogramHistoryView.cs</DependentUpon>
-    </Compile>
     <Compile Include="HeatMapHistoryView.cs">
       <SubType>UserControl</SubType>
@@ -184,10 +172,4 @@
     <Compile Include="AlleleFrequencyCollectionHistoryView.Designer.cs">
       <DependentUpon>AlleleFrequencyCollectionHistoryView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="HistogramView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="HistogramView.Designer.cs">
-      <DependentUpon>HistogramView.cs</DependentUpon>
     </Compile>
     <Compile Include="Properties\AssemblyInfo.cs" />
@@ -271,7 +253,4 @@
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="AggregatedHistogramHistoryView.resx">
-      <DependentUpon>AggregatedHistogramHistoryView.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="DataRowVisualPropertiesControl.resx">
       <DependentUpon>DataRowVisualPropertiesControl.cs</DependentUpon>
@@ -288,7 +267,4 @@
     <EmbeddedResource Include="HeatMapView.resx">
       <DependentUpon>HeatMapView.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="HistogramView.resx">
-      <DependentUpon>HistogramView.cs</DependentUpon>
     </EmbeddedResource>
   </ItemGroup>
Index: anches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramHistoryView.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramHistoryView.Designer.cs	(revision 6012)
+++ 	(revision )
@@ -1,53 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Analysis.Views {
-  partial class HistogramHistoryView {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing) {
-        if (components != null) components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      components = new System.ComponentModel.Container();
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-    }
-
-    #endregion
-  }
-}
Index: anches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramHistoryView.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramHistoryView.cs	(revision 6012)
+++ 	(revision )
@@ -1,35 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System.Windows.Forms;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.Analysis.Views {
-  [View("Histogram History View")]
-  [Content(typeof(HistogramHistory), true)]
-  public partial class HistogramHistoryView : MovieView<Histogram> {
-    public HistogramHistoryView() {
-      InitializeComponent();
-      itemsGroupBox.Text = "Histogram";
-    }
-  }
-}
Index: anches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramView.Designer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramView.Designer.cs	(revision 6012)
+++ 	(revision )
@@ -1,94 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Analysis.Views {
-  partial class HistogramView {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.histogramControl = new HeuristicLab.Visualization.ChartControlsExtensions.HistogramControl();
-      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
-      this.SuspendLayout();
-      // 
-      // nameTextBox
-      // 
-      this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
-      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
-      this.nameTextBox.Location = new System.Drawing.Point(91, 0);
-      this.nameTextBox.Size = new System.Drawing.Size(427, 20);
-      // 
-      // infoLabel
-      // 
-      this.infoLabel.Location = new System.Drawing.Point(524, 3);
-      // 
-      // histogramControl
-      // 
-      this.histogramControl.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.histogramControl.Location = new System.Drawing.Point(0, 26);
-      this.histogramControl.Name = "histogramControl";
-      this.histogramControl.Size = new System.Drawing.Size(543, 346);
-      this.histogramControl.TabIndex = 3;
-      // 
-      // HistogramView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.histogramControl);
-      this.Name = "HistogramView";
-      this.Size = new System.Drawing.Size(543, 372);
-      this.Controls.SetChildIndex(this.histogramControl, 0);
-      this.Controls.SetChildIndex(this.nameLabel, 0);
-      this.Controls.SetChildIndex(this.nameTextBox, 0);
-      this.Controls.SetChildIndex(this.infoLabel, 0);
-      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    private Visualization.ChartControlsExtensions.HistogramControl histogramControl;
-
-  }
-}
Index: anches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramView.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramView.cs	(revision 6012)
+++ 	(revision )
@@ -1,86 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System.Windows.Forms;
-using HeuristicLab.Collections;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
-using HeuristicLab.MainForm.WindowsForms;
-
-namespace HeuristicLab.Analysis.Views {
-  [View("Histogram View")]
-  [Content(typeof(Histogram), IsDefaultView = true)]
-  public partial class HistogramView : NamedItemView {
-
-    public new Histogram Content {
-      get { return (Histogram)base.Content; }
-      set { base.Content = value; }
-    }
-
-    public HistogramView() {
-      InitializeComponent();
-    }
-
-    protected override void DeregisterContentEvents() {
-      Content.Values.ItemsAdded -= new CollectionItemsChangedEventHandler<double>(Content_Values_ItemsAdded);
-      Content.Values.ItemsRemoved -= new CollectionItemsChangedEventHandler<double>(Content_Values_ItemsRemoved);
-      Content.Values.CollectionReset -= new CollectionItemsChangedEventHandler<double>(Content_Values_CollectionReset);
-      base.DeregisterContentEvents();
-    }
-
-    protected override void RegisterContentEvents() {
-      base.RegisterContentEvents();
-      Content.Values.ItemsAdded += new CollectionItemsChangedEventHandler<double>(Content_Values_ItemsAdded);
-      Content.Values.ItemsRemoved += new CollectionItemsChangedEventHandler<double>(Content_Values_ItemsRemoved);
-      Content.Values.CollectionReset += new CollectionItemsChangedEventHandler<double>(Content_Values_CollectionReset);
-    }
-
-    #region Event Handlers (Content)
-    private void Content_Values_ItemsAdded(object sender, CollectionItemsChangedEventArgs<double> e) {
-      histogramControl.AddPoints(e.Items);
-    }
-    private void Content_Values_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<double> e) {
-      histogramControl.ClearPoints();
-      histogramControl.AddPoints(Content.Values);
-    }
-    private void Content_Values_CollectionReset(object sender, CollectionItemsChangedEventArgs<double> e) {
-      histogramControl.ClearPoints();
-      histogramControl.AddPoints(Content.Values);
-    }
-    #endregion
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-      histogramControl.ClearPoints();
-      if (Content != null) {
-        histogramControl.AddPoints(Content.Values);
-      }
-    }
-
-    protected override void SetEnabledStateOfControls() {
-      base.SetEnabledStateOfControls();
-      histogramControl.Enabled = Content != null;
-    }
-
-    #region Event Handlers (child controls)
-    #endregion
-  }
-}
Index: anches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramView.resx
===================================================================
--- /branches/histogram/HeuristicLab.Analysis.Views/3.3/HistogramView.resx	(revision 6012)
+++ 	(revision )
@@ -1,126 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>107, 17</value>
-  </metadata>
-  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-</root>
Index: anches/histogram/HeuristicLab.Analysis/3.3/DataVisualization/Histogram.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/DataVisualization/Histogram.cs	(revision 6012)
+++ 	(revision )
@@ -1,67 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System.Collections.Generic;
-using HeuristicLab.Collections;
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-namespace HeuristicLab.Analysis {
-  [Item("Histogram", "Holds data that is to be displayed as a histogram.")]
-  [StorableClass]
-  public class Histogram : NamedItem {
-
-    private ObservableCollection<double> values;
-    public ObservableCollection<double> Values {
-      get { return values; }
-    }
-
-    [Storable(Name = "values")]
-    private IEnumerable<double> StorableValues {
-      get { return values; }
-      set { values = new ObservableCollection<double>(value); }
-    }
-
-    [StorableConstructor]
-    protected Histogram(bool deserializing) : base(deserializing) { }
-    protected Histogram(Histogram original, Cloner cloner)
-      : base(original, cloner) {
-      this.values = new ObservableCollection<double>(original.values);
-    }
-    public Histogram()
-      : base() {
-      values = new ObservableCollection<double>();
-    }
-    public Histogram(string name)
-      : base(name) {
-      values = new ObservableCollection<double>();
-    }
-    public Histogram(string name, string description)
-      : base(description) {
-      values = new ObservableCollection<double>();
-    }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new Histogram(this, cloner);
-    }
-  }
-}
Index: anches/histogram/HeuristicLab.Analysis/3.3/DataVisualization/HistogramHistory.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/DataVisualization/HistogramHistory.cs	(revision 6012)
+++ 	(revision )
@@ -1,49 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System.Collections.Generic;
-using System.Drawing;
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-namespace HeuristicLab.Analysis {
-  /// <summary>
-  /// Represents history values of histograms.
-  /// </summary>
-  [Item("HistogramHistory", "Represents history values of histograms.")]
-  [StorableClass]
-  public class HistogramHistory : CheckedItemList<Histogram> {
-    public override Image ItemImage {
-      get { return HeuristicLab.Common.Resources.VSImageLibrary.Cab; }
-    }
-
-    [StorableConstructor]
-    protected HistogramHistory(bool deserializing) : base(deserializing) { }
-    protected HistogramHistory(HistogramHistory original, Cloner cloner) : base(original, cloner) { }
-    public HistogramHistory() : base() { }
-    public HistogramHistory(IEnumerable<Histogram> collection) : base(collection) { }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new HistogramHistory(this, cloner);
-    }
-  }
-}
Index: /branches/histogram/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj	(revision 6012)
+++ /branches/histogram/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj	(revision 6013)
@@ -118,5 +118,4 @@
     <Compile Include="AlleleFrequencyAnalysis\AlleleFrequencyCollectionHistory.cs" />
     <Compile Include="BestScopeSolutionAnalyzer.cs" />
-    <Compile Include="DataVisualization\HistogramHistory.cs" />
     <Compile Include="DataVisualization\DataRow.cs" />
     <Compile Include="DataVisualization\DataRowVisualProperties.cs" />
@@ -127,5 +126,4 @@
     <Compile Include="DataVisualization\HeatMap.cs" />
     <Compile Include="DataVisualization\HeatMapHistory.cs" />
-    <Compile Include="DataVisualization\Histogram.cs" />
     <Compile Include="MultidimensionalScaling\MultidimensionalScaling.cs" />
     <Compile Include="MultiObjective\RankBasedParetoFrontAnalyzer.cs" />
Index: /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/QualityDistributionAnalyzer.cs
===================================================================
--- /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/QualityDistributionAnalyzer.cs	(revision 6012)
+++ /branches/histogram/HeuristicLab.Analysis/3.3/QualityAnalysis/QualityDistributionAnalyzer.cs	(revision 6013)
@@ -30,7 +30,7 @@
 
 namespace HeuristicLab.Analysis.QualityAnalysis {
-  [Item("Quality Distribution Analyzer", "Analyzes the distribution of the quality values in that it adds a Histogram of them into the result collection.")]
+  [Item("QualityDistributionAnalyzer", "Analyzes the distribution of the quality values in that it adds a Histogram of them into the result collection.")]
   [StorableClass]
-  public class QualityDistributionAnalyzer : SingleSuccessorOperator, IAnalyzer {
+  public class QualityDistributionAnalyzer : SingleSuccessorOperator, IAnalyzer, IIterationBasedOperator {
 
     #region Parameter properties
@@ -41,8 +41,27 @@
       get { return (IValueLookupParameter<ResultCollection>)Parameters["Results"]; }
     }
-    public IValueParameter<StringValue> HistogramNameParameter {
-      get { return (IValueParameter<StringValue>)Parameters["HistogramName"]; }
+    private ValueParameter<StringValue> HistogramNameParameter {
+      get { return (ValueParameter<StringValue>)Parameters["HistogramName"]; }
+    }
+    private ValueParameter<BoolValue> StoreHistoryParameter {
+      get { return (ValueParameter<BoolValue>)Parameters["StoreHistory"]; }
+    }
+    public ILookupParameter<IntValue> IterationsParameter {
+      get { return (ILookupParameter<IntValue>)Parameters["Iterations"]; }
+    }
+    public IValueLookupParameter<IntValue> MaximumIterationsParameter {
+      get { return (IValueLookupParameter<IntValue>)Parameters["MaximumIterations"]; }
     }
     #endregion
+
+    public string HistogramName {
+      get { return HistogramNameParameter.Value.Value; }
+      set { HistogramNameParameter.Value.Value = value; }
+    }
+
+    public bool StoreHistory {
+      get { return StoreHistoryParameter.Value.Value; }
+      set { StoreHistoryParameter.Value.Value = value; }
+    }
 
     [StorableConstructor]
@@ -55,5 +74,13 @@
       Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("Quality", "The value which represents the quality of a solution."));
       Parameters.Add(new ValueLookupParameter<ResultCollection>("Results", "The results collection where the analysis values should be stored."));
-      Parameters.Add(new ValueParameter<StringValue>("HistogramName", "The name of the histogram that gets injected in to the results collection.", new StringValue("QualityDistribution")));
+      Parameters.Add(new FixedValueParameter<StringValue>("HistogramName", "The name of the histogram that gets injected in to the results collection.", new StringValue("Quality Distribution")));
+      Parameters.Add(new FixedValueParameter<BoolValue>("StoreHistory", "True if the history should be stored in addition to the current distribution", new BoolValue(false)));
+      Parameters.Add(new LookupParameter<IntValue>("Iterations", "Optional: A value indicating the current iteration."));
+      Parameters.Add(new ValueLookupParameter<IntValue>("MaximumIterations", "Unused", new IntValue(-1)));
+
+      QualityParameter.Hidden = true;
+      ResultsParameter.Hidden = true;
+      IterationsParameter.Hidden = true;
+      MaximumIterationsParameter.Hidden = true;
     }
 
@@ -63,20 +90,45 @@
 
     public override IOperation Apply() {
-      HistogramHistory qualityDistribution = null;
+      DataTable qualityDistribution = null;
       ResultCollection results = ResultsParameter.ActualValue;
       string description = "Shows the quality distributions in the current population.";
-      string resultName = HistogramNameParameter.Value.Value;
-      if (results.ContainsKey(resultName)) {
-        qualityDistribution = results[resultName].Value as HistogramHistory;
+      if (results.ContainsKey(HistogramName)) {
+        qualityDistribution = results[HistogramName].Value as DataTable;
       } else {
-        qualityDistribution = new HistogramHistory();
-        results.Add(new Result(resultName, description, qualityDistribution));
+        qualityDistribution = new DataTable("Population Quality Distribution", description);
+        qualityDistribution.VisualProperties.XAxisTitle = IterationsParameter.ActualName;
+        qualityDistribution.VisualProperties.YAxisTitle = QualityParameter.ActualName;
+        results.Add(new Result(HistogramName, description, qualityDistribution));
       }
-      Histogram histogram = new Histogram("History " + qualityDistribution.Count, description);
+      DataRow row;
+      if (!qualityDistribution.Rows.TryGetValue("QualityDistribution", out row)) {
+        row = new DataRow("QualityDistribution");
+        row.VisualProperties.ChartType = DataRowVisualProperties.DataRowChartType.Histogram;
+        qualityDistribution.Rows.Add(row);
+      }
       var qualities = QualityParameter.ActualValue;
-      histogram.Values.Clear();
-      histogram.Values.AddRange(qualities.Select(x => x.Value));
-      qualityDistribution.Add(histogram);
+      row.Values.Clear();
+      row.Values.AddRange(qualities.Select(x => x.Value));
 
+      if (StoreHistory) {
+        string historyResultName = HistogramName + " History";
+        DataTableHistory qdHistory = null;
+        if (results.ContainsKey(historyResultName)) {
+          qdHistory = results[historyResultName].Value as DataTableHistory;
+        } else {
+          qdHistory = new DataTableHistory();
+          results.Add(new Result(historyResultName, qdHistory));
+        }
+        DataTable table = (DataTable)qualityDistribution.Clone();
+        IntValue iteration = IterationsParameter.ActualValue;
+        if (iteration != null) {
+          string iterationName = IterationsParameter.ActualName;
+          if (iterationName.EndsWith("s")) iterationName = iterationName.Remove(iterationName.Length - 1);
+          string appendix = " at " + iterationName + " " + iteration.Value.ToString();
+          table.Name += appendix;
+          table.Rows["QualityDistribution"].Name += appendix;
+        }
+        qdHistory.Add(table);
+      }
       return base.Apply();
     }
Index: /branches/histogram/HistogramViewTest/Form1.cs
===================================================================
--- /branches/histogram/HistogramViewTest/Form1.cs	(revision 6012)
+++ /branches/histogram/HistogramViewTest/Form1.cs	(revision 6013)
@@ -6,15 +6,19 @@
 namespace HistogramViewTest {
   public partial class Form1 : Form {
-    private HistogramView view;
+    private DataTableView view;
 
     public Form1() {
       InitializeComponent();
-      view = new HistogramView();
-      Histogram hist = new Histogram();
+      view = new DataTableView();
+      DataTable hist = new DataTable("TestTable");
+      DataRow row = new DataRow("Test");
+      row.VisualProperties.ChartType = DataRowVisualProperties.DataRowChartType.Histogram;
       Random rand = new Random();
       for (int index = 1; index < 100; index++) {
-        hist.Values.Add(rand.Next(1, 1000));
+        row.Values.Add(rand.Next(1, 1000));
       }
+      hist.Rows.Add(row);
       view.Content = hist;
+      view.Dock = DockStyle.Fill;
       Controls.Add(view);
     }
Index: /branches/histogram/HistogramViewTest/HistogramViewTest.csproj
===================================================================
--- /branches/histogram/HistogramViewTest/HistogramViewTest.csproj	(revision 6012)
+++ /branches/histogram/HistogramViewTest/HistogramViewTest.csproj	(revision 6013)
@@ -102,4 +102,8 @@
       <Name>HeuristicLab.Core-3.3</Name>
     </ProjectReference>
+    <ProjectReference Include="..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
+      <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
+      <Name>HeuristicLab.Data-3.3</Name>
+    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.MainForm.WindowsForms\3.3\HeuristicLab.MainForm.WindowsForms-3.3.csproj">
       <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>
