TAChart: Add Pointer property to spline series

git-svn-id: trunk@31433 -
This commit is contained in:
ask 2011-06-28 16:34:58 +00:00
parent 1a44819dcf
commit c7a345958f
3 changed files with 16 additions and 7 deletions

View File

@ -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

View File

@ -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);

View File

@ -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