From c7a345958f18af8c86af5da957c4d54510d4ede1 Mon Sep 17 00:00:00 2001 From: ask Date: Tue, 28 Jun 2011 16:34:58 +0000 Subject: [PATCH] TAChart: Add Pointer property to spline series git-svn-id: trunk@31433 - --- components/tachart/tacustomseries.pas | 8 ++++++++ components/tachart/tafuncseries.pas | 8 ++++++++ components/tachart/taseries.pas | 7 ------- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/components/tachart/tacustomseries.pas b/components/tachart/tacustomseries.pas index 18c7b3c917..75cead5c81 100644 --- a/components/tachart/tacustomseries.pas +++ b/components/tachart/tacustomseries.pas @@ -200,6 +200,7 @@ type FUpBound: Integer; FUseReticule: Boolean; + procedure AfterAdd; override; procedure AfterDrawPointer( ADrawer: IChartDrawer; AIndex: Integer; const APos: TPoint); virtual; procedure DrawLabels(ADrawer: IChartDrawer); @@ -750,6 +751,13 @@ end; { TBasicPointSeries } +procedure TBasicPointSeries.AfterAdd; +begin + inherited AfterAdd; + if Pointer <> nil then + Pointer.SetOwner(ParentChart); +end; + procedure TBasicPointSeries.AfterDrawPointer( ADrawer: IChartDrawer; AIndex: Integer; const APos: TPoint); begin diff --git a/components/tachart/tafuncseries.pas b/components/tachart/tafuncseries.pas index 94483056dc..f584f85824 100644 --- a/components/tachart/tafuncseries.pas +++ b/components/tachart/tafuncseries.pas @@ -128,6 +128,7 @@ type property Degree: TSplineDegree read FDegree write SetDegree default DEF_SPLINE_DEGREE; property Pen: TChartPen read FPen write SetPen; + property Pointer; property Step: TFuncSeriesStep read FStep write SetStep default DEF_SPLINE_STEP; end; @@ -166,6 +167,7 @@ type property ZPosition; published property Pen: TChartPen read FPen write SetPen; + property Pointer; property Step: TFuncSeriesStep read FStep write SetStep default DEF_SPLINE_STEP; end; @@ -477,6 +479,7 @@ begin FDegree := DEF_SPLINE_DEGREE; FPen := TChartPen.Create; FPen.OnChange := @StyleChanged; + FPointer := TSeriesPointer.Create(ParentChart); FStep := DEF_SPLINE_STEP; end; @@ -558,6 +561,7 @@ begin for startIndex := 0 to High(FGraphPoints) + Degree - 1 do SplineSegment(0.0, 1.0, SplinePoint(0.0), SplinePoint(1.0)); DrawLabels(ADrawer); + DrawPointers(ADrawer); end; procedure TBSplineSeries.GetLegendItems(AItems: TChartLegendItems); @@ -610,6 +614,7 @@ begin inherited Create(AOwner); FPen := TChartPen.Create; FPen.OnChange := @StyleChanged; + FPointer := TSeriesPointer.Create(ParentChart); FStep := DEF_SPLINE_STEP; end; @@ -633,6 +638,9 @@ begin finally de.Free; end; + PrepareGraphPoints(FChart.CurrentExtent, true); + DrawLabels(ADrawer); + DrawPointers(ADrawer); end; procedure TCubicSplineSeries.GetLegendItems(AItems: TChartLegendItems); diff --git a/components/tachart/taseries.pas b/components/tachart/taseries.pas index 1fbef0cfa1..df3a2f63ea 100644 --- a/components/tachart/taseries.pas +++ b/components/tachart/taseries.pas @@ -195,7 +195,6 @@ type procedure SetShowLines(Value: Boolean); procedure SetShowPoints(Value: Boolean); protected - procedure AfterAdd; override; procedure AfterDrawPointer( ADrawer: IChartDrawer; AIndex: Integer; const APos: TPoint); override; procedure GetLegendItems(AItems: TChartLegendItems); override; @@ -321,12 +320,6 @@ uses { TLineSeries } -procedure TLineSeries.AfterAdd; -begin - inherited AfterAdd; - Pointer.SetOwner(FChart); -end; - procedure TLineSeries.AfterDrawPointer( ADrawer: IChartDrawer; AIndex: Integer; const APos: TPoint); var