QgsMapTool Class Reference
[QGIS gui library.]

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

#include <qgsmaptool.h>

Inheritance diagram for QgsMapTool:

Inheritance graph
[legend]
Collaboration diagram for QgsMapTool:

Collaboration graph
[legend]

List of all members.

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
QgsMapCanvascanvas ()
 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

QgsMapCanvasmCanvas
 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


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


Constructor & Destructor Documentation

QgsMapTool::~QgsMapTool (  )  [virtual]

virtual destructor

Definition at line 31 of file qgsmaptool.cpp.

References mCanvas, and QgsMapCanvas::unsetMapTool().

QgsMapTool::QgsMapTool ( QgsMapCanvas canvas  )  [protected]

constructor takes map canvas as a parameter

Definition at line 25 of file qgsmaptool.cpp.


Member Function Documentation

void QgsMapTool::canvasMoveEvent ( QMouseEvent *  e  )  [virtual]

Mouse move event for overriding. Default implementation does nothing.

Reimplemented in QgsMapToolEmitPoint, QgsMapToolPan, and QgsMapToolZoom.

Definition at line 115 of file qgsmaptool.cpp.

Referenced by QgsMapCanvas::mouseMoveEvent().

void QgsMapTool::canvasDoubleClickEvent ( QMouseEvent *  e  )  [virtual]

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

Definition at line 119 of file qgsmaptool.cpp.

Referenced by QgsMapCanvas::mouseDoubleClickEvent().

void QgsMapTool::canvasPressEvent ( QMouseEvent *  e  )  [virtual]

Mouse press event for overriding. Default implementation does nothing.

Reimplemented in QgsMapToolEmitPoint, and QgsMapToolZoom.

Definition at line 123 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 QgsMapToolEmitPoint, QgsMapToolPan, and QgsMapToolZoom.

Definition at line 127 of file qgsmaptool.cpp.

Referenced by QgsMapCanvas::mouseReleaseEvent().

void QgsMapTool::keyPressEvent ( QKeyEvent *  e  )  [virtual]

Key event for overriding. Default implementation does nothing.

Definition at line 131 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 135 of file qgsmaptool.cpp.

Referenced by QgsMapCanvas::keyReleaseEvent().

void QgsMapTool::renderComplete (  )  [virtual]

Called when rendering has finished. Default implementation does nothing.

Definition at line 139 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 94 of file qgsmaptool.cpp.

References mAction.

QAction * QgsMapTool::action (  ) 

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

Definition at line 99 of file qgsmaptool.cpp.

References 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 104 of file qgsmaptool.cpp.

References mButton.

QAbstractButton * QgsMapTool::button (  ) 

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

Definition at line 109 of file qgsmaptool.cpp.

References mButton.

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 QgsMapToolPan, and QgsMapToolZoom.

Definition at line 143 of file qgsmaptool.cpp.

Referenced by QgsMapCanvas::mouseReleaseEvent(), and QgsMapCanvas::setMapTool().

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 148 of file qgsmaptool.cpp.

Referenced by QgsMapCanvas::mouseReleaseEvent().

void QgsMapTool::activate (  )  [virtual]

called when set as currently active map tool

Definition at line 72 of file qgsmaptool.cpp.

References mAction, mButton, mCanvas, mCursor, and QgsDebugMsg.

Referenced by QgsMapCanvas::setMapTool().

void QgsMapTool::deactivate (  )  [virtual]

called when map tool is being deactivated

Definition at line 86 of file qgsmaptool.cpp.

References mAction, and mButton.

Referenced by QgsMapCanvas::setMapTool(), QgsMapCanvas::unsetMapTool(), and QgsMapCanvas::~QgsMapCanvas().

QgsMapCanvas * QgsMapTool::canvas (  ) 

returns pointer to the tool's map canvas

Definition at line 153 of file qgsmaptool.cpp.

References mCanvas.

QgsPoint QgsMapTool::toMapCoordinates ( const QPoint &  point  )  [protected]

transformation from screen coordinates to map coordinates

Definition at line 37 of file qgsmaptool.cpp.

References QgsMapCanvas::getCoordinateTransform(), mCanvas, and QgsMapToPixel::toMapCoordinates().

Referenced by QgsMapToolEmitPoint::canvasPressEvent(), and toLayerCoordinates().

QgsPoint QgsMapTool::toLayerCoordinates ( QgsMapLayer layer,
const QPoint &  point 
) [protected]

transformation from screen coordinates to layer's coordinates

Definition at line 43 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 49 of file qgsmaptool.cpp.

References QgsMapCanvas::mapRenderer(), QgsMapRenderer::mapToLayerCoordinates(), and mCanvas.

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 54 of file qgsmaptool.cpp.

References QgsMapRenderer::layerToMapCoordinates(), QgsMapCanvas::mapRenderer(), 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 59 of file qgsmaptool.cpp.

References QgsMapCanvas::mapRenderer(), QgsMapRenderer::mapToLayerCoordinates(), and mCanvas.

QPoint QgsMapTool::toCanvasCoordinates ( const QgsPoint point  )  [protected]

transformation from map coordinates to screen coordinates

Definition at line 64 of file qgsmaptool.cpp.

References QgsMapCanvas::getCoordinateTransform(), mCanvas, QgsMapToPixel::transformInPlace(), QgsPoint::x(), and QgsPoint::y().


Member Data Documentation

QCursor QgsMapTool::mCursor [protected]

cursor used in map tool

Definition at line 133 of file qgsmaptool.h.

Referenced by activate(), QgsMapToolPan::QgsMapToolPan(), and QgsMapToolZoom::QgsMapToolZoom().

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

Referenced by activate(), button(), deactivate(), and setButton().


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

Generated on Sat Feb 4 19:17:39 2012 for Quantum GIS API Documentation by  doxygen 1.5.6