Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/11/11 15:03:46 (13 years ago)
Author:
gkronber
Message:

Merged changes from trunk to data analysis exploration branch and added fractional distance metric evaluator. #1142

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis/3.3/Dataset.cs

    r4341 r5275  
    3232  [StorableClass]
    3333  public sealed class Dataset : NamedItem, IStringConvertibleMatrix {
    34     // empty constructor for cloning
    35     private Dataset()
    36       : base() {
    37     }
    38 
    3934    [StorableConstructor]
    40     private Dataset(bool deserializing)
    41       : base(deserializing) {
    42     }
    43 
     35    private Dataset(bool deserializing) : base(deserializing) { }
     36    private Dataset(Dataset original, Cloner cloner)
     37      : base(original, cloner) {
     38      variableNames = original.variableNames;
     39      data = original.data;
     40    }
    4441    public Dataset(IEnumerable<string> variableNames, double[,] data)
    4542      : base() {
     
    122119    }
    123120
    124 
    125 
    126121    public string GetVariableName(int variableIndex) {
    127122      return variableNames[variableIndex];
     
    140135
    141136    public override IDeepCloneable Clone(Cloner cloner) {
    142       Dataset clone = (Dataset)base.Clone(cloner);
    143       clone.variableNames = variableNames;
    144       clone.data = data;
    145       return clone;
     137      return new Dataset(this, cloner);
    146138    }
    147139
     
    195187    }
    196188
     189    public event EventHandler ColumnsChanged;
     190    private void OnColumnsChanged() {
     191      var handler = ColumnsChanged;
     192      if (handler != null) handler(this, EventArgs.Empty);
     193    }
     194    public event EventHandler RowsChanged;
     195    private void OnRowsChanged() {
     196      var handler = RowsChanged;
     197      if (handler != null) handler(this, EventArgs.Empty);
     198    }
    197199    public event EventHandler ColumnNamesChanged;
    198200    private void OnColumnNamesChanged() {
    199       EventHandler handler = ColumnNamesChanged;
    200       if (handler != null)
    201         handler(this, EventArgs.Empty);
     201      EventHandler listeners = ColumnNamesChanged;
     202      if (listeners != null)
     203        listeners(this, EventArgs.Empty);
    202204    }
    203205    public event EventHandler RowNamesChanged;
    204206    private void OnRowNamesChanged() {
    205       EventHandler handler = RowNamesChanged;
    206       if (handler != null)
    207         handler(this, EventArgs.Empty);
     207      EventHandler listeners = RowNamesChanged;
     208      if (listeners != null)
     209        listeners(this, EventArgs.Empty);
    208210    }
    209211    public event EventHandler SortableViewChanged;
    210212    private void OnSortableViewChanged() {
    211       EventHandler handler = SortableViewChanged;
    212       if (handler != null)
    213         handler(this, EventArgs.Empty);
     213      EventHandler listeners = SortableViewChanged;
     214      if (listeners != null)
     215        listeners(this, EventArgs.Empty);
    214216    }
    215217    public event EventHandler<EventArgs<int, int>> ItemChanged;
    216218    private void OnItemChanged(int rowIndex, int columnIndex) {
    217       if (ItemChanged != null)
    218         ItemChanged(this, new EventArgs<int, int>(rowIndex, columnIndex));
     219      var listeners = ItemChanged;
     220      if (listeners != null)
     221        listeners(this, new EventArgs<int, int>(rowIndex, columnIndex));
    219222      OnToStringChanged();
    220223    }
Note: See TracChangeset for help on using the changeset viewer.