QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | List of all members
QgsMapToolEdit Class Reference

Base class for map tools that edit vector geometry. More...

#include <qgsmaptooledit.h>

Inheritance diagram for QgsMapToolEdit:
Inheritance graph
[legend]

Public Member Functions

 QgsMapToolEdit (QgsMapCanvas *canvas)
 
QgsGeometryRubberBandcreateGeometryRubberBand (QgsWkbTypes::GeometryType geometryType=QgsWkbTypes::LineGeometry, bool alternativeBand=false) const
 Creates a geometry rubber band with the color/line width from the QGIS settings. More...
 
Flags flags () const override
 Returns the flags for the map tool. More...
 
- Public Member Functions inherited from QgsMapTool
 ~QgsMapTool () override
 
QAction * action ()
 Returns associated action with map tool or nullptr if no action is associated. More...
 
virtual void activate ()
 called when set as currently active map tool More...
 
QAbstractButton * button ()
 Returns associated button with map tool or nullptr if no button is associated. More...
 
QgsMapCanvascanvas () const
 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 bool canvasToolTipEvent (QHelpEvent *e)
 Tooltip event for overriding. More...
 
virtual void clean ()
 convenient method to clean members More...
 
virtual void deactivate ()
 called when map tool is being deactivated More...
 
virtual Flags flags () const
 Returns the flags for the map tool. More...
 
virtual bool gestureEvent (QGestureEvent *e)
 gesture event for overriding. Default implementation does nothing. More...
 
bool isActive () const
 Returns if the current map tool active on the map canvas. 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 void populateContextMenu (QMenu *menu)
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click. More...
 
virtual bool populateContextMenuWithEvent (QMenu *menu, QgsMapMouseEvent *event)
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click. 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)
 Sets a user defined cursor. More...
 
QgsPointXY toMapCoordinates (QPoint point)
 Transforms a point from screen coordinates to map coordinates. 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...
 

Static Public Member Functions

static double defaultMValue ()
 Returns default M value. More...
 
static double defaultZValue ()
 Returns default Z value. More...
 
- Static Public Member Functions inherited from QgsMapTool
static double searchRadiusMM ()
 Gets search radius in mm. More...
 
static double searchRadiusMU (const QgsRenderContext &context)
 Gets search radius in map units for given context. More...
 
static double searchRadiusMU (QgsMapCanvas *canvas)
 Gets search radius in map units for given canvas. More...
 

Protected Types

enum  TopologicalResult { Success = 0 , InvalidCanvas = 1 , InvalidLayer = 2 }
 Result of addTopologicalPoints. More...
 

Protected Member Functions

TopologicalResult addTopologicalPoints (const QVector< QgsPoint > &vertices)
 Adds a list of vertices to other features to keep topology up to date, e.g. More...
 
Q_DECL_DEPRECATED TopologicalResult addTopologicalPoints (const QVector< QgsPointXY > &vertices)
 Adds a list of vertices to other features to keep topology up to date, e.g. More...
 
QgsRubberBandcreateRubberBand (QgsWkbTypes::GeometryType geometryType=QgsWkbTypes::LineGeometry, 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 a map canvas as a parameter. More...
 
QgsMapLayerlayer (const QString &id)
 Returns the map layer with the matching ID, or nullptr if no layers could be found. More...
 
void setToolName (const QString &name)
 Sets the tool's name. More...
 
QPoint toCanvasCoordinates (const QgsPointXY &point) const
 Transforms a point from map coordinates to screen coordinates. More...
 
QgsPoint toLayerCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 Transforms a point from map coordinates to layer coordinates. More...
 
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from map coordinates to layer coordinates. More...
 
QgsRectangle toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect)
 Transforms a rect from map coordinates to layer coordinates. More...
 
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, QPoint point)
 Transforms a point from screen coordinates to layer coordinates. More...
 
QgsPoint toMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 Transforms a point from layer coordinates to map coordinates (which is different in case reprojection is used). More...
 
QgsPointXY toMapCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from layer coordinates to map coordinates (which is different in case reprojection is used). More...
 

Static Protected Member Functions

static QColor digitizingFillColor ()
 Returns fill color for rubber bands (from global settings) More...
 
static QColor digitizingStrokeColor ()
 Returns stroke color for rubber bands (from global settings) More...
 
static int digitizingStrokeWidth ()
 Returns stroke width for rubber bands (from global settings) More...
 

Additional Inherited Members

- Public Types inherited from QgsMapTool
enum  Flag { Transient = 1 << 1 , EditTool = 1 << 2 , AllowZoomRect = 1 << 3 , ShowContextMenu = 1 << 4 }
 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, Qgis::MessageLevel=Qgis::MessageLevel::Info)
 emit a message More...
 
- Protected Attributes inherited from QgsMapTool
QAction * mAction = nullptr
 Optional pointer to an action that will be checked on map tool activation and unchecked on map tool deactivation. More...
 
QAbstractButton * mButton = nullptr
 Optional pointer to a button that will be checked on map tool activation and unchecked on map tool deactivation. More...
 
QPointer< QgsMapCanvasmCanvas
 The pointer to the map canvas. More...
 
QCursor mCursor
 The cursor used in the map tool. More...
 
QString mToolName
 The translated name of the map tool. More...
 

Detailed Description

Base class for map tools that edit vector geometry.

Definition at line 32 of file qgsmaptooledit.h.

Member Enumeration Documentation

◆ TopologicalResult

Result of addTopologicalPoints.

Enumerator
Success 

AddTopologicalPoints was successful.

InvalidCanvas 

AddTopologicalPoints failed due to an invalid canvas.

InvalidLayer 

AddTopologicalPoints failed due to an invalid canvas.

Definition at line 96 of file qgsmaptooledit.h.

Constructor & Destructor Documentation

◆ QgsMapToolEdit()

QgsMapToolEdit::QgsMapToolEdit ( QgsMapCanvas canvas)

Definition at line 27 of file qgsmaptooledit.cpp.

Member Function Documentation

◆ addTopologicalPoints() [1/2]

QgsMapToolEdit::TopologicalResult QgsMapToolEdit::addTopologicalPoints ( const QVector< QgsPoint > &  vertices)
protected

Adds a list of vertices to other features to keep topology up to date, e.g.

to neighbouring polygons. The vertices list specifies a set of topological points to add, in the layer's coordinate reference system.

Since
QGIS 3.10

Definition at line 97 of file qgsmaptooledit.cpp.

◆ addTopologicalPoints() [2/2]

QgsMapToolEdit::TopologicalResult QgsMapToolEdit::addTopologicalPoints ( const QVector< QgsPointXY > &  vertices)
protected

Adds a list of vertices to other features to keep topology up to date, e.g.

to neighbouring polygons. The vertices list specifies a set of topological points to add, in the layer's coordinate reference system.

Deprecated:
since QGIS 3.12 - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.

Definition at line 120 of file qgsmaptooledit.cpp.

◆ createGeometryRubberBand()

QgsGeometryRubberBand * QgsMapToolEdit::createGeometryRubberBand ( QgsWkbTypes::GeometryType  geometryType = QgsWkbTypes::LineGeometry,
bool  alternativeBand = false 
) const

Creates a geometry rubber band with the color/line width from the QGIS settings.

The caller takes ownership of the returned object

Parameters
geometryType
alternativeBandif true, rubber band will be set with more transparency and a dash pattern. default is false.

Definition at line 146 of file qgsmaptooledit.cpp.

◆ createRubberBand()

QgsRubberBand * QgsMapToolEdit::createRubberBand ( QgsWkbTypes::GeometryType  geometryType = QgsWkbTypes::LineGeometry,
bool  alternativeBand = false 
)
protected

Creates a rubber band with the color/line width from the QGIS settings.

The caller takes ownership of the returned object

Parameters
geometryType
alternativeBandif true, rubber band will be set with more transparency and a dash pattern. default is false.

Definition at line 70 of file qgsmaptooledit.cpp.

◆ currentVectorLayer()

QgsVectorLayer * QgsMapToolEdit::currentVectorLayer ( )
protected

Returns the current vector layer of the map canvas or 0.

Definition at line 91 of file qgsmaptooledit.cpp.

◆ defaultMValue()

double QgsMapToolEdit::defaultMValue ( )
static

Returns default M value.

Used for setting M coordinate to new vertex.

Since
QGIS 3.20

Definition at line 42 of file qgsmaptooledit.cpp.

◆ defaultZValue()

double QgsMapToolEdit::defaultZValue ( )
static

Returns default Z value.

Used for setting Z coordinate to new vertex.

Definition at line 37 of file qgsmaptooledit.cpp.

◆ digitizingFillColor()

QColor QgsMapToolEdit::digitizingFillColor ( )
staticprotected

Returns fill color for rubber bands (from global settings)

Definition at line 61 of file qgsmaptooledit.cpp.

◆ digitizingStrokeColor()

QColor QgsMapToolEdit::digitizingStrokeColor ( )
staticprotected

Returns stroke color for rubber bands (from global settings)

Definition at line 48 of file qgsmaptooledit.cpp.

◆ digitizingStrokeWidth()

int QgsMapToolEdit::digitizingStrokeWidth ( )
staticprotected

Returns stroke width for rubber bands (from global settings)

Definition at line 56 of file qgsmaptooledit.cpp.

◆ flags()

Flags QgsMapToolEdit::flags ( ) const
inlineoverridevirtual

Returns the flags for the map tool.

Since
QGIS 2.16

Reimplemented from QgsMapTool.

Definition at line 39 of file qgsmaptooledit.h.

◆ notifyNotEditableLayer()

void QgsMapToolEdit::notifyNotEditableLayer ( )
protected

Display a timed message bar noting the active vector layer is not editable.

Definition at line 171 of file qgsmaptooledit.cpp.

◆ notifyNotVectorLayer()

void QgsMapToolEdit::notifyNotVectorLayer ( )
protected

Display a timed message bar noting the active layer is not vector.

Definition at line 166 of file qgsmaptooledit.cpp.


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