QGIS API Documentation
3.8.0-Zanzibar (11aff65)
|
Abstract base class for all map tools. More...
#include <qgsmaptool.h>
Public Types | |
enum | Flag { Transient = 1 << 1, EditTool = 1 << 2, AllowZoomRect = 1 << 3 } |
Enumeration of flags that adjust the way the map tool operates. More... | |
Signals | |
void | activated () |
signal emitted once the map tool is activated More... | |
void | deactivated () |
signal emitted once the map tool is deactivated More... | |
void | messageDiscarded () |
emit signal to clear previous message More... | |
void | messageEmitted (const QString &message, Qgis::MessageLevel=Qgis::Info) |
emit a message More... | |
Public Member Functions | |
~QgsMapTool () override | |
QAction * | action () |
Returns associated action with map tool or nullptr if no action is associated. More... | |
virtual void | activate () |
called when set as currently active map tool More... | |
QAbstractButton * | button () |
Returns associated button with map tool or nullptr if no button is associated. More... | |
QgsMapCanvas * | canvas () |
returns pointer to the tool's map canvas More... | |
virtual void | canvasDoubleClickEvent (QgsMapMouseEvent *e) |
Mouse double-click event for overriding. Default implementation does nothing. More... | |
virtual void | canvasMoveEvent (QgsMapMouseEvent *e) |
Mouse move event for overriding. Default implementation does nothing. More... | |
virtual void | canvasPressEvent (QgsMapMouseEvent *e) |
Mouse press event for overriding. Default implementation does nothing. More... | |
virtual void | canvasReleaseEvent (QgsMapMouseEvent *e) |
Mouse release event for overriding. Default implementation does nothing. More... | |
virtual void | clean () |
convenient method to clean members More... | |
virtual void | deactivate () |
called when map tool is being deactivated More... | |
virtual Flags | flags () const |
Returns the flags for the map tool. More... | |
virtual bool | gestureEvent (QGestureEvent *e) |
gesture event for overriding. Default implementation does nothing. More... | |
bool | isActive () const |
Returns if the current map tool active on the map canvas. More... | |
virtual void | keyPressEvent (QKeyEvent *e) |
Key event for overriding. Default implementation does nothing. More... | |
virtual void | keyReleaseEvent (QKeyEvent *e) |
Key event for overriding. Default implementation does nothing. More... | |
void | setAction (QAction *action) |
Use this to associate a QAction to this maptool. More... | |
void | setButton (QAbstractButton *button) |
Use this to associate a button to this maptool. More... | |
virtual void | setCursor (const QCursor &cursor) |
Sets a user defined cursor. More... | |
QString | toolName () |
Emit map tool changed with the old tool. More... | |
virtual void | wheelEvent (QWheelEvent *e) |
Mouse wheel event for overriding. Default implementation does nothing. More... | |
Static Public Member Functions | |
static double | searchRadiusMM () |
Gets search radius in mm. More... | |
static double | searchRadiusMU (const QgsRenderContext &context) |
Gets search radius in map units for given context. More... | |
static double | searchRadiusMU (QgsMapCanvas *canvas) |
Gets search radius in map units for given canvas. More... | |
Protected Member Functions | |
QgsMapTool (QgsMapCanvas *canvas) | |
constructor takes map canvas as a parameter More... | |
QPoint | toCanvasCoordinates (const QgsPointXY &point) |
transformation from map coordinates to screen coordinates More... | |
QgsPointXY | toLayerCoordinates (const QgsMapLayer *layer, QPoint point) |
transformation from screen coordinates to layer's coordinates More... | |
QgsPointXY | toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point) |
transformation from map coordinates to layer's coordinates More... | |
QgsRectangle | toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect) |
trnasformation of the rect from map coordinates to layer's coordinates More... | |
QgsPointXY | toMapCoordinates (QPoint point) |
transformation from screen coordinates to map coordinates More... | |
QgsPointXY | toMapCoordinates (const QgsMapLayer *layer, const QgsPointXY &point) |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More... | |
QgsPoint | toMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point) |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More... | |
Protected Attributes | |
QAction * | mAction = nullptr |
optionally map tool can have pointer to action which will be used to set that action as active More... | |
QAbstractButton * | mButton = nullptr |
optionally map tool can have pointer to a button which will be used to set that action as active More... | |
QgsMapCanvas * | mCanvas = nullptr |
pointer to map canvas More... | |
QCursor | mCursor |
cursor used in map tool More... | |
QString | mToolName |
translated name of the map tool More... | |
Abstract base class for all map tools.
Map tools are user interactive tools for manipulating the map canvas. For example map pan and zoom features are implemented as map tools.
Definition at line 62 of file qgsmaptool.h.
enum QgsMapTool::Flag |
Enumeration of flags that adjust the way the map tool operates.
Definition at line 88 of file qgsmaptool.h.
|
override |
Definition at line 35 of file qgsmaptool.cpp.
|
protected |
constructor takes map canvas as a parameter
Definition at line 27 of file qgsmaptool.cpp.
QAction * QgsMapTool::action | ( | ) |
Returns associated action with map tool or nullptr
if no action is associated.
Definition at line 129 of file qgsmaptool.cpp.
|
virtual |
called when set as currently active map tool
Reimplemented in QgsMapToolIdentify, QgsMapToolCapture, QgsMapToolAdvancedDigitizing, QgsMapToolExtent, and QgsMapToolPan.
Definition at line 83 of file qgsmaptool.cpp.
|
signal |
signal emitted once the map tool is activated
QAbstractButton * QgsMapTool::button | ( | ) |
Returns associated button with map tool or nullptr
if no button is associated.
Definition at line 144 of file qgsmaptool.cpp.
QgsMapCanvas * QgsMapTool::canvas | ( | ) |
returns pointer to the tool's map canvas
Definition at line 198 of file qgsmaptool.cpp.
|
virtual |
Mouse double-click event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolPan.
Definition at line 162 of file qgsmaptool.cpp.
|
virtual |
Mouse move event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolExtent, QgsMapToolPan, QgsMapToolZoom, and QgsMapToolEmitPoint.
Definition at line 157 of file qgsmaptool.cpp.
|
virtual |
Mouse press event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolExtent, QgsMapToolPan, QgsMapToolZoom, and QgsMapToolEmitPoint.
Definition at line 167 of file qgsmaptool.cpp.
|
virtual |
Mouse release event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolExtent, QgsMapToolIdentifyFeature, QgsMapToolPan, QgsMapToolZoom, and QgsMapToolEmitPoint.
Definition at line 172 of file qgsmaptool.cpp.
|
virtual |
convenient method to clean members
Reimplemented in QgsMapToolCapture.
Definition at line 109 of file qgsmaptool.cpp.
|
virtual |
called when map tool is being deactivated
Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolCapture, QgsMapToolExtent, QgsMapToolZoom, and QgsMapToolPan.
Definition at line 99 of file qgsmaptool.cpp.
|
signal |
signal emitted once the map tool is deactivated
|
inlinevirtual |
Returns the flags for the map tool.
Reimplemented in QgsMapToolIdentify, QgsMapToolExtent, QgsMapToolPan, QgsMapToolEdit, QgsMapToolZoom, and QgsMapToolEmitPoint.
Definition at line 102 of file qgsmaptool.h.
|
virtual |
gesture event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolPan.
Definition at line 192 of file qgsmaptool.cpp.
bool QgsMapTool::isActive | ( | ) | const |
Returns if the current map tool active on the map canvas.
Definition at line 134 of file qgsmaptool.cpp.
|
virtual |
Key event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolCapture, QgsMapToolIdentifyFeature, and QgsMapToolZoom.
Definition at line 182 of file qgsmaptool.cpp.
|
virtual |
Key event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolZoom.
Definition at line 187 of file qgsmaptool.cpp.
|
signal |
emit signal to clear previous message
|
signal |
emit a message
|
static |
Gets search radius in mm.
Used by identify, tip etc. The values is currently set in identify tool options (move somewhere else?) and defaults to Qgis::DEFAULT_SEARCH_RADIUS_MM.
Definition at line 203 of file qgsmaptool.cpp.
|
static |
Gets search radius in map units for given context.
Used by identify, tip etc. The values is calculated from searchRadiusMM().
Definition at line 215 of file qgsmaptool.cpp.
|
static |
Gets search radius in map units for given canvas.
Used by identify, tip etc. The values is calculated from searchRadiusMM().
Definition at line 220 of file qgsmaptool.cpp.
void QgsMapTool::setAction | ( | QAction * | action | ) |
Use this to associate a QAction to this maptool.
Then when the setMapTool method of mapcanvas is called the action state will be set to on. Usually this will cause e.g. a toolbutton to appear pressed in and the previously used toolbutton to pop out.
Definition at line 114 of file qgsmaptool.cpp.
void QgsMapTool::setButton | ( | QAbstractButton * | button | ) |
Use this to associate a button to this maptool.
It has the same meaning as setAction() function except it works with a button instead of an QAction.
Definition at line 139 of file qgsmaptool.cpp.
|
virtual |
Sets a user defined cursor.
Definition at line 149 of file qgsmaptool.cpp.
|
protected |
transformation from map coordinates to screen coordinates
Definition at line 75 of file qgsmaptool.cpp.
|
protected |
transformation from screen coordinates to layer's coordinates
Definition at line 54 of file qgsmaptool.cpp.
|
protected |
transformation from map coordinates to layer's coordinates
Definition at line 60 of file qgsmaptool.cpp.
|
protected |
trnasformation of the rect from map coordinates to layer's coordinates
Definition at line 70 of file qgsmaptool.cpp.
|
protected |
transformation from screen coordinates to map coordinates
Definition at line 42 of file qgsmaptool.cpp.
|
protected |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
Definition at line 65 of file qgsmaptool.cpp.
|
protected |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
Definition at line 47 of file qgsmaptool.cpp.
|
inline |
|
virtual |
Mouse wheel event for overriding. Default implementation does nothing.
Definition at line 177 of file qgsmaptool.cpp.
|
protected |
optionally map tool can have pointer to action which will be used to set that action as active
Definition at line 250 of file qgsmaptool.h.
|
protected |
optionally map tool can have pointer to a button which will be used to set that action as active
Definition at line 256 of file qgsmaptool.h.
|
protected |
pointer to map canvas
Definition at line 241 of file qgsmaptool.h.
|
protected |
cursor used in map tool
Definition at line 244 of file qgsmaptool.h.
|
protected |
translated name of the map tool
Definition at line 259 of file qgsmaptool.h.