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

The QgsMapToolAdvancedDigitizing class is a QgsMapTool whcih gives event directly in map coordinates and allows filtering its events. More...

#include <qgsmaptooladvanceddigitizing.h>

Inheritance diagram for QgsMapToolAdvancedDigitizing:
Inheritance graph
[legend]

Public Types

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...
 

Public Member Functions

 QgsMapToolAdvancedDigitizing (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget)
 Creates an advanced digitizing maptool. More...
 
 ~QgsMapToolAdvancedDigitizing ()
 
virtual void activate () override
 Registers this maptool with the cad dock widget. More...
 
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...
 
virtual void deactivate () override
 Unregisters this maptool from the cad dock widget. 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 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
 

Protected Member Functions

virtual void cadCanvasMoveEvent (QgsMapMouseEvent *e)
 Override this method when subclassing this class. More...
 
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)
 

Protected Attributes

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...
 

Additional Inherited Members

- 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)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

The QgsMapToolAdvancedDigitizing class is a QgsMapTool whcih gives event directly in map coordinates and allows filtering its events.

Events from QgsMapTool are caught and their QMouseEvent are transformed into QgsMapMouseEvent (with map coordinates). Events are then forwarded to corresponding virtual methods which can be reimplemented in subclasses. An event filter can be set on the map tool to filter and modify the events in map coordinates (

See also
QgsMapToolMapEventFilter).
Note
at the moment, the event filter is used by the CAD tools (
See also
QgsCadDocWidget).
Note
the event filter definition is not exposed in python API to avoid any unexpected behavior.

Definition at line 34 of file qgsmaptooladvanceddigitizing.h.

Member Enumeration Documentation

◆ CaptureMode

Different capture modes.

Enumerator
CaptureNone 

Do not capture.

CapturePoint 

Capture points.

CaptureLine 

Capture lines.

CapturePolygon 

Capture polygons.

Definition at line 39 of file qgsmaptooladvanceddigitizing.h.

Constructor & Destructor Documentation

◆ QgsMapToolAdvancedDigitizing()

QgsMapToolAdvancedDigitizing::QgsMapToolAdvancedDigitizing ( QgsMapCanvas canvas,
QgsAdvancedDigitizingDockWidget cadDockWidget 
)
explicit

Creates an advanced digitizing maptool.

Parameters
canvasThe map canvas on which the tool works
cadDockWidgetThe cad dock widget which will be used to adjust mouse events

Definition at line 20 of file qgsmaptooladvanceddigitizing.cpp.

◆ ~QgsMapToolAdvancedDigitizing()

QgsMapToolAdvancedDigitizing::~QgsMapToolAdvancedDigitizing ( )

Definition at line 31 of file qgsmaptooladvanceddigitizing.cpp.

Member Function Documentation

◆ activate()

void QgsMapToolAdvancedDigitizing::activate ( )
overridevirtual

Registers this maptool with the cad dock widget.

Reimplemented from QgsMapTool.

Reimplemented in QgsMapToolCapture.

Definition at line 56 of file qgsmaptooladvanceddigitizing.cpp.

◆ cadCanvasMoveEvent()

virtual void QgsMapToolAdvancedDigitizing::cadCanvasMoveEvent ( QgsMapMouseEvent e)
inlineprotectedvirtual

Override this method when subclassing this class.

This will receive adapted events from the cad system whenever a canvasMoveEvent is triggered and it's not hidden by the cad's construction mode.

Parameters
eMouse events prepared by the cad system

Reimplemented in QgsMapToolCapture.

Definition at line 121 of file qgsmaptooladvanceddigitizing.h.

◆ cadCanvasPressEvent()

virtual void QgsMapToolAdvancedDigitizing::cadCanvasPressEvent ( QgsMapMouseEvent e)
inlineprotectedvirtual

Override this method when subclassing this class.

This will receive adapted events from the cad system whenever a canvasPressEvent is triggered and it's not hidden by the cad's construction mode.

Parameters
eMouse events prepared by the cad system

Definition at line 99 of file qgsmaptooladvanceddigitizing.h.

◆ cadCanvasReleaseEvent()

virtual void QgsMapToolAdvancedDigitizing::cadCanvasReleaseEvent ( QgsMapMouseEvent e)
inlineprotectedvirtual

Override this method when subclassing this class.

This will receive adapted events from the cad system whenever a canvasReleaseEvent is triggered and it's not hidden by the cad's construction mode.

Parameters
eMouse events prepared by the cad system

Definition at line 110 of file qgsmaptooladvanceddigitizing.h.

◆ cadDockWidget()

QgsAdvancedDigitizingDockWidget* QgsMapToolAdvancedDigitizing::cadDockWidget ( ) const
inline

Definition at line 88 of file qgsmaptooladvanceddigitizing.h.

◆ canvasMoveEvent()

void QgsMapToolAdvancedDigitizing::canvasMoveEvent ( QgsMapMouseEvent e)
overridevirtual

catch the mouse move event, filters it, transforms it to map coordinates and send it to virtual method

Reimplemented from QgsMapTool.

Definition at line 49 of file qgsmaptooladvanceddigitizing.cpp.

◆ canvasPressEvent()

void QgsMapToolAdvancedDigitizing::canvasPressEvent ( QgsMapMouseEvent e)
overridevirtual

catch the mouse press event, filters it, transforms it to map coordinates and send it to virtual method

Reimplemented from QgsMapTool.

Definition at line 35 of file qgsmaptooladvanceddigitizing.cpp.

◆ canvasReleaseEvent()

void QgsMapToolAdvancedDigitizing::canvasReleaseEvent ( QgsMapMouseEvent e)
overridevirtual

catch the mouse release event, filters it, transforms it to map coordinates and send it to virtual method

Reimplemented from QgsMapTool.

Definition at line 42 of file qgsmaptooladvanceddigitizing.cpp.

◆ deactivate()

void QgsMapToolAdvancedDigitizing::deactivate ( )
overridevirtual

Unregisters this maptool from the cad dock widget.

Reimplemented from QgsMapTool.

Reimplemented in QgsMapToolCapture.

Definition at line 63 of file qgsmaptooladvanceddigitizing.cpp.

◆ mode()

CaptureMode QgsMapToolAdvancedDigitizing::mode ( ) const
inline

The capture mode.

Returns
Capture mode

Definition at line 68 of file qgsmaptooladvanceddigitizing.h.

◆ setMode()

void QgsMapToolAdvancedDigitizing::setMode ( CaptureMode  mode)
inline

Set capture mode.

This should correspond to the layer on which the digitizing happens.

Parameters
modeCapture Mode

Definition at line 76 of file qgsmaptooladvanceddigitizing.h.

Member Data Documentation

◆ mCaptureMode

CaptureMode QgsMapToolAdvancedDigitizing::mCaptureMode
protected

The capture mode in which this tool operates.

Definition at line 124 of file qgsmaptooladvanceddigitizing.h.

◆ mSnapOnDoubleClick

bool QgsMapToolAdvancedDigitizing::mSnapOnDoubleClick
protected

snap on double click

Definition at line 129 of file qgsmaptooladvanceddigitizing.h.

◆ mSnapOnMove

bool QgsMapToolAdvancedDigitizing::mSnapOnMove
protected

snap on move

Definition at line 128 of file qgsmaptooladvanceddigitizing.h.

◆ mSnapOnPress

bool QgsMapToolAdvancedDigitizing::mSnapOnPress
protected

snap on press

Definition at line 126 of file qgsmaptooladvanceddigitizing.h.

◆ mSnapOnRelease

bool QgsMapToolAdvancedDigitizing::mSnapOnRelease
protected

snap on release

Definition at line 127 of file qgsmaptooladvanceddigitizing.h.


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