mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 06:39:13 +02:00
TAChart: New event OnAddStyleToLegend for TChartStyles to control showing levels of stacked series in legend. https://forum.lazarus.freepascal.org/index.php/topic,62596.msg473977.html#msg473977
This commit is contained in:
parent
79fadc1fa5
commit
afa64b7e9a
@ -1706,6 +1706,7 @@ var
|
||||
i: Integer;
|
||||
li: TLegendItemBrushPenRect;
|
||||
s: TChartStyle;
|
||||
addToLegend: Boolean;
|
||||
begin
|
||||
case Legend.Multiplicity of
|
||||
lmSingle:
|
||||
@ -1724,11 +1725,17 @@ begin
|
||||
lmStyle:
|
||||
if Styles <> nil then
|
||||
for s in Styles.Styles do
|
||||
AItems.Add(TLegendItemBrushPenRect.Create(
|
||||
IfThen(s.UseBrush, s.Brush, ABrush) as TBrush,
|
||||
IfThen(s.UsePen, s.Pen, APen) as TPen,
|
||||
LegendTextStyle(s)
|
||||
));
|
||||
begin
|
||||
addToLegend := true;
|
||||
if Assigned(Styles.OnAddStyleToLegend) then
|
||||
Styles.OnAddStyleToLegend(s, self, addToLegend);
|
||||
if addToLegend then
|
||||
AItems.Add(TLegendItemBrushPenRect.Create(
|
||||
IfThen(s.UseBrush, s.Brush, ABrush) as TBrush,
|
||||
IfThen(s.UsePen, s.Pen, APen) as TPen,
|
||||
LegendTextStyle(s)
|
||||
));
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -84,10 +84,14 @@ type
|
||||
|
||||
{ TChartStyles }
|
||||
|
||||
TAddStyleToLegendEvent = procedure (AStyle: TChartStyle; ASeries: TObject;
|
||||
var AddToLegend: Boolean) of object;
|
||||
|
||||
TChartStyles = class(TComponent)
|
||||
private
|
||||
FBroadcaster: TBroadcaster;
|
||||
FStyles: TChartStyleList;
|
||||
FOnAddStyleToLegend: TAddStyleToLegendEvent;
|
||||
procedure SetStyles(AValue: TChartStyleList);
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
@ -100,6 +104,8 @@ type
|
||||
property Broadcaster: TBroadcaster read FBroadcaster;
|
||||
published
|
||||
property Styles: TChartStyleList read FStyles write SetStyles;
|
||||
property OnAddStyleToLegend: TAddStyleToLegendEvent
|
||||
read FOnAddStyleToLegend write FOnAddStyleToLegend;
|
||||
end;
|
||||
|
||||
procedure Register;
|
||||
|
Loading…
Reference in New Issue
Block a user