TAChart: New axis event OnGetMarkText to replace the old OnMarkToText (which does not pass the used axis in a parameter). Deprecate OnMarkToText.

git-svn-id: trunk@62116 -
This commit is contained in:
wp 2019-10-25 14:48:33 +00:00
parent a8aba970ab
commit 4f81e53b18
2 changed files with 21 additions and 1 deletions

View File

@ -109,6 +109,7 @@ type
FMargin: TChartDistance;
FMarginsForMarks: Boolean;
FMinors: TChartMinorAxisList;
FOnGetMarkText: TChartGetAxisMarkTextEvent;
FOnMarkToText: TChartAxisMarkToTextEvent;
FPosition: Double;
FPositionUnits: TChartUnits;
@ -130,6 +131,7 @@ type
procedure SetMarginsForMarks(AValue: Boolean);
procedure SetMarks(AValue: TChartAxisMarks);
procedure SetMinors(AValue: TChartMinorAxisList);
procedure SetOnGetMarkText(AValue: TChartGetAxisMarkTextEvent);
procedure SetOnMarkToText(AValue: TChartAxisMarkToTextEvent);
procedure SetPosition(AValue: Double);
procedure SetPositionUnits(AValue: TChartUnits);
@ -193,8 +195,10 @@ type
read FTransformations write SetTransformations;
property ZPosition: TChartDistance read FZPosition write SetZPosition default 0;
published
property OnGetMarkText: TChartGetAxisMarkTextEvent
read FOnGetMarkText write SetOnGetMarkText;
property OnMarkToText: TChartAxisMarkToTextEvent
read FOnMarkToText write SetOnMarkToText;
read FOnMarkToText write SetOnMarkToText; deprecated 'Use "OnGetMarkText';
end;
TChartOnSourceVisitor =
@ -433,6 +437,7 @@ begin
Self.FTransformations := Transformations;
Self.FZPosition := ZPosition;
Self.FMarginsForMarks := MarginsForMarks;
Self.FOnGetMarkText := OnGetMarkText;
Self.FOnMarkToText := OnMarkToText;
end;
inherited Assign(ASource);
@ -704,6 +709,11 @@ begin
FRotationCenter := Marks.RotationCenter;
end;
if Assigned(FOnGetMarkText) then
for i := 0 to High(FMarkValues) do
FOnGetMarkText(self, FMarkValues[i].FText, FMarkValues[i].FValue);
// the following event is deprecated and will be removed...
if Assigned(FOnMarkToText) then
for i := 0 to High(FMarkValues) do
FOnMarkToText(FMarkValues[i].FText, FMarkValues[i].FValue);
@ -1015,6 +1025,13 @@ begin
StyleChanged(Self);
end;
procedure TChartAxis.SetOnGetMarkText(AValue: TChartGetAxisMarkTextEvent);
begin
if TMethod(FOnGetMarkText) = TMethod(AValue) then exit;
FOnGetMarkText := AValue;
StyleChanged(Self);
end;
procedure TChartAxis.SetOnMarkToText(AValue: TChartAxisMarkToTextEvent);
begin
if TMethod(FOnMarkToText) = TMethod(AValue) then exit;

View File

@ -23,6 +23,7 @@ const
type
TChartAxisBrush = TClearBrush;
TChartBasicAxis = class;
TChartAxisFramePen = class(TChartPen)
published
@ -71,6 +72,8 @@ type
TChartAxisMargins = array [TChartAxisAlignment] of Integer;
TChartAxisMarkToTextEvent =
procedure (var AText: String; AMark: Double) of object;
TChartGetAxisMarkTextEvent =
procedure (Sender: TObject; var AText: String; AMark: Double) of object;
{$IFNDEF fpdoc} // Workaround for issue #18549.
TBasicChartAxisMarks =