mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-27 06:29:41 +02:00
TAChart: Add generic mousewheel support for chart tools
git-svn-id: trunk@32641 -
This commit is contained in:
parent
63b271d0c0
commit
cca154e0aa
@ -104,7 +104,8 @@ type
|
||||
end;
|
||||
|
||||
TChartToolEventId = (
|
||||
evidKeyDown, evidKeyUp, evidMouseDown, evidMouseMove, evidMouseUp);
|
||||
evidKeyDown, evidKeyUp, evidMouseDown, evidMouseMove, evidMouseUp,
|
||||
evidMouseWheelDown, evidMouseWheelUp);
|
||||
|
||||
{ TBasicChartToolset }
|
||||
|
||||
@ -248,16 +249,20 @@ type
|
||||
procedure VisitSources(
|
||||
AVisitor: TChartOnSourceVisitor; AAxis: TChartAxis; var AData);
|
||||
protected
|
||||
procedure Clear(ADrawer: IChartDrawer; const ARect: TRect);
|
||||
procedure DisplaySeries(ADrawer: IChartDrawer);
|
||||
procedure DrawBackWall(ADrawer: IChartDrawer);
|
||||
procedure KeyDownAfterInterface(var AKey: Word; AShift: TShiftState); override;
|
||||
procedure KeyUpAfterInterface(var AKey: Word; AShift: TShiftState); override;
|
||||
function DoMouseWheel(
|
||||
AShift: TShiftState; AWheelDelta: Integer;
|
||||
AMousePos: TPoint): Boolean; override;
|
||||
procedure MouseDown(
|
||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure MouseUp(
|
||||
AButton: TMouseButton; AShift: TShiftState; AX, AY: Integer); override;
|
||||
protected
|
||||
procedure Clear(ADrawer: IChartDrawer; const ARect: TRect);
|
||||
procedure DisplaySeries(ADrawer: IChartDrawer);
|
||||
procedure DrawBackWall(ADrawer: IChartDrawer);
|
||||
procedure KeyDownAfterInterface(var AKey: Word; AShift: TShiftState); override;
|
||||
procedure KeyUpAfterInterface(var AKey: Word; AShift: TShiftState); override;
|
||||
{$IFDEF LCLGtk2}
|
||||
procedure DoOnResize; override;
|
||||
{$ENDIF}
|
||||
@ -696,6 +701,17 @@ begin
|
||||
AxisList.Draw(MaxInt, axisIndex);
|
||||
end;
|
||||
|
||||
function TChart.DoMouseWheel(
|
||||
AShift: TShiftState; AWheelDelta: Integer; AMousePos: TPoint): Boolean;
|
||||
const
|
||||
EV: array [Boolean] of TChartToolEventId = (
|
||||
evidMouseWheelDown, evidMouseWheelUp);
|
||||
begin
|
||||
Result :=
|
||||
GetToolset.Dispatch(Self, EV[AWheelDelta > 0], AShift, AMousePos) or
|
||||
inherited DoMouseWheel(AShift, AWheelDelta, AMousePos);
|
||||
end;
|
||||
|
||||
{$IFDEF LCLGtk2}
|
||||
procedure TChart.DoOnResize;
|
||||
begin
|
||||
|
@ -103,6 +103,10 @@ type
|
||||
index 3 read GetAfterEvent write SetAfterEvent;
|
||||
property OnAfterMouseUp: TChartToolEvent
|
||||
index 4 read GetAfterEvent write SetAfterEvent;
|
||||
property OnAfterMouseWheelDown: TChartToolEvent
|
||||
index 5 read GetAfterEvent write SetAfterEvent;
|
||||
property OnAfterMouseWheelUp: TChartToolEvent
|
||||
index 6 read GetAfterEvent write SetAfterEvent;
|
||||
|
||||
property OnBeforeKeyDown: TChartToolEvent
|
||||
index 0 read GetBeforeEvent write SetBeforeEvent;
|
||||
@ -114,6 +118,10 @@ type
|
||||
index 3 read GetBeforeEvent write SetBeforeEvent;
|
||||
property OnBeforeMouseUp: TChartToolEvent
|
||||
index 4 read GetBeforeEvent write SetBeforeEvent;
|
||||
property OnBeforeMouseWheelDown: TChartToolEvent
|
||||
index 5 read GetBeforeEvent write SetBeforeEvent;
|
||||
property OnBeforeMouseWheelUp: TChartToolEvent
|
||||
index 6 read GetBeforeEvent write SetBeforeEvent;
|
||||
end;
|
||||
|
||||
{$IFNDEF fpdoc} // Workaround for issue #18549.
|
||||
|
Loading…
Reference in New Issue
Block a user