QGIS API Documentation  2.14.0-Essen
Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsMapTool Class Reference

Abstract base class for all map tools. More...

#include <qgsmaptool.h>

Inheritance diagram for QgsMapTool:
Inheritance graph
[legend]

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, QgsMessageBar::MessageLevel=QgsMessageBar::INFO)
 emit a message More...
 

Public Member Functions

virtual ~QgsMapTool ()
 virtual destructor More...
 
QActionaction ()
 Return associated action with map tool or NULL if no action is associated. More...
 
virtual void activate ()
 called when set as currently active map tool More...
 
QAbstractButtonbutton ()
 Return associated button with map tool or NULL if no button is associated. More...
 
QgsMapCanvascanvas ()
 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 deactivate ()
 called when map tool is being deactivated More...
 
virtual bool isEditTool ()
 Check whether this MapTool performs an edit operation. More...
 
virtual bool isTransient ()
 Check whether this MapTool performs a zoom or pan operation. 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...
 
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...
 
void setButton (QAbstractButton *button)
 Use this to associate a button to this maptool. More...
 
virtual void setCursor (const QCursor &cursor)
 Set 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...
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual  ~QObject ()
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

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...
 
- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 

Protected Member Functions

 QgsMapTool (QgsMapCanvas *canvas)
 constructor takes map canvas as a parameter More...
 
QPoint toCanvasCoordinates (const QgsPoint &point)
 transformation from map coordinates to screen coordinates More...
 
QgsPoint toLayerCoordinates (QgsMapLayer *layer, 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...
 
QgsRectangle toLayerCoordinates (QgsMapLayer *layer, const QgsRectangle &rect)
 trnasformation of the rect from map coordinates to layer's coordinates More...
 
QgsPoint toMapCoordinates (QPoint point)
 transformation from screen coordinates to map 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...
 
QgsPointV2 toMapCoordinates (QgsMapLayer *layer, const QgsPointV2 &point)
 transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More...
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 

Protected Attributes

QActionmAction
 optionally map tool can have pointer to action which will be used to set that action as active More...
 
QAbstractButtonmButton
 optionally map tool can have pointer to a button which will be used to set that action as active More...
 
QgsMapCanvasmCanvas
 pointer to map canvas More...
 
QCursor mCursor
 cursor used in map tool More...
 
QString mToolName
 translated name of the map tool More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

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 50 of file qgsmaptool.h.

Constructor & Destructor Documentation

QgsMapTool::~QgsMapTool ( )
virtual

virtual destructor

Definition at line 36 of file qgsmaptool.cpp.

QgsMapTool::QgsMapTool ( QgsMapCanvas canvas)
protected

constructor takes map canvas as a parameter

Definition at line 25 of file qgsmaptool.cpp.

Member Function Documentation

QAction * QgsMapTool::action ( )

Return associated action with map tool or NULL if no action is associated.

Definition at line 124 of file qgsmaptool.cpp.

void QgsMapTool::activate ( )
virtual

called when set as currently active map tool

Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolCapture, and QgsMapToolTouch.

Definition at line 83 of file qgsmaptool.cpp.

void QgsMapTool::activated ( )
signal

signal emitted once the map tool is activated

QAbstractButton * QgsMapTool::button ( )

Return associated button with map tool or NULL if no button is associated.

Definition at line 134 of file qgsmaptool.cpp.

QgsMapCanvas * QgsMapTool::canvas ( )

returns pointer to the tool's map canvas

Definition at line 202 of file qgsmaptool.cpp.

void QgsMapTool::canvasDoubleClickEvent ( QgsMapMouseEvent e)
virtual

Mouse double click event for overriding. Default implementation does nothing.

Reimplemented in QgsMapToolTouch.

Definition at line 150 of file qgsmaptool.cpp.

void QgsMapTool::canvasMoveEvent ( QgsMapMouseEvent e)
virtual

Mouse move event for overriding. Default implementation does nothing.

Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolTouch, QgsMapToolPan, QgsMapToolZoom, and QgsMapToolEmitPoint.

Definition at line 145 of file qgsmaptool.cpp.

void QgsMapTool::canvasPressEvent ( QgsMapMouseEvent e)
virtual

Mouse press event for overriding. Default implementation does nothing.

Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolZoom, QgsMapToolEmitPoint, and QgsMapToolPan.

Definition at line 155 of file qgsmaptool.cpp.

void QgsMapTool::canvasReleaseEvent ( QgsMapMouseEvent e)
virtual

Mouse release event for overriding. Default implementation does nothing.

Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolTouch, QgsMapToolZoom, QgsMapToolEmitPoint, QgsMapToolIdentifyFeature, and QgsMapToolPan.

Definition at line 160 of file qgsmaptool.cpp.

void QgsMapTool::deactivate ( )
virtual

called when map tool is being deactivated

Reimplemented in QgsMapToolIdentify, QgsMapToolAdvancedDigitizing, QgsMapToolZoom, QgsMapToolCapture, and QgsMapToolTouch.

Definition at line 99 of file qgsmaptool.cpp.

void QgsMapTool::deactivated ( )
signal

signal emitted once the map tool is deactivated

bool QgsMapTool::isEditTool ( )
virtual

Check whether this MapTool performs an edit operation.

If it does, we will deactivate it when editing is turned off

Reimplemented in QgsMapToolEdit.

Definition at line 197 of file qgsmaptool.cpp.

bool QgsMapTool::isTransient ( )
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 192 of file qgsmaptool.cpp.

void QgsMapTool::keyPressEvent ( QKeyEvent e)
virtual

Key event for overriding. Default implementation does nothing.

Reimplemented in QgsMapToolCapture, and QgsMapToolIdentifyFeature.

Definition at line 170 of file qgsmaptool.cpp.

void QgsMapTool::keyReleaseEvent ( QKeyEvent e)
virtual

Key event for overriding. Default implementation does nothing.

Definition at line 175 of file qgsmaptool.cpp.

void QgsMapTool::messageDiscarded ( )
signal

emit signal to clear previous message

void QgsMapTool::messageEmitted ( const QString message,
QgsMessageBar::MessageLevel  = QgsMessageBar::INFO 
)
signal

emit a message

void QgsMapTool::renderComplete ( )
virtual

Called when rendering has finished.

Default implementation does nothing.

Deprecated:
since 2.4 - not called anymore - map tools must not directly depend on rendering progress

Definition at line 188 of file qgsmaptool.cpp.

double QgsMapTool::searchRadiusMM ( )
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.

Note
added in 2.3

Definition at line 207 of file qgsmaptool.cpp.

double QgsMapTool::searchRadiusMU ( const QgsRenderContext context)
static

Get search radius in map units for given context.

Used by identify, tip etc. The values is calculated from searchRadiusMM().

Note
added in 2.3

Definition at line 219 of file qgsmaptool.cpp.

double QgsMapTool::searchRadiusMU ( QgsMapCanvas canvas)
static

Get search radius in map units for given canvas.

Used by identify, tip etc. The values is calculated from searchRadiusMM().

Note
added in 2.3

Definition at line 224 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 109 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 129 of file qgsmaptool.cpp.

void QgsMapTool::setCursor ( const QCursor cursor)
virtual

Set a user defined cursor.

Definition at line 139 of file qgsmaptool.cpp.

QPoint QgsMapTool::toCanvasCoordinates ( const QgsPoint point)
protected

transformation from map coordinates to screen coordinates

Definition at line 75 of file qgsmaptool.cpp.

QgsPoint QgsMapTool::toLayerCoordinates ( QgsMapLayer layer,
QPoint  point 
)
protected

transformation from screen coordinates to layer's coordinates

Definition at line 54 of file qgsmaptool.cpp.

QgsPoint QgsMapTool::toLayerCoordinates ( QgsMapLayer layer,
const QgsPoint point 
)
protected

transformation from map coordinates to layer's coordinates

Definition at line 60 of file qgsmaptool.cpp.

QgsRectangle QgsMapTool::toLayerCoordinates ( QgsMapLayer layer,
const QgsRectangle rect 
)
protected

trnasformation of the rect from map coordinates to layer's coordinates

Definition at line 70 of file qgsmaptool.cpp.

QgsPoint QgsMapTool::toMapCoordinates ( QPoint  point)
protected

transformation from screen coordinates to map coordinates

Definition at line 42 of file qgsmaptool.cpp.

QgsPoint QgsMapTool::toMapCoordinates ( QgsMapLayer layer,
const QgsPoint point 
)
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.

QgsPointV2 QgsMapTool::toMapCoordinates ( QgsMapLayer layer,
const QgsPointV2 point 
)
protected

transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)

Note
available in python bindings as toMapCoordinatesV2

Definition at line 47 of file qgsmaptool.cpp.

QString QgsMapTool::toolName ( )
inline

Emit map tool changed with the old tool.

Note
added in 2.3

Definition at line 131 of file qgsmaptool.h.

void QgsMapTool::wheelEvent ( QWheelEvent e)
virtual

Mouse wheel event for overriding. Default implementation does nothing.

Definition at line 165 of file qgsmaptool.cpp.

Member Data Documentation

QAction* QgsMapTool::mAction
protected

optionally map tool can have pointer to action which will be used to set that action as active

Definition at line 201 of file qgsmaptool.h.

QAbstractButton* QgsMapTool::mButton
protected

optionally map tool can have pointer to a button which will be used to set that action as active

Definition at line 205 of file qgsmaptool.h.

QgsMapCanvas* QgsMapTool::mCanvas
protected

pointer to map canvas

Definition at line 194 of file qgsmaptool.h.

QCursor QgsMapTool::mCursor
protected

cursor used in map tool

Definition at line 197 of file qgsmaptool.h.

QString QgsMapTool::mToolName
protected

translated name of the map tool

Definition at line 208 of file qgsmaptool.h.


The documentation for this class was generated from the following files: