QGIS API Documentation  2.99.0-Master (9fdd060)
Public Member Functions | 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)
 
double defaultZValue () const
 Return default Z value Use for set Z coordinate to new vertex for 2.5d geometries. More...
 
virtual Flags flags () const override
 Returns the flags for the map tool. More...
 
- Public Member Functions inherited from QgsMapTool
virtual ~QgsMapTool ()
 
QAction * action ()
 Return associated action with map tool or NULL if no action is associated. More...
 
virtual void activate ()
 called when set as currently active map tool More...
 
QAbstractButton * button ()
 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 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 void deactivate ()
 called when map tool is being deactivated More...
 
virtual bool gestureEvent (QGestureEvent *e)
 gesture event for overriding. Default implementation does nothing. 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...
 
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...
 

Protected Member Functions

int addTopologicalPoints (const QList< QgsPointXY > &geom)
 Adds vertices to other features to keep topology up to date, e.g. More...
 
QgsGeometryRubberBandcreateGeometryRubberBand (QgsWkbTypes::GeometryType geometryType=QgsWkbTypes::LineGeometry, bool alternativeBand=false) const
 
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 map canvas as a parameter More...
 
QPoint toCanvasCoordinates (const QgsPointXY &point)
 transformation from map coordinates to screen coordinates More...
 
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, QPoint point)
 transformation from screen coordinates to layer's coordinates More...
 
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 transformation from map coordinates to layer's coordinates More...
 
QgsRectangle toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect)
 trnasformation of the rect from map coordinates to layer's coordinates More...
 
QgsPointXY toMapCoordinates (QPoint point)
 transformation from screen coordinates to map coordinates More...
 
QgsPointXY toMapCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More...
 
QgsPoint toMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 transformation from layer's 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 }
 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...
 
- Protected Attributes inherited from QgsMapTool
QAction * mAction = nullptr
 optionally map tool can have pointer to action which will be used to set that action as active More...
 
QAbstractButton * mButton = nullptr
 optionally map tool can have pointer to a button which will be used to set that action as active More...
 
QgsMapCanvasmCanvas = nullptr
 pointer to map canvas More...
 
QCursor mCursor
 cursor used in map tool More...
 
QString mToolName
 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.

Constructor & Destructor Documentation

◆ QgsMapToolEdit()

QgsMapToolEdit::QgsMapToolEdit ( QgsMapCanvas canvas)

Definition at line 27 of file qgsmaptooledit.cpp.

Member Function Documentation

◆ addTopologicalPoints()

int QgsMapToolEdit::addTopologicalPoints ( const QList< QgsPointXY > &  geom)
protected

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

to neighbouring polygons.

Parameters
geomlist of points (in layer coordinate system)
Returns
0 in case of success

Definition at line 95 of file qgsmaptooledit.cpp.

◆ createGeometryRubberBand()

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

Definition at line 118 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 68 of file qgsmaptooledit.cpp.

◆ currentVectorLayer()

QgsVectorLayer * QgsMapToolEdit::currentVectorLayer ( )
protected

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

Definition at line 89 of file qgsmaptooledit.cpp.

◆ defaultZValue()

double QgsMapToolEdit::defaultZValue ( ) const

Return default Z value Use for set Z coordinate to new vertex for 2.5d geometries.

Definition at line 32 of file qgsmaptooledit.cpp.

◆ digitizingFillColor()

QColor QgsMapToolEdit::digitizingFillColor ( )
staticprotected

Returns fill color for rubber bands (from global settings)

Definition at line 55 of file qgsmaptooledit.cpp.

◆ digitizingStrokeColor()

QColor QgsMapToolEdit::digitizingStrokeColor ( )
staticprotected

Returns stroke color for rubber bands (from global settings)

Definition at line 37 of file qgsmaptooledit.cpp.

◆ digitizingStrokeWidth()

int QgsMapToolEdit::digitizingStrokeWidth ( )
staticprotected

Returns stroke width for rubber bands (from global settings)

Definition at line 49 of file qgsmaptooledit.cpp.

◆ flags()

virtual 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 143 of file qgsmaptooledit.cpp.

◆ notifyNotVectorLayer()

void QgsMapToolEdit::notifyNotVectorLayer ( )
protected

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

Definition at line 138 of file qgsmaptooledit.cpp.


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