37 lines
1017 B
C#
37 lines
1017 B
C#
using System;
|
|
|
|
namespace CPF.ReoGrid
|
|
{
|
|
public class NumericalAutoFillSectionEntry : IAutoFillSectionEntry
|
|
{
|
|
public object Value { get; }
|
|
|
|
public NumericalAutoFillSectionEntry(double value)
|
|
{
|
|
this.Value = value;
|
|
}
|
|
|
|
public bool IsSequenceOf(IAutoFillSectionEntry otherEntry)
|
|
{
|
|
return otherEntry is NumericalAutoFillSectionEntry;
|
|
}
|
|
|
|
public object GetIterationValue(object baseValue, object incrementPerIteration, int iteration)
|
|
{
|
|
double differenceToBaseValue = this.GetDifferenceToBaseValue(baseValue);
|
|
double num = (double)incrementPerIteration;
|
|
return (double)baseValue + differenceToBaseValue + num * (double)iteration;
|
|
}
|
|
|
|
public object GetIncrementPerIteration(object baseValue, int numberOfEntries)
|
|
{
|
|
return (numberOfEntries > 1) ? (this.GetDifferenceToBaseValue(baseValue) / (double)(numberOfEntries - 1) * (double)numberOfEntries) : 0.0;
|
|
}
|
|
|
|
private double GetDifferenceToBaseValue(object baseValue)
|
|
{
|
|
return (double)this.Value - (double)baseValue;
|
|
}
|
|
}
|
|
}
|