diff --git a/components/tachart/tafuncseries.pas b/components/tachart/tafuncseries.pas index d417179ad4..8a9556be32 100644 --- a/components/tachart/tafuncseries.pas +++ b/components/tachart/tafuncseries.pas @@ -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; diff --git a/components/tachart/tatypes.pas b/components/tachart/tatypes.pas index ca83033cda..dde16f5d09 100644 --- a/components/tachart/tatypes.pas +++ b/components/tachart/tatypes.pas @@ -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