QGIS API Documentation 3.99.0-Master (26c88405ac0)
Loading...
Searching...
No Matches
qgsplottransienttools.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsplottransienttools.h
3 ---------------
4 begin : March 2022
5 copyright : (C) 2022 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSPLOTTRANSIENTTOOLS_H
19#define QGSPLOTTRANSIENTTOOLS_H
20
21#include "qgis_gui.h"
22#include "qgis_sip.h"
23#include "qgsplottool.h"
24#include "qgsplottoolzoom.h"
25
32class GUI_EXPORT QgsPlotToolTemporaryKeyPan : public QgsPlotTool
33{
34 Q_OBJECT
35
36 public:
37
42
43 void plotMoveEvent( QgsPlotMouseEvent *event ) override;
44 void keyReleaseEvent( QKeyEvent *event ) override;
45 void activate() override;
46
47 private:
48 QPoint mLastMousePos;
49 QPointer<QgsPlotTool> mPreviousTool;
50};
51
58{
59 Q_OBJECT
60
61 public:
62
67
68 void plotMoveEvent( QgsPlotMouseEvent *event ) override;
69 void plotReleaseEvent( QgsPlotMouseEvent *event ) override;
70 void activate() override;
71
72 private:
73 QPoint mLastMousePos;
74 QPointer<QgsPlotTool> mPreviousTool;
75};
76
83{
84 Q_OBJECT
85
86 public:
87
92
93 void plotReleaseEvent( QgsPlotMouseEvent *event ) override;
94 void keyPressEvent( QKeyEvent *event ) override;
95 void keyReleaseEvent( QKeyEvent *event ) override;
96 void activate() override;
97
98 private:
99 QPointer<QgsPlotTool> mPreviousViewTool;
100
101 bool mDeactivateOnMouseRelease = false;
102
103 void updateCursor( Qt::KeyboardModifiers modifiers );
104};
105
106#endif // QGSPLOTTRANSIENTTOOLS_H
Plot canvas is a class for displaying interactive 2d charts and plots.
A mouse event which is the result of a user interaction with a QgsPlotCanvas.
QgsPlotToolTemporaryKeyPan(QgsPlotCanvas *canvas)
Constructor for QgsPlotToolTemporaryKeyPan.
QgsPlotToolTemporaryKeyZoom(QgsPlotCanvas *canvas)
Constructor for QgsPlotToolTemporaryKeyZoom.
QgsPlotToolTemporaryMousePan(QgsPlotCanvas *canvas)
Constructor for QgsPlotToolTemporaryMousePan.
QgsPlotToolZoom(QgsPlotCanvas *canvas)
Constructor for QgsPlotToolZoom, with the associated canvas.
QgsPlotCanvas * canvas() const
Returns the tool's plot canvas.
QgsPlotTool(QgsPlotCanvas *canvas, const QString &name)
Constructor takes a plot canvas as a parameter.
virtual void plotMoveEvent(QgsPlotMouseEvent *event)
Mouse move event for overriding.
virtual void activate()
Called when the tool is set as the currently active plot tool.
virtual void keyReleaseEvent(QKeyEvent *event)
Key release event for overriding.
virtual void keyPressEvent(QKeyEvent *event)
Key press event for overriding.
virtual void plotReleaseEvent(QgsPlotMouseEvent *event)
Mouse release event for overriding.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53