Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/14/10 11:30:55 (13 years ago)
Author:
epitzer
Message:

DataTable, DataRow and DataTableView have been unsealed. (#1338)

A possible persistence problem has also been fixed by directly persisting the visualProperties property otherwise an ArgumentException might break backwards compatibility.

File:
1 edited

Legend:

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

    r4870 r5097  
    3636  [View("DataTable View")]
    3737  [Content(typeof(DataTable), true)]
    38   public sealed partial class DataTableView : NamedItemView {
    39     private List<Series> invisibleSeries;
    40     private Dictionary<IObservableList<double>, DataRow> valuesRowsTable;
     38  public partial class DataTableView : NamedItemView {
     39    protected List<Series> invisibleSeries;
     40    protected Dictionary<IObservableList<double>, DataRow> valuesRowsTable;
    4141    /// <summary>
    4242    /// Gets or sets the variable to represent visually.
     
    113113    }
    114114
    115     private void AddDataRow(DataRow row) {
     115
     116    /// <summary>
     117    /// Add the DataRow as a series to the chart.
     118    /// </summary>
     119    /// <param name="row">DataRow to add as series to the chart.</param>
     120    protected virtual void AddDataRow(DataRow row) {
    116121      Series series = new Series(row.Name);
    117122      switch (row.VisualProperties.ChartType) {
     
    141146    }
    142147
    143     private void UpdateYCursorInterval() {
     148
     149    /// <summary>
     150    /// Set the Y Cursor interval to visible points of enabled series.
     151    /// </summary>
     152    protected virtual void UpdateYCursorInterval() {
    144153      double interestingValuesRange = (from series in chart.Series
    145154                                       where series.Enabled
     
    159168    }
    160169
    161     private void RemoveDataRow(DataRow row) {
     170
     171    /// <summary>
     172    /// Remove the corresponding series for a certain DataRow.
     173    /// </summary>
     174    /// <param name="row">DataRow which series should be removed.</param>
     175    protected virtual void RemoveDataRow(DataRow row) {
    162176      Series series = chart.Series[row.Name];
    163177      chart.Series.Remove(series);
     
    168182
    169183    #region Content Events
    170     private void RegisterDataRowEvents(DataRow row) {
     184    /// <summary>
     185    /// Automatically called for every existing data row and whenever a data row is added
     186    /// to the data table. Do not call this method directly.
     187    /// </summary>
     188    /// <param name="row">The DataRow that was added.</param>
     189    protected virtual void RegisterDataRowEvents(DataRow row) {
    171190      row.NameChanged += new EventHandler(Row_NameChanged);
    172191      row.VisualPropertiesChanged += new EventHandler(Row_VisualPropertiesChanged);
     
    178197      row.Values.CollectionReset += new CollectionItemsChangedEventHandler<IndexedItem<double>>(Values_CollectionReset);
    179198    }
    180     private void DeregisterDataRowEvents(DataRow row) {
     199
     200    /// <summary>
     201    /// Automatically called for every data row that is removed from the DataTable. Do
     202    /// not directly call this method.
     203    /// </summary>
     204    /// <param name="row">The DataRow that was removed.</param>
     205    protected virtual void DeregisterDataRowEvents(DataRow row) {
    181206      row.Values.ItemsAdded -= new CollectionItemsChangedEventHandler<IndexedItem<double>>(Values_ItemsAdded);
    182207      row.Values.ItemsRemoved -= new CollectionItemsChangedEventHandler<IndexedItem<double>>(Values_ItemsRemoved);
     
    436461    #endregion
    437462
    438     private bool IsInvalidValue(double x) {
     463
     464    /// <summary>
     465    /// Determines whether a double value can be displayed (converted to Decimal and not an NaN).
     466    /// </summary>
     467    /// <param name="x">The number to check.</param>
     468    /// <returns><code>true</code> if the value can be safely shwon in the chart,
     469    /// <code>false</code> otherwise.</returns>
     470    protected static bool IsInvalidValue(double x) {
    439471      return double.IsNaN(x) || x < (double)decimal.MinValue || x > (double)decimal.MaxValue;
    440472    }
Note: See TracChangeset for help on using the changeset viewer.