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; out AResults: TNearestPointResults): Boolean;
end; 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; function DoublePointRotated(AX, AY: Double): TDoublePoint;
begin begin
Result.X := AY; Result.X := AY;
@ -385,6 +394,20 @@ begin
end; end;
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 } { TDrawFuncHelper }
procedure TDrawFuncHelper.CalcAt( procedure TDrawFuncHelper.CalcAt(
@ -1100,7 +1123,7 @@ constructor TFitSeries.Create(AOwner: TComponent);
begin begin
inherited Create(AOwner); inherited Create(AOwner);
FFitEquation := fePolynomial; FFitEquation := fePolynomial;
FFitRange := TChartRange.Create(ParentChart); FFitRange := TFitSeriesRange.Create(Self);
FDrawFitRangeOnly := true; FDrawFitRangeOnly := true;
FPen := TChartPen.Create; FPen := TChartPen.Create;
FPen.OnChange := @StyleChanged; FPen.OnChange := @StyleChanged;

View File

@ -68,13 +68,13 @@ type
TChartElement = class(TPersistent) TChartElement = class(TPersistent)
strict protected strict protected
FVisible: Boolean;
procedure SetVisible(AValue: Boolean);
protected
FOwner: TCustomChart; FOwner: TCustomChart;
function GetOwner: TPersistent; override; FVisible: Boolean;
procedure InitHelper(var AResult; AClass: TFPCanvasHelperClass); 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 public
constructor Create(AOwner: TCustomChart); constructor Create(AOwner: TCustomChart);
public public