Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/20/10 02:44:45 (14 years ago)
Author:
swagner
Message:

Added axis labels for data tables (#925)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Analysis/3.3/DataTable.cs

    r4774 r4870  
    2222using System;
    2323using System.Collections.Generic;
     24using System.ComponentModel;
    2425using System.Drawing;
    2526using System.Linq;
     
    4142    }
    4243
    43     [Storable]
     44    private DataTableVisualProperties visualProperties;
     45    public DataTableVisualProperties VisualProperties {
     46      get { return visualProperties; }
     47      set {
     48        if (visualProperties != value) {
     49          if (value == null) throw new ArgumentNullException("VisualProperties");
     50          if (visualProperties != null) visualProperties.PropertyChanged -= new PropertyChangedEventHandler(VisualProperties_PropertyChanged);
     51          visualProperties = value;
     52          visualProperties.PropertyChanged += new PropertyChangedEventHandler(VisualProperties_PropertyChanged);
     53          OnVisualPropertiesChanged();
     54        }
     55      }
     56    }
     57
    4458    private NamedItemCollection<DataRow> rows;
    4559    public NamedItemCollection<DataRow> Rows {
     
    4761    }
    4862
    49     #region Storing & Cloning
     63    #region Persistence Properties
     64    [Storable(Name = "VisualProperties")]
     65    private DataTableVisualProperties StorableVisualProperties {
     66      get { return VisualProperties; }
     67      set { VisualProperties = value; }
     68    }
     69    [Storable(Name = "rows")]
     70    private IEnumerable<DataRow> StorableRows {
     71      get { return rows; }
     72      set { rows = new NamedItemCollection<DataRow>(value); }
     73    }
     74    #endregion
     75
    5076    [StorableConstructor]
    5177    private DataTable(bool deserializing) : base(deserializing) { }
    5278    private DataTable(DataTable original, Cloner cloner)
    5379      : base(original, cloner) {
     80      this.VisualProperties = (DataTableVisualProperties)cloner.Clone(original.visualProperties);
    5481      this.rows = cloner.Clone(original.rows);
    5582      this.RegisterRowsEvents();
    5683    }
     84    public DataTable()
     85      : base() {
     86      VisualProperties = new DataTableVisualProperties();
     87      rows = new NamedItemCollection<DataRow>();
     88      this.RegisterRowsEvents();
     89    }
     90    public DataTable(string name)
     91      : base(name) {
     92      VisualProperties = new DataTableVisualProperties();
     93      rows = new NamedItemCollection<DataRow>();
     94      this.RegisterRowsEvents();
     95    }
     96    public DataTable(string name, string description)
     97      : base(name, description) {
     98      VisualProperties = new DataTableVisualProperties();
     99      rows = new NamedItemCollection<DataRow>();
     100      this.RegisterRowsEvents();
     101    }
     102
     103    // BackwardsCompatibility3.3
     104    #region Backwards compatible code, remove with 3.4
     105    [StorableHook(HookType.AfterDeserialization)]
     106    private void AfterDeserialization() {
     107      if (VisualProperties == null) VisualProperties = new DataTableVisualProperties();
     108    }
     109    #endregion
     110
    57111    public override IDeepCloneable Clone(Cloner cloner) {
    58112      return new DataTable(this, cloner);
    59113    }
    60     #endregion
    61     public DataTable()
    62       : base() {
    63       rows = new NamedItemCollection<DataRow>();
    64       this.RegisterRowsEvents();
    65     }
    66     public DataTable(string name)
    67       : base(name) {
    68       rows = new NamedItemCollection<DataRow>();
    69       this.RegisterRowsEvents();
    70     }
    71     public DataTable(string name, string description)
    72       : base(name, description) {
    73       rows = new NamedItemCollection<DataRow>();
    74       this.RegisterRowsEvents();
     114
     115    public event EventHandler VisualPropertiesChanged;
     116    private void OnVisualPropertiesChanged() {
     117      EventHandler handler = VisualPropertiesChanged;
     118      if (handler != null) handler(this, EventArgs.Empty);
     119    }
     120
     121    private void VisualProperties_PropertyChanged(object sender, PropertyChangedEventArgs e) {
     122      OnVisualPropertiesChanged();
    75123    }
    76124
Note: See TracChangeset for help on using the changeset viewer.