Quantum GIS API Documentation
1.8
|
Abstract base class for all map tools. More...
#include <qgsmaptool.h>
Public Member Functions | |
virtual | ~QgsMapTool () |
virtual destructor | |
virtual void | canvasMoveEvent (QMouseEvent *e) |
Mouse move event for overriding. Default implementation does nothing. | |
virtual void | canvasDoubleClickEvent (QMouseEvent *e) |
Mouse double click event for overriding. Default implementation does nothing. | |
virtual void | canvasPressEvent (QMouseEvent *e) |
Mouse press event for overriding. Default implementation does nothing. | |
virtual void | canvasReleaseEvent (QMouseEvent *e) |
Mouse release event for overriding. Default implementation does nothing. | |
virtual void | keyPressEvent (QKeyEvent *e) |
Key event for overriding. Default implementation does nothing. | |
virtual void | keyReleaseEvent (QKeyEvent *e) |
Key event for overriding. | |
virtual void | renderComplete () |
Called when rendering has finished. Default implementation does nothing. | |
void | setAction (QAction *action) |
Use this to associate a QAction to this maptool. | |
QAction * | action () |
Return associated action with map tool or NULL if no action is associated. | |
void | setButton (QAbstractButton *button) |
Use this to associate a button to this maptool. | |
QAbstractButton * | button () |
Return associated button with map tool or NULL if no button is associated. | |
virtual bool | isTransient () |
Check whether this MapTool performs a zoom or pan operation. | |
virtual bool | isEditTool () |
Check whether this MapTool performs an edit operation. | |
virtual void | activate () |
called when set as currently active map tool | |
virtual void | deactivate () |
called when map tool is being deactivated | |
QgsMapCanvas * | canvas () |
returns pointer to the tool's map canvas | |
Protected Member Functions | |
QgsMapTool (QgsMapCanvas *canvas) | |
constructor takes map canvas as a parameter | |
QgsPoint | toMapCoordinates (const QPoint &point) |
transformation from screen coordinates to map coordinates | |
QgsPoint | toLayerCoordinates (QgsMapLayer *layer, const QPoint &point) |
transformation from screen coordinates to layer's coordinates | |
QgsPoint | toLayerCoordinates (QgsMapLayer *layer, const QgsPoint &point) |
trasformation from map coordinates to layer's coordinates | |
QgsPoint | toMapCoordinates (QgsMapLayer *layer, const QgsPoint &point) |
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) | |
QgsRectangle | toLayerCoordinates (QgsMapLayer *layer, const QgsRectangle &rect) |
trnasformation of the rect from map coordinates to layer's coordinates | |
QPoint | toCanvasCoordinates (const QgsPoint &point) |
transformation from map coordinates to screen coordinates | |
Protected Attributes | |
QgsMapCanvas * | mCanvas |
pointer to map canvas | |
QCursor | mCursor |
cursor used in map tool | |
QAction * | mAction |
optionally map tool can have pointer to action which will be used to set that action as active | |
QAbstractButton * | mButton |
optionally map tool can have pointer to a button which will be used to set that action as active |
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 43 of file qgsmaptool.h.
QgsMapTool::~QgsMapTool | ( | ) | [virtual] |
virtual destructor
Definition at line 30 of file qgsmaptool.cpp.
References mCanvas, and QgsMapCanvas::unsetMapTool().
QgsMapTool::QgsMapTool | ( | QgsMapCanvas * | canvas | ) | [protected] |
constructor takes map canvas as a parameter
Definition at line 24 of file qgsmaptool.cpp.
QAction * QgsMapTool::action | ( | ) |
Return associated action with map tool or NULL if no action is associated.
Definition at line 98 of file qgsmaptool.cpp.
References mAction.
Referenced by setAction().
void QgsMapTool::activate | ( | ) | [virtual] |
called when set as currently active map tool
Reimplemented in QgsMapToolTouch.
Definition at line 71 of file qgsmaptool.cpp.
References mAction, mButton, mCanvas, mCursor, and QgsDebugMsg.
Referenced by QgsMapCanvas::setMapTool().
QAbstractButton * QgsMapTool::button | ( | ) |
Return associated button with map tool or NULL if no button is associated.
Definition at line 108 of file qgsmaptool.cpp.
References mButton.
Referenced by setButton().
returns pointer to the tool's map canvas
Definition at line 165 of file qgsmaptool.cpp.
References mCanvas.
void QgsMapTool::canvasDoubleClickEvent | ( | QMouseEvent * | e | ) | [virtual] |
Mouse double click event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolTouch.
Definition at line 119 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseDoubleClickEvent().
void QgsMapTool::canvasMoveEvent | ( | QMouseEvent * | e | ) | [virtual] |
Mouse move event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolTouch, QgsMapToolEmitPoint, QgsMapToolZoom, and QgsMapToolPan.
Definition at line 114 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseMoveEvent().
void QgsMapTool::canvasPressEvent | ( | QMouseEvent * | e | ) | [virtual] |
Mouse press event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolEmitPoint, and QgsMapToolZoom.
Definition at line 124 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mousePressEvent().
void QgsMapTool::canvasReleaseEvent | ( | QMouseEvent * | e | ) | [virtual] |
Mouse release event for overriding. Default implementation does nothing.
Reimplemented in QgsMapToolTouch, QgsMapToolEmitPoint, QgsMapToolZoom, and QgsMapToolPan.
Definition at line 129 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseReleaseEvent().
void QgsMapTool::deactivate | ( | ) | [virtual] |
called when map tool is being deactivated
Reimplemented in QgsMapToolZoom, and QgsMapToolTouch.
Definition at line 85 of file qgsmaptool.cpp.
References mAction, and mButton.
Referenced by QgsMapCanvas::setMapTool(), QgsMapCanvas::unsetMapTool(), and QgsMapCanvas::~QgsMapCanvas().
bool QgsMapTool::isEditTool | ( | ) | [virtual] |
Check whether this MapTool performs an edit operation.
If it does, we will deactivate it when editing is turned off
Definition at line 160 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseReleaseEvent().
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 155 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::mouseReleaseEvent(), and QgsMapCanvas::setMapTool().
void QgsMapTool::keyPressEvent | ( | QKeyEvent * | e | ) | [virtual] |
Key event for overriding. Default implementation does nothing.
Definition at line 134 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::keyPressEvent().
void QgsMapTool::keyReleaseEvent | ( | QKeyEvent * | e | ) | [virtual] |
Key event for overriding.
Default implementation does nothing. Added in version 1.1
Definition at line 139 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::keyReleaseEvent().
void QgsMapTool::renderComplete | ( | ) | [virtual] |
Called when rendering has finished. Default implementation does nothing.
Definition at line 151 of file qgsmaptool.cpp.
Referenced by QgsMapCanvas::refresh().
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 93 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 103 of file qgsmaptool.cpp.
QPoint QgsMapTool::toCanvasCoordinates | ( | const QgsPoint & | point | ) | [protected] |
transformation from map coordinates to screen coordinates
Definition at line 63 of file qgsmaptool.cpp.
References QgsMapCanvas::getCoordinateTransform(), mCanvas, QgsMapToPixel::transformInPlace(), QgsPoint::x(), and QgsPoint::y().
QgsPoint QgsMapTool::toLayerCoordinates | ( | QgsMapLayer * | layer, |
const QPoint & | point | ||
) | [protected] |
transformation from screen coordinates to layer's coordinates
Definition at line 42 of file qgsmaptool.cpp.
References toMapCoordinates().
QgsPoint QgsMapTool::toLayerCoordinates | ( | QgsMapLayer * | layer, |
const QgsPoint & | point | ||
) | [protected] |
trasformation from map coordinates to layer's coordinates
Definition at line 48 of file qgsmaptool.cpp.
References QgsMapCanvas::mapRenderer(), QgsMapRenderer::mapToLayerCoordinates(), and mCanvas.
QgsRectangle QgsMapTool::toLayerCoordinates | ( | QgsMapLayer * | layer, |
const QgsRectangle & | rect | ||
) | [protected] |
trnasformation of the rect from map coordinates to layer's coordinates
Definition at line 58 of file qgsmaptool.cpp.
References QgsMapCanvas::mapRenderer(), QgsMapRenderer::mapToLayerCoordinates(), and mCanvas.
QgsPoint QgsMapTool::toMapCoordinates | ( | const QPoint & | point | ) | [protected] |
transformation from screen coordinates to map coordinates
Definition at line 36 of file qgsmaptool.cpp.
References QgsMapCanvas::getCoordinateTransform(), mCanvas, and QgsMapToPixel::toMapCoordinates().
Referenced by QgsMapToolEmitPoint::canvasPressEvent(), and toLayerCoordinates().
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 53 of file qgsmaptool.cpp.
References QgsMapRenderer::layerToMapCoordinates(), QgsMapCanvas::mapRenderer(), and mCanvas.
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 145 of file qgsmaptool.h.
Referenced by action(), activate(), deactivate(), and setAction().
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 149 of file qgsmaptool.h.
Referenced by activate(), button(), deactivate(), and setButton().
QgsMapCanvas* QgsMapTool::mCanvas [protected] |
pointer to map canvas
Definition at line 138 of file qgsmaptool.h.
Referenced by QgsMapToolTouch::activate(), activate(), canvas(), QgsMapToolTouch::canvasDoubleClickEvent(), QgsMapToolPan::canvasMoveEvent(), QgsMapToolZoom::canvasMoveEvent(), QgsMapToolTouch::canvasMoveEvent(), QgsMapToolPan::canvasReleaseEvent(), QgsMapToolZoom::canvasReleaseEvent(), QgsMapToolTouch::canvasReleaseEvent(), QgsMapToolTouch::deactivate(), QgsMapToolTouch::pinchTriggered(), toCanvasCoordinates(), toLayerCoordinates(), toMapCoordinates(), ~QgsMapTool(), and QgsMapToolTouch::~QgsMapToolTouch().
QCursor QgsMapTool::mCursor [protected] |
cursor used in map tool
Definition at line 141 of file qgsmaptool.h.
Referenced by activate(), QgsMapToolPan::QgsMapToolPan(), and QgsMapToolZoom::QgsMapToolZoom().