QGIS API Documentation
2.4.0-Chugiak
|
Abstract base class for all map tools. More...
#include <qgsmaptool.h>
Signals | |
void | messageEmitted (QString message, QgsMessageBar::MessageLevel=QgsMessageBar::INFO) |
emit a message More... | |
void | messageDiscarded () |
emit signal to clear previous message More... | |
Public Member Functions | |
virtual | ~QgsMapTool () |
virtual destructor More... | |
virtual void | canvasMoveEvent (QMouseEvent *e) |
Mouse move event for overriding. Default implementation does nothing. More... | |
virtual void | canvasDoubleClickEvent (QMouseEvent *e) |
Mouse double click event for overriding. Default implementation does nothing. More... | |
virtual void | canvasPressEvent (QMouseEvent *e) |
Mouse press event for overriding. Default implementation does nothing. More... | |
virtual void | canvasReleaseEvent (QMouseEvent *e) |
Mouse release event for overriding. Default implementation does nothing. More... | |
virtual void | wheelEvent (QWheelEvent *e) |
Mouse wheel event for overriding. More... | |
virtual void | keyPressEvent (QKeyEvent *e) |
Key event for overriding. Default implementation does nothing. More... | |
virtual void | keyReleaseEvent (QKeyEvent *e) |
Key event for overriding. More... | |
virtual Q_DECL_DEPRECATED void | renderComplete () |
Called when rendering has finished. More... | |
void | setAction (QAction *action) |
Use this to associate a QAction to this maptool. More... | |
QAction * | action () |
Return associated action with map tool or NULL if no action is associated. More... | |
void | setButton (QAbstractButton *button) |
Use this to associate a button to this maptool. More... | |
QAbstractButton * | button () |
Return associated button with map tool or NULL if no button is associated. More... | |
virtual void | setCursor (QCursor cursor) |
Set a user defined cursor. More... | |
virtual bool | isTransient () |
Check whether this MapTool performs a zoom or pan operation. More... | |
virtual bool | isEditTool () |
Check whether this MapTool performs an edit operation. More... | |
virtual void | activate () |
called when set as currently active map tool More... | |
virtual void | deactivate () |
called when map tool is being deactivated More... | |
QgsMapCanvas * | canvas () |
returns pointer to the tool's map canvas More... | |
QString | toolName () |
Emit map tool changed with the old tool. More... | |
Static Public Member Functions | |
static double | searchRadiusMM () |
Get search radius in mm. More... | |
static double | searchRadiusMU (const QgsRenderContext &context) |
Get search radius in map units for given context. More... | |
static double | searchRadiusMU (QgsMapCanvas *canvas) |
Get search radius in map units for given canvas. More... | |
Protected Member Functions | |
QgsMapTool (QgsMapCanvas *canvas) | |
constructor takes map canvas as a parameter More... | |
QgsPoint | toMapCoordinates (const QPoint &point) |
transformation from screen coordinates to map coordinates More... | |
QgsPoint | toLayerCoordinates (QgsMapLayer *layer, const QPoint &point) |
transformation from screen coordinates to layer's coordinates More... | |
QgsPoint | toLayerCoordinates (QgsMapLayer *layer, const QgsPoint &point) |
transformation from map coordinates to layer's coordinates More... | |
QgsPoint | toMapCoordinates (QgsMapLayer *layer, const QgsPoint &point) |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More... | |
QgsRectangle | toLayerCoordinates (QgsMapLayer *layer, const QgsRectangle &rect) |
trnasformation of the rect from map coordinates to layer's coordinates More... | |
QPoint | toCanvasCoordinates (const QgsPoint &point) |
transformation from map coordinates to screen coordinates More... | |
Protected Attributes | |
QgsMapCanvas * | mCanvas |
pointer to map canvas More... | |
QCursor | mCursor |
cursor used in map tool More... | |
QAction * | mAction |
optionally map tool can have pointer to action which will be used to set that action as active More... | |
QAbstractButton * | mButton |
optionally map tool can have pointer to a button which will be used to set that action as active More... | |
QString | mToolName |
translated name of the map tool More... | |
Private Slots | |
void | actionDestroyed () |
clear pointer when action is destroyed 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 48 of file qgsmaptool.h.
|
virtual |
virtual destructor
Definition at line 36 of file qgsmaptool.cpp.
References mCanvas, and QgsMapCanvas::unsetMapTool().
|
protected |
constructor takes map canvas as a parameter
Definition at line 25 of file qgsmaptool.cpp.
QAction * QgsMapTool::action | ( | ) |
Return associated action with map tool or NULL if no action is associated.
Definition at line 113 of file qgsmaptool.cpp.
References mAction.
Referenced by QgsMapToolIdentify::identify(), and setAction().
|
privateslot |
clear pointer when action is destroyed
Definition at line 107 of file qgsmaptool.cpp.
References mAction.
Referenced by setAction().
|
virtual |
called when set as currently active map tool
Reimplemented in QgsMapToolIdentify, and QgsMapToolTouch.
Definition at line 77 of file qgsmaptool.cpp.
References mAction, mButton, mCanvas, mCursor, and QgsDebugMsg.
Referenced by QgsMapToolTouch::activate(), QgsMapToolIdentify::activate(), and QgsMapCanvas::setMapTool().
QAbstractButton * QgsMapTool::button | ( | ) |
Return associated button with map tool or NULL if no button is associated.
Definition at line 123 of file qgsmaptool.cpp.
References mButton.
Referenced by setButton().
QgsMapCanvas * QgsMapTool::canvas | ( | ) |
returns pointer to the tool's map canvas
Definition at line 191 of file qgsmaptool.cpp.
References mCanvas.
|
virtual |
Mouse double click event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolTouch.
Definition at line 139 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseDoubleClickEvent().
|
virtual |
Mouse move event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolIdentify, QgsMapToolTouch, QgsMapToolEmitPoint, QgsMapToolZoom, and QgsMapToolPan.
Definition at line 134 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseMoveEvent().
|
virtual |
Mouse press event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolIdentify, QgsMapToolEmitPoint, and QgsMapToolZoom.
Definition at line 144 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mousePressEvent().
|
virtual |
Mouse release event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolIdentify, QgsMapToolTouch, QgsMapToolEmitPoint, QgsMapToolZoom, and QgsMapToolPan.
Definition at line 149 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseReleaseEvent().
|
virtual |
called when map tool is being deactivated
Reimplemented in QgsMapToolIdentify, QgsMapToolZoom, and QgsMapToolTouch.
Definition at line 91 of file qgsmaptool.cpp.
References mAction, and mButton.
Referenced by QgsMapToolTouch::deactivate(), QgsMapToolIdentify::deactivate(), QgsMapCanvas::setMapTool(), QgsMapCanvas::unsetMapTool(), and QgsMapCanvas::~QgsMapCanvas().
|
virtual |
Check whether this MapTool performs an edit operation.
If it does, we will deactivate it when editing is turned off
Definition at line 186 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseReleaseEvent().
|
virtual |
Check whether this MapTool performs a zoom or pan operation.
If it does, we will be able to perform the zoom and then resume operations with the original / previously used tool.
Reimplemented in QgsMapToolTouch, QgsMapToolZoom, and QgsMapToolPan.
Definition at line 181 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseReleaseEvent(), and QgsMapCanvas::setMapTool().
|
virtual |
Key event for overriding. Default implementation does nothing.
Definition at line 159 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::keyPressEvent().
|
virtual |
Key event for overriding.
Default implementation does nothing. Added in version 1.1
Definition at line 164 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::keyReleaseEvent().
|
signal |
emit signal to clear previous message
|
signal |
emit a message
|
virtual |
Called when rendering has finished.
Default implementation does nothing.
Definition at line 177 of file qgsmaptool.cpp.
|
static |
Get 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 196 of file qgsmaptool.cpp.
References QGis::DEFAULT_SEARCH_RADIUS_MM.
Referenced by searchRadiusMU().
|
static |
Get search radius in map units for given context.
Used by identify, tip etc. The values is calculated from searchRadiusMM().
Definition at line 208 of file qgsmaptool.cpp.
References QgsRenderContext::mapToPixel(), QgsMapToPixel::mapUnitsPerPixel(), QgsRenderContext::scaleFactor(), and searchRadiusMM().
Referenced by QgsMapTip::fetchFeature(), QgsMapToolIdentify::identifyVectorLayer(), searchRadiusMU(), QgsFormAnnotationItem::setFeatureForMapPosition(), and QgsHtmlAnnotationItem::setFeatureForMapPosition().
|
static |
Get search radius in map units for given canvas.
Used by identify, tip etc. The values is calculated from searchRadiusMM().
Definition at line 213 of file qgsmaptool.cpp.
References QgsRenderContext::fromMapSettings(), QgsMapCanvas::mapSettings(), and searchRadiusMU().
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 99 of file qgsmaptool.cpp.
References action(), actionDestroyed(), and mAction.
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 118 of file qgsmaptool.cpp.
|
virtual |
|
protected |
transformation from map coordinates to screen coordinates
Definition at line 69 of file qgsmaptool.cpp.
References QgsMapCanvas::getCoordinateTransform(), mCanvas, QgsMapToPixel::transformInPlace(), QgsPoint::x(), and QgsPoint::y().
|
protected |
transformation from screen coordinates to layer's coordinates
Definition at line 48 of file qgsmaptool.cpp.
References toMapCoordinates().
Referenced by QgsMapToolIdentify::identifyRasterLayer(), and QgsMapToolIdentify::identifyVectorLayer().
|
protected |
transformation from map coordinates to layer's coordinates
Definition at line 54 of file qgsmaptool.cpp.
References QgsMapCanvas::mapSettings(), QgsMapSettings::mapToLayerCoordinates(), and mCanvas.
|
protected |
trnasformation of the rect from map coordinates to layer's coordinates
Definition at line 64 of file qgsmaptool.cpp.
References QgsMapCanvas::mapSettings(), QgsMapSettings::mapToLayerCoordinates(), and mCanvas.
|
protected |
transformation from screen coordinates to map coordinates
Definition at line 42 of file qgsmaptool.cpp.
References QgsMapCanvas::getCoordinateTransform(), mCanvas, and QgsMapToPixel::toMapCoordinates().
Referenced by QgsMapToolEmitPoint::canvasPressEvent(), and toLayerCoordinates().
|
protected |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
Definition at line 59 of file qgsmaptool.cpp.
References QgsMapSettings::layerToMapCoordinates(), QgsMapCanvas::mapSettings(), and mCanvas.
|
inline |
Emit map tool changed with the old tool.
Definition at line 131 of file qgsmaptool.h.
|
virtual |
Mouse wheel event for overriding.
Default implementation does nothing. Added in version 2.0
Definition at line 154 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::wheelEvent().
|
protected |
optionally map tool can have pointer to action which will be used to set that action as active
Definition at line 191 of file qgsmaptool.h.
Referenced by action(), actionDestroyed(), activate(), deactivate(), and setAction().
|
protected |
optionally map tool can have pointer to a button which will be used to set that action as active
Definition at line 195 of file qgsmaptool.h.
Referenced by activate(), button(), deactivate(), and setButton().
|
protected |
pointer to map canvas
Definition at line 184 of file qgsmaptool.h.
Referenced by QgsMapToolTouch::activate(), activate(), canvas(), QgsMapToolTouch::canvasDoubleClickEvent(), QgsMapToolPan::canvasMoveEvent(), QgsMapToolZoom::canvasMoveEvent(), QgsMapToolTouch::canvasMoveEvent(), QgsMapToolPan::canvasReleaseEvent(), QgsMapToolZoom::canvasReleaseEvent(), QgsMapToolTouch::canvasReleaseEvent(), QgsMapToolIdentify::convertMeasurement(), QgsMapToolTouch::deactivate(), QgsMapToolIdentify::displayUnits(), QgsMapToolIdentify::featureDerivedAttributes(), QgsMapToolIdentify::handleMenuHover(), QgsMapToolIdentify::identify(), QgsMapToolIdentify::identifyRasterLayer(), QgsMapToolIdentify::identifyVectorLayer(), QgsMapToolTouch::pinchTriggered(), toCanvasCoordinates(), toLayerCoordinates(), toMapCoordinates(), ~QgsMapTool(), and QgsMapToolTouch::~QgsMapToolTouch().
|
protected |
cursor used in map tool
Definition at line 187 of file qgsmaptool.h.
Referenced by activate(), QgsMapToolIdentify::QgsMapToolIdentify(), QgsMapToolPan::QgsMapToolPan(), QgsMapToolZoom::QgsMapToolZoom(), and setCursor().
|
protected |
translated name of the map tool
Definition at line 198 of file qgsmaptool.h.