public RulerColumnCollection( IColumnConfiguration columnConfiguration, IStaticRulerManager staticRulerManager, ITable table, int rulerIndex) { _columnConfiguration = columnConfiguration; _table = table; _rulerColumns = new List<RulerColumnInfo>(); // Value _valueColumn = new RulerColumnInfo( (curve, ruler) => curve.GetFormattedValue( curve.DataSeries.GetValueAtTime(ruler.Position, GetValueMode.MiddleValue)), //FormatDefinitions.FloatingComma), staticRulerManager, _table, _table.CreateColumn(), rulerIndex, MlResources.RulerShortText, false); AddColumn(_valueColumn); // Y-Delta _yDeltaColumn = new RulerColumnInfo( (curve, ruler) => curve.GetFormattedValue( ruler.GetDiff(curve.DataSeries).CompareValue), //FormatDefinitions.FloatingComma), staticRulerManager, _table, _table.CreateColumn(), rulerIndex, MlResources.DeltaY, true); AddColumn(_yDeltaColumn); // T-Delta _tDeltaColumn = new RulerColumnInfo( (curve, ruler) => ruler .GetDiff(curve.DataSeries) .TimeDiff.Abs().GetFormattedValue(), staticRulerManager, _table, _table.CreateColumn(), rulerIndex, MlResources.DeltaT, true); AddColumn(_tDeltaColumn); // Min _minColumn = new RulerColumnInfo( (curve, ruler) => curve.GetFormattedValue( ruler .GetAggregate(curve.DataSeries, list => list.Select(it => it.Y).MinOrFallback(double.NaN)) .CompareValue), //FormatDefinitions.FloatingComma), staticRulerManager, _table, _table.CreateColumn(), rulerIndex, MlResources.Min, true); AddColumn(_minColumn); // Max _maxColumn = new RulerColumnInfo( (curve, ruler) => curve.GetFormattedValue( ruler .GetAggregate(curve.DataSeries, list => list.Select(it => it.Y).MaxOrFallback(double.NaN)) .CompareValue), //FormatDefinitions.FloatingComma), staticRulerManager, _table, _table.CreateColumn(), rulerIndex, MlResources.Max, true); AddColumn(_maxColumn); // Avg _avgColumn = new RulerColumnInfo( (curve, ruler) => curve.GetFormattedValue( ruler .GetAggregate(curve.DataSeries, list => list.Select(it => it.Y).AverageOrFallback(double.NaN)) .CompareValue), //FormatDefinitions.FloatingComma), staticRulerManager, _table, _table.CreateColumn(), rulerIndex, MlResources.Avg, true); AddColumn(_avgColumn); //// Sum //_rulerColumns.Add( // new RulerColumnInfo( // (curve, ruler) => ruler // .GetAggregate(curve, Sum) // .CompareValue.GetFormattedValue(FormatDefinitions.FloatingComma), // _staticRulerManager, // i, // dataGrid, // "Σ (minute) " + (i + 1) + "-" + nextRulerLabel)); }
private void AddColumn(RulerColumnInfo rulerColumn) { _rulerColumns.Add(rulerColumn); }