TAChart: Recalculate fit series after range change

git-svn-id: trunk@32803 -
This commit is contained in:
ask 2011-10-10 15:15:08 +00:00
parent 6deeddae09
commit 0a38dacf8b
2 changed files with 29 additions and 6 deletions

View File

@ -350,6 +350,15 @@ type
out AResults: TNearestPointResults): Boolean;
end;
TFitSeriesRange = class(TChartRange)
strict private
FSeries: TFitSeries;
strict protected
procedure StyleChanged(ASender: TObject); override;
public
constructor Create(ASeries: TFitSeries);
end;
function DoublePointRotated(AX, AY: Double): TDoublePoint;
begin
Result.X := AY;
@ -385,6 +394,20 @@ begin
end;
end;
{ TFitSeriesRange }
constructor TFitSeriesRange.Create(ASeries: TFitSeries);
begin
inherited Create(ASeries.ParentChart);
FSeries := ASeries;
end;
procedure TFitSeriesRange.StyleChanged(ASender: TObject);
begin
FSeries.ExecFit;
inherited;
end;
{ TDrawFuncHelper }
procedure TDrawFuncHelper.CalcAt(
@ -1100,7 +1123,7 @@ constructor TFitSeries.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FFitEquation := fePolynomial;
FFitRange := TChartRange.Create(ParentChart);
FFitRange := TFitSeriesRange.Create(Self);
FDrawFitRangeOnly := true;
FPen := TChartPen.Create;
FPen.OnChange := @StyleChanged;

View File

@ -68,13 +68,13 @@ type
TChartElement = class(TPersistent)
strict protected
FVisible: Boolean;
procedure SetVisible(AValue: Boolean);
protected
FOwner: TCustomChart;
function GetOwner: TPersistent; override;
FVisible: Boolean;
procedure InitHelper(var AResult; AClass: TFPCanvasHelperClass);
procedure StyleChanged(Sender: TObject);
procedure SetVisible(AValue: Boolean);
procedure StyleChanged(Sender: TObject); virtual;
protected
function GetOwner: TPersistent; override;
public
constructor Create(AOwner: TCustomChart);
public