Index: branches/ALPS/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj
===================================================================
--- branches/ALPS/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj	(revision 11507)
+++ branches/ALPS/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj	(revision 11677)
@@ -11,5 +11,5 @@
     <RootNamespace>HeuristicLab.Visualization.ChartControlsExtensions</RootNamespace>
     <AssemblyName>HeuristicLab.Visualization.ChartControlsExtensions-3.3</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
     <TargetFrameworkProfile>
     </TargetFrameworkProfile>
@@ -24,4 +24,5 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -32,4 +33,5 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <PropertyGroup>
@@ -54,4 +56,5 @@
     <CodeAnalysisRuleDirectories>;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
     <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
@@ -70,4 +73,5 @@
     <CodeAnalysisRuleDirectories>;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
     <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
@@ -86,4 +90,5 @@
     <CodeAnalysisRuleDirectories>;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
     <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
@@ -102,4 +107,5 @@
     <CodeAnalysisRuleDirectories>;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
     <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <ItemGroup>
@@ -126,10 +132,4 @@
     <Compile Include="GanttChart.Designer.cs">
       <DependentUpon>GanttChart.cs</DependentUpon>
-    </Compile>
-    <Compile Include="HistogramControl.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="HistogramControl.Designer.cs">
-      <DependentUpon>HistogramControl.cs</DependentUpon>
     </Compile>
     <Compile Include="ImageExportDialog.cs">
Index: branches/ALPS/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HistogramControl.Designer.cs
===================================================================
--- branches/ALPS/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HistogramControl.Designer.cs	(revision 11507)
+++ 	(revision )
@@ -1,140 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2014 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.Visualization.ChartControlsExtensions {
-  partial class HistogramControl {
-    /// <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() {
-      System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
-      System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
-      this.chart = new HeuristicLab.Visualization.ChartControlsExtensions.EnhancedChart();
-      this.binsNumericUpDown = new System.Windows.Forms.NumericUpDown();
-      this.label1 = new System.Windows.Forms.Label();
-      this.exactCheckBox = new System.Windows.Forms.CheckBox();
-      ((System.ComponentModel.ISupportInitialize)(this.chart)).BeginInit();
-      ((System.ComponentModel.ISupportInitialize)(this.binsNumericUpDown)).BeginInit();
-      this.SuspendLayout();
-      // 
-      // chart
-      // 
-      this.chart.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)));
-      chartArea1.Name = "ChartArea1";
-      this.chart.ChartAreas.Add(chartArea1);
-      this.chart.Location = new System.Drawing.Point(0, 27);
-      this.chart.Name = "chart";
-      series1.ChartArea = "ChartArea1";
-      series1.Name = "Series1";
-      this.chart.Series.Add(series1);
-      this.chart.Size = new System.Drawing.Size(465, 336);
-      this.chart.TabIndex = 0;
-      // 
-      // binsNumericUpDown
-      // 
-      this.binsNumericUpDown.Location = new System.Drawing.Point(91, 3);
-      this.binsNumericUpDown.Maximum = new decimal(new int[] {
-            100000,
-            0,
-            0,
-            0});
-      this.binsNumericUpDown.Minimum = new decimal(new int[] {
-            1,
-            0,
-            0,
-            0});
-      this.binsNumericUpDown.Name = "binsNumericUpDown";
-      this.binsNumericUpDown.Size = new System.Drawing.Size(61, 20);
-      this.binsNumericUpDown.TabIndex = 1;
-      this.binsNumericUpDown.Value = new decimal(new int[] {
-            10,
-            0,
-            0,
-            0});
-      this.binsNumericUpDown.ValueChanged += new System.EventHandler(this.binsNumericUpDown_ValueChanged);
-      // 
-      // label1
-      // 
-      this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(3, 5);
-      this.label1.Name = "label1";
-      this.label1.Size = new System.Drawing.Size(82, 13);
-      this.label1.TabIndex = 2;
-      this.label1.Text = "Number of Bins:";
-      // 
-      // exactCheckBox
-      // 
-      this.exactCheckBox.AutoSize = true;
-      this.exactCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
-      this.exactCheckBox.Location = new System.Drawing.Point(158, 4);
-      this.exactCheckBox.Name = "exactCheckBox";
-      this.exactCheckBox.Size = new System.Drawing.Size(56, 17);
-      this.exactCheckBox.TabIndex = 3;
-      this.exactCheckBox.Text = "Exact:";
-      this.exactCheckBox.UseVisualStyleBackColor = true;
-      this.exactCheckBox.CheckedChanged += new System.EventHandler(this.exactCheckBox_CheckedChanged);
-      // 
-      // HistogramControl
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
-      this.Controls.Add(this.exactCheckBox);
-      this.Controls.Add(this.label1);
-      this.Controls.Add(this.binsNumericUpDown);
-      this.Controls.Add(this.chart);
-      this.Name = "HistogramControl";
-      this.Size = new System.Drawing.Size(465, 363);
-      ((System.ComponentModel.ISupportInitialize)(this.chart)).EndInit();
-      ((System.ComponentModel.ISupportInitialize)(this.binsNumericUpDown)).EndInit();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    private EnhancedChart chart;
-    private System.Windows.Forms.NumericUpDown binsNumericUpDown;
-    private System.Windows.Forms.Label label1;
-    private System.Windows.Forms.CheckBox exactCheckBox;
-  }
-}
Index: branches/ALPS/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HistogramControl.cs
===================================================================
--- branches/ALPS/HeuristicLab.Visualization.ChartControlsExtensions/3.3/HistogramControl.cs	(revision 11507)
+++ 	(revision )
@@ -1,161 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2014 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;
-using System.Collections.Generic;
-using System.Drawing;
-using System.Linq;
-using System.Windows.Forms;
-using System.Windows.Forms.DataVisualization.Charting;
-
-namespace HeuristicLab.Visualization.ChartControlsExtensions {
-  public partial class HistogramControl : UserControl {
-    private static readonly string SeriesName = "Histogram";
-
-    private List<double> points;
-    public int NumberOfBins {
-      get { return (int)binsNumericUpDown.Value; }
-      set { binsNumericUpDown.Value = value; }
-    }
-
-    public int MinimumNumberOfBins {
-      get { return (int)binsNumericUpDown.Minimum; }
-      set { binsNumericUpDown.Minimum = value; }
-    }
-
-    public int MaximumNumberOfBins {
-      get { return (int)binsNumericUpDown.Maximum; }
-      set { binsNumericUpDown.Maximum = value; }
-    }
-
-    public int IncrementNumberOfBins {
-      get { return (int)binsNumericUpDown.Increment; }
-      set { binsNumericUpDown.Increment = value; }
-    }
-
-    public bool CalculateExactBins {
-      get { return exactCheckBox.Checked; }
-      set { exactCheckBox.Checked = value; }
-    }
-
-    public bool ShowExactCheckbox {
-      get { return exactCheckBox.Visible; }
-      set { exactCheckBox.Visible = value; }
-    }
-
-    public HistogramControl() {
-      InitializeComponent();
-      points = new List<double>();
-      InitializeChart();
-    }
-
-    public void AddPoint(double point) {
-      points.Add(point);
-      UpdateHistogram();
-    }
-
-    public void AddPoints(IEnumerable<double> points) {
-      this.points.AddRange(points);
-      UpdateHistogram();
-    }
-
-    public void ClearPoints() {
-      points.Clear();
-      UpdateHistogram();
-    }
-
-    private void InitializeChart() {
-      chart.Series.Clear();
-      Series s = chart.Series.Add(SeriesName);
-      s.ChartType = SeriesChartType.Column;
-      s.BorderColor = Color.Black;
-      s.BorderWidth = 1;
-      s.BorderDashStyle = ChartDashStyle.Solid;
-    }
-
-    private void UpdateHistogram() {
-      if (InvokeRequired) {
-        Invoke((Action)UpdateHistogram, null);
-        return;
-      }
-      Series histogramSeries = chart.Series[SeriesName];
-      histogramSeries.Points.Clear();
-
-      if (!points.Any()) return;
-      int bins = (int)binsNumericUpDown.Value;
-
-      double minValue = points.Min();
-      double maxValue = points.Max();
-      double intervalWidth = (maxValue - minValue) / bins;
-      if (intervalWidth <= 0) return;
-
-      if (!exactCheckBox.Checked) {
-        intervalWidth = HumanRoundRange(intervalWidth);
-        minValue = Math.Floor(minValue / intervalWidth) * intervalWidth;
-        maxValue = Math.Ceiling(maxValue / intervalWidth) * intervalWidth;
-      }
-
-      double current = minValue, intervalCenter = intervalWidth / 2.0;
-      int count = 0;
-      foreach (double v in points.OrderBy(x => x)) {
-        while (v > current + intervalWidth) {
-          histogramSeries.Points.AddXY(current + intervalCenter, count);
-          current += intervalWidth;
-          count = 0;
-        }
-        count++;
-      }
-      histogramSeries.Points.AddXY(current + intervalCenter, count);
-
-      histogramSeries["PointWidth"] = "1";
-
-      ChartArea chartArea = chart.ChartAreas[histogramSeries.ChartArea];
-      chartArea.AxisY.Title = "Frequency";
-      chartArea.AxisX.Minimum = minValue;
-      chartArea.AxisX.Maximum = maxValue;
-
-      double axisInterval = intervalWidth;
-      while ((maxValue - minValue) / axisInterval > 10.0) {
-        axisInterval *= 2.0;
-      }
-      chartArea.AxisX.Interval = axisInterval;
-    }
-
-    private double HumanRoundRange(double range) {
-      double base10 = Math.Pow(10.0, Math.Floor(Math.Log10(range)));
-      double rounding = range / base10;
-      if (rounding <= 1.5) rounding = 1;
-      else if (rounding <= 2.25) rounding = 2;
-      else if (rounding <= 3.75) rounding = 2.5;
-      else if (rounding <= 7.5) rounding = 5;
-      else rounding = 10;
-      return rounding * base10;
-    }
-
-    private void binsNumericUpDown_ValueChanged(object sender, EventArgs e) {
-      UpdateHistogram();
-    }
-
-    private void exactCheckBox_CheckedChanged(object sender, EventArgs e) {
-      UpdateHistogram();
-    }
-  }
-}
