QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | Protected Member Functions | Friends | List of all members
QgsMapToolCapture Class Reference

#include <qgsmaptoolcapture.h>

Inheritance diagram for QgsMapToolCapture:
Inheritance graph
[legend]

Public Member Functions

 QgsMapToolCapture (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget, CaptureMode mode=CaptureNone)
 constructor More...
 
virtual ~QgsMapToolCapture ()
 destructor More...
 
virtual void activate () override
 active the tool More...
 
int addCurve (QgsCurveV2 *c)
 Adds a whole curve (e.g. More...
 
virtual void cadCanvasMoveEvent (QgsMapMouseEvent *e) override
 Update the rubberband according to mouse position. More...
 
const QgsCompoundCurveV2captureCurve () const
 Get the capture curve. More...
 
virtual void deactivate () override
 deactive the tool More...
 
void deleteTempRubberBand ()
 Clean a temporary rubberband. More...
 
virtual void keyPressEvent (QKeyEvent *e) override
 Intercept key events like Esc or Del to delete the last point. More...
 
- Public Member Functions inherited from QgsMapToolAdvancedDigitizing
 QgsMapToolAdvancedDigitizing (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget)
 Creates an advanced digitizing maptool. More...
 
 ~QgsMapToolAdvancedDigitizing ()
 
QgsAdvancedDigitizingDockWidgetcadDockWidget () const
 
virtual void canvasMoveEvent (QgsMapMouseEvent *e) override
 catch the mouse move event, filters it, transforms it to map coordinates and send it to virtual method More...
 
virtual void canvasPressEvent (QgsMapMouseEvent *e) override
 catch the mouse press event, filters it, transforms it to map coordinates and send it to virtual method More...
 
virtual void canvasReleaseEvent (QgsMapMouseEvent *e) override
 catch the mouse release event, filters it, transforms it to map coordinates and send it to virtual method More...
 
CaptureMode mode () const
 The capture mode. More...
 
void setMode (CaptureMode mode)
 Set capture mode. More...
 
- Public Member Functions inherited from QgsMapToolEdit
 QgsMapToolEdit (QgsMapCanvas *canvas)
 
virtual ~QgsMapToolEdit ()
 
virtual Flags flags () const override
 Returns the flags for the map tool. More...
 
- Public Member Functions inherited from QgsMapTool
virtual ~QgsMapTool ()
 virtual destructor More...
 
QActionaction ()
 Return associated action with map tool or NULL if no action is associated. 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 Q_DECL_DEPRECATED bool isEditTool () const
 Check whether this MapTool performs an edit operation. More...
 
virtual Q_DECL_DEPRECATED bool isTransient () const
 Check whether this MapTool performs a zoom or pan operation. 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
 

Protected Member Functions

int addVertex (const QgsPoint &point)
 Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates) More...
 
int addVertex (const QgsPoint &mapPoint, QgsPointLocator::Match match)
 Variant to supply more information in the case of snapping. More...
 
void closePolygon ()
 Close an open polygon. More...
 
int fetchLayerPoint (QgsPointLocator::Match match, QgsPointV2 &layerPoint)
 Fetches the original point from the source layer if it has the same CRS as the current layer. More...
 
bool isCapturing () const
 Are we currently capturing? More...
 
Q_DECL_DEPRECATED int nextPoint (const QgsPoint &mapPoint, QgsPoint &layerPoint)
 Converts a map point to layer coordinates. More...
 
int nextPoint (const QgsPointV2 &mapPoint, QgsPointV2 &layerPoint)
 Converts a map point to layer coordinates. More...
 
Q_DECL_DEPRECATED int nextPoint (QPoint p, QgsPoint &layerPoint, QgsPoint &mapPoint)
 Converts a point to map coordinates and layer coordinates. More...
 
int nextPoint (QPoint p, QgsPointV2 &layerPoint, QgsPointV2 &mapPoint)
 Converts a point to map coordinates and layer coordinates. More...
 
QList< QgsPointpoints () const
 List of digitized points. More...
 
QgsPointSequenceV2 pointsV2 ()
 List of digitized points with z support. More...
 
void setPoints (const QList< QgsPoint > &pointList)
 Set the points on which to work. More...
 
int size ()
 Number of points digitized. More...
 
void startCapturing ()
 Start capturing. More...
 
void stopCapturing ()
 Stop capturing. More...
 
void undo ()
 Removes the last vertex from mRubberBand and mCaptureList. More...
 
- Protected Member Functions inherited from QgsMapToolAdvancedDigitizing
virtual void cadCanvasPressEvent (QgsMapMouseEvent *e)
 Override this method when subclassing this class. More...
 
virtual void cadCanvasReleaseEvent (QgsMapMouseEvent *e)
 Override this method when subclassing this class. More...
 
- Protected Member Functions inherited from QgsMapToolEdit
int addTopologicalPoints (const QList< QgsPoint > &geom)
 Adds vertices to other features to keep topology up to date, e.g. More...
 
QgsGeometryRubberBandcreateGeometryRubberBand (QGis::GeometryType geometryType=QGis::Line, bool alternativeBand=false) const
 
QgsRubberBandcreateRubberBand (QGis::GeometryType geometryType=QGis::Line, bool alternativeBand=false)
 Creates a rubber band with the color/line width from the QGIS settings. More...
 
QgsVectorLayercurrentVectorLayer ()
 Returns the current vector layer of the map canvas or 0. More...
 
void notifyNotEditableLayer ()
 Display a timed message bar noting the active vector layer is not editable. More...
 
void notifyNotVectorLayer ()
 Display a timed message bar noting the active layer is not vector. More...
 
- Protected Member Functions inherited from QgsMapTool
 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)
 

Friends

class TestQgsMapToolReshape
 

Additional Inherited Members

- Public Types inherited from QgsMapToolAdvancedDigitizing
enum  CaptureMode { CaptureNone, CapturePoint, CaptureLine, CapturePolygon }
 Different capture modes. More...
 
- Public Types inherited from QgsMapTool
enum  Flag { Transient = 1 << 1, EditTool = 1 << 2, AllowZoomRect = 1 << 3 }
 Enumeration of flags that adjust the way the map tool operates. More...
 
- Signals inherited from QgsMapTool
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...
 
- Static Public Member Functions inherited from QgsMapTool
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)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Protected Attributes inherited from QgsMapToolAdvancedDigitizing
CaptureMode mCaptureMode
 The capture mode in which this tool operates. More...
 
bool mSnapOnDoubleClick
 snap on double click More...
 
bool mSnapOnMove
 snap on move More...
 
bool mSnapOnPress
 snap on press More...
 
bool mSnapOnRelease
 snap on release More...
 
- Protected Attributes inherited from QgsMapTool
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...
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 38 of file qgsmaptoolcapture.h.

Constructor & Destructor Documentation

◆ QgsMapToolCapture()

QgsMapToolCapture::QgsMapToolCapture ( QgsMapCanvas canvas,
QgsAdvancedDigitizingDockWidget cadDockWidget,
CaptureMode  mode = CaptureNone 
)

constructor

Definition at line 38 of file qgsmaptoolcapture.cpp.

◆ ~QgsMapToolCapture()

QgsMapToolCapture::~QgsMapToolCapture ( )
virtual

destructor

Definition at line 66 of file qgsmaptoolcapture.cpp.

Member Function Documentation

◆ activate()

void QgsMapToolCapture::activate ( )
overridevirtual

active the tool

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 79 of file qgsmaptoolcapture.cpp.

◆ addCurve()

int QgsMapToolCapture::addCurve ( QgsCurveV2 c)

Adds a whole curve (e.g.

circularstring) to the captured geometry. Curve must be in map CRS

Definition at line 469 of file qgsmaptoolcapture.cpp.

◆ addVertex() [1/2]

int QgsMapToolCapture::addVertex ( const QgsPoint point)
protected

Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates)

Returns
0 in case of success, 1 if current layer is not a vector layer, 2 if coordinate transformation failed

Definition at line 400 of file qgsmaptoolcapture.cpp.

◆ addVertex() [2/2]

int QgsMapToolCapture::addVertex ( const QgsPoint mapPoint,
QgsPointLocator::Match  match 
)
protected

Variant to supply more information in the case of snapping.

Parameters
mapPointThe vertex to add in map coordinates
matchData about the snapping match. Can be an invalid match, if point not snapped.
Note
added in 2.14

Definition at line 405 of file qgsmaptoolcapture.cpp.

◆ cadCanvasMoveEvent()

void QgsMapToolCapture::cadCanvasMoveEvent ( QgsMapMouseEvent e)
overridevirtual

Update the rubberband according to mouse position.

Parameters
eThe mouse event

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 258 of file qgsmaptoolcapture.cpp.

◆ captureCurve()

const QgsCompoundCurveV2* QgsMapToolCapture::captureCurve ( ) const
inline

Get the capture curve.

Returns
Capture curve

Definition at line 63 of file qgsmaptoolcapture.h.

◆ closePolygon()

void QgsMapToolCapture::closePolygon ( )
protected

Close an open polygon.

Definition at line 629 of file qgsmaptoolcapture.cpp.

◆ deactivate()

void QgsMapToolCapture::deactivate ( )
overridevirtual

deactive the tool

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 87 of file qgsmaptoolcapture.cpp.

◆ deleteTempRubberBand()

void QgsMapToolCapture::deleteTempRubberBand ( )

Clean a temporary rubberband.

Definition at line 620 of file qgsmaptoolcapture.cpp.

◆ fetchLayerPoint()

int QgsMapToolCapture::fetchLayerPoint ( QgsPointLocator::Match  match,
QgsPointV2 layerPoint 
)
protected

Fetches the original point from the source layer if it has the same CRS as the current layer.

Returns
0 in case of success, 1 if not applicable (CRS mismatch), 2 in case of failure
Note
added in 2.14

Definition at line 370 of file qgsmaptoolcapture.cpp.

◆ isCapturing()

bool QgsMapToolCapture::isCapturing ( ) const
protected

Are we currently capturing?

Returns
Is the tool in capture mode?

Definition at line 576 of file qgsmaptoolcapture.cpp.

◆ keyPressEvent()

void QgsMapToolCapture::keyPressEvent ( QKeyEvent e)
overridevirtual

Intercept key events like Esc or Del to delete the last point.

Parameters
ekey event

Reimplemented from QgsMapTool.

Definition at line 553 of file qgsmaptoolcapture.cpp.

◆ nextPoint() [1/4]

int QgsMapToolCapture::nextPoint ( const QgsPoint mapPoint,
QgsPoint layerPoint 
)
protected

Converts a map point to layer coordinates.

Parameters
mapPointthe point in map coordinates
[in,out]layerPointthe point in layer coordinates
Returns
0 in case of success 1 if the current layer is null or not a vector layer 2 if the transformation failed
Deprecated:
use nextPoint(const QgsPointV2&, QgsPointV2&)

Definition at line 319 of file qgsmaptoolcapture.cpp.

◆ nextPoint() [2/4]

int QgsMapToolCapture::nextPoint ( const QgsPointV2 mapPoint,
QgsPointV2 layerPoint 
)
protected

Converts a map point to layer coordinates.

Parameters
mapPointthe point in map coordinates
[in,out]layerPointthe point in layer coordinates
Returns
0 in case of success 1 if the current layer is null or not a vector layer 2 if the transformation failed

Definition at line 329 of file qgsmaptoolcapture.cpp.

◆ nextPoint() [3/4]

int QgsMapToolCapture::nextPoint ( QPoint  p,
QgsPoint layerPoint,
QgsPoint mapPoint 
)
protected

Converts a point to map coordinates and layer coordinates.

Parameters
pthe input point
[in,out]layerPointthe point in layer coordinates
[in,out]mapPointthe point in map coordinates
Returns
0 in case of success 1 if the current layer is null or not a vector layer 2 if the transformation failed
Deprecated:
use nextPoint( const QPoint&, QgsPointV2&, QgsPointV2& )

Definition at line 362 of file qgsmaptoolcapture.cpp.

◆ nextPoint() [4/4]

int QgsMapToolCapture::nextPoint ( QPoint  p,
QgsPointV2 layerPoint,
QgsPointV2 mapPoint 
)
protected

Converts a point to map coordinates and layer coordinates.

Parameters
pthe input point
[in,out]layerPointthe point in layer coordinates
[in,out]mapPointthe point in map coordinates
Returns
0 in case of success 1 if the current layer is null or not a vector layer 2 if the transformation failed

Definition at line 356 of file qgsmaptoolcapture.cpp.

◆ points()

QList< QgsPoint > QgsMapToolCapture::points ( ) const
protected

List of digitized points.

Returns
List of points

Definition at line 716 of file qgsmaptoolcapture.cpp.

◆ pointsV2()

QgsPointSequenceV2 QgsMapToolCapture::pointsV2 ( )
protected

List of digitized points with z support.

Returns
List of points
Note
added in 2.18

Definition at line 725 of file qgsmaptoolcapture.cpp.

◆ setPoints()

void QgsMapToolCapture::setPoints ( const QList< QgsPoint > &  pointList)
protected

Set the points on which to work.

Parameters
pointListA list of points

Definition at line 732 of file qgsmaptoolcapture.cpp.

◆ size()

int QgsMapToolCapture::size ( )
protected

Number of points digitized.

Returns
Number of points

Definition at line 711 of file qgsmaptoolcapture.cpp.

◆ startCapturing()

void QgsMapToolCapture::startCapturing ( )
protected

Start capturing.

Definition at line 571 of file qgsmaptoolcapture.cpp.

◆ stopCapturing()

void QgsMapToolCapture::stopCapturing ( )
protected

Stop capturing.

Definition at line 581 of file qgsmaptoolcapture.cpp.

◆ undo()

void QgsMapToolCapture::undo ( )
protected

Removes the last vertex from mRubberBand and mCaptureList.

Definition at line 515 of file qgsmaptoolcapture.cpp.

Friends And Related Function Documentation

◆ TestQgsMapToolReshape

friend class TestQgsMapToolReshape
friend

Definition at line 251 of file qgsmaptoolcapture.h.


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