mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-08 11:36:05 +02:00
TAChart: Add TDataPointDragTool.EscapeCancels property
git-svn-id: trunk@38864 -
This commit is contained in:
parent
adf12d0ef5
commit
dba262b42f
@ -42,6 +42,7 @@ type
|
|||||||
FActiveCursor: TCursor;
|
FActiveCursor: TCursor;
|
||||||
FDrawingMode: TChartToolDrawingMode;
|
FDrawingMode: TChartToolDrawingMode;
|
||||||
FEnabled: Boolean;
|
FEnabled: Boolean;
|
||||||
|
FEscapeCancels: Boolean;
|
||||||
FEventsAfter: array [TChartToolEventId] of TChartToolEvent;
|
FEventsAfter: array [TChartToolEventId] of TChartToolEvent;
|
||||||
FEventsBefore: array [TChartToolEventId] of TChartToolEvent;
|
FEventsBefore: array [TChartToolEventId] of TChartToolEvent;
|
||||||
FOldCursor: TCursor;
|
FOldCursor: TCursor;
|
||||||
@ -61,6 +62,7 @@ type
|
|||||||
read FDrawingMode write SetDrawingMode default tdmDefault;
|
read FDrawingMode write SetDrawingMode default tdmDefault;
|
||||||
strict protected
|
strict protected
|
||||||
procedure Activate; override;
|
procedure Activate; override;
|
||||||
|
procedure Cancel; virtual;
|
||||||
procedure Deactivate; override;
|
procedure Deactivate; override;
|
||||||
function EffectiveDrawingMode: TChartToolEffectiveDrawingMode;
|
function EffectiveDrawingMode: TChartToolEffectiveDrawingMode;
|
||||||
function GetIndex: Integer; override;
|
function GetIndex: Integer; override;
|
||||||
@ -76,6 +78,8 @@ type
|
|||||||
procedure RestoreCursor;
|
procedure RestoreCursor;
|
||||||
procedure SetCursor;
|
procedure SetCursor;
|
||||||
procedure SetIndex(AValue: Integer); override;
|
procedure SetIndex(AValue: Integer); override;
|
||||||
|
property EscapeCancels: Boolean
|
||||||
|
read FEscapeCancels write FEscapeCancels default false;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -409,6 +413,8 @@ type
|
|||||||
FOnDrag: TDataPointDragEvent;
|
FOnDrag: TDataPointDragEvent;
|
||||||
FOnDragStart: TDataPointDragEvent;
|
FOnDragStart: TDataPointDragEvent;
|
||||||
FOrigin: TDoublePoint;
|
FOrigin: TDoublePoint;
|
||||||
|
strict protected
|
||||||
|
procedure Cancel; override;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
procedure MouseDown(APoint: TPoint); override;
|
procedure MouseDown(APoint: TPoint); override;
|
||||||
@ -417,6 +423,7 @@ type
|
|||||||
property Origin: TDoublePoint read FOrigin;
|
property Origin: TDoublePoint read FOrigin;
|
||||||
published
|
published
|
||||||
property ActiveCursor default crSizeAll;
|
property ActiveCursor default crSizeAll;
|
||||||
|
property EscapeCancels default true;
|
||||||
property OnDrag: TDataPointDragEvent read FOnDrag write FOnDrag;
|
property OnDrag: TDataPointDragEvent read FOnDrag write FOnDrag;
|
||||||
property OnDragStart: TDataPointDragEvent
|
property OnDragStart: TDataPointDragEvent
|
||||||
read FOnDragStart write FOnDragStart;
|
read FOnDragStart write FOnDragStart;
|
||||||
@ -543,7 +550,7 @@ var
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
GraphMath, InterfaceBase, Math, SysUtils,
|
GraphMath, InterfaceBase, LCLType, LCLIntf, Math, SysUtils,
|
||||||
TACustomSeries, TAEnumerators, TAGeometry, TAMath;
|
TACustomSeries, TAEnumerators, TAGeometry, TAMath;
|
||||||
|
|
||||||
function InitBuiltinTools(AChart: TChart): TBasicChartToolset;
|
function InitBuiltinTools(AChart: TChart): TBasicChartToolset;
|
||||||
@ -638,6 +645,11 @@ begin
|
|||||||
inherited Assign(Source);
|
inherited Assign(Source);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TChartTool.Cancel;
|
||||||
|
begin
|
||||||
|
// Empty.
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TChartTool.Create(AOwner: TComponent);
|
constructor TChartTool.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
inherited Create(AOwner);
|
inherited Create(AOwner);
|
||||||
@ -742,6 +754,8 @@ end;
|
|||||||
procedure TChartTool.KeyDown(APoint: TPoint);
|
procedure TChartTool.KeyDown(APoint: TPoint);
|
||||||
begin
|
begin
|
||||||
Unused(APoint);
|
Unused(APoint);
|
||||||
|
if EscapeCancels and ((GetKeyState(VK_ESCAPE) and $8000) <> 0) then
|
||||||
|
Cancel;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TChartTool.KeyUp(APoint: TPoint);
|
procedure TChartTool.KeyUp(APoint: TPoint);
|
||||||
@ -1522,10 +1536,20 @@ end;
|
|||||||
|
|
||||||
{ TDataPointDragTool }
|
{ TDataPointDragTool }
|
||||||
|
|
||||||
|
procedure TDataPointDragTool.Cancel;
|
||||||
|
begin
|
||||||
|
if FSeries <> nil then
|
||||||
|
FSeries.MovePoint(FPointIndex, Origin);
|
||||||
|
if IsActive then
|
||||||
|
Deactivate;
|
||||||
|
Handled;
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TDataPointDragTool.Create(AOwner: TComponent);
|
constructor TDataPointDragTool.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
inherited Create(AOwner);
|
inherited Create(AOwner);
|
||||||
ActiveCursor := crSizeAll;
|
ActiveCursor := crSizeAll;
|
||||||
|
EscapeCancels := true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDataPointDragTool.MouseDown(APoint: TPoint);
|
procedure TDataPointDragTool.MouseDown(APoint: TPoint);
|
||||||
|
Loading…
Reference in New Issue
Block a user