QGIS API Documentation  3.10.0-A Coruña (6c816b4204)
Public Member Functions | List of all members
QgsVectorLayerTools Class Referenceabstract

Methods in this class are used to handle basic operations on vector layers. More...

#include <qgsvectorlayertools.h>

Inheritance diagram for QgsVectorLayerTools:
Inheritance graph
[legend]

Public Member Functions

 QgsVectorLayerTools ()
 
virtual bool addFeature (QgsVectorLayer *layer, const QgsAttributeMap &defaultValues=QgsAttributeMap(), const QgsGeometry &defaultGeometry=QgsGeometry(), QgsFeature *feature=nullptr) const =0
 This method should/will be called, whenever a new feature will be added to the layer. More...
 
virtual bool copyMoveFeatures (QgsVectorLayer *layer, QgsFeatureRequest &request, double dx=0, double dy=0, QString *errorMsg=nullptr, const bool topologicalEditing=false, QgsVectorLayer *topologicalLayer=nullptr) const
 Copy and move features with defined translation. More...
 
virtual bool saveEdits (QgsVectorLayer *layer) const =0
 Should be called, when the features should be committed but the editing session is not ended. More...
 
virtual bool startEditing (QgsVectorLayer *layer) const =0
 This will be called, whenever a vector layer should be switched to edit mode. More...
 
virtual bool stopEditing (QgsVectorLayer *layer, bool allowCancel=true) const =0
 Will be called, when an editing session is ended and the features should be committed. More...
 

Detailed Description

Methods in this class are used to handle basic operations on vector layers.

With an implementation of this class, parts of the application can ask for an operation to be done and the implementation will then take care of it.

Reimplement this class, if you need to have custom checks or GUI elements in your application.

Definition at line 39 of file qgsvectorlayertools.h.

Constructor & Destructor Documentation

◆ QgsVectorLayerTools()

QgsVectorLayerTools::QgsVectorLayerTools ( )

Definition at line 24 of file qgsvectorlayertools.cpp.

Member Function Documentation

◆ addFeature()

virtual bool QgsVectorLayerTools::addFeature ( QgsVectorLayer layer,
const QgsAttributeMap defaultValues = QgsAttributeMap(),
const QgsGeometry defaultGeometry = QgsGeometry(),
QgsFeature feature = nullptr 
) const
pure virtual

This method should/will be called, whenever a new feature will be added to the layer.

Parameters
layerThe layer to which the feature should be added
defaultValuesDefault values for the feature to add
defaultGeometryA default geometry to add to the feature
featureUpdated feature after adding will be written back to this
Returns
true in case of success, false if the operation failed/was aborted

Implemented in QgsTrackedVectorLayerTools.

◆ copyMoveFeatures()

bool QgsVectorLayerTools::copyMoveFeatures ( QgsVectorLayer layer,
QgsFeatureRequest request,
double  dx = 0,
double  dy = 0,
QString *  errorMsg = nullptr,
const bool  topologicalEditing = false,
QgsVectorLayer topologicalLayer = nullptr 
) const
virtual

Copy and move features with defined translation.

Parameters
layerThe layer
requestThe request for the features to be moved. It will be assigned to a new feature request with the newly copied features.
dxThe translation on x
dyThe translation on y
errorMsgIf given, it will contain the error message
topologicalEditingIf true, the function will perform topological editing of the vertices of layer on layer and topologicalLayer
topologicalLayerThe layer where vertices from the moved features of layer will be added
Returns
true if all features could be copied.

Reimplemented in QgsTrackedVectorLayerTools.

Definition at line 28 of file qgsvectorlayertools.cpp.

◆ saveEdits()

virtual bool QgsVectorLayerTools::saveEdits ( QgsVectorLayer layer) const
pure virtual

Should be called, when the features should be committed but the editing session is not ended.

Parameters
layerThe layer to commit
Returns
true if successful

Implemented in QgsTrackedVectorLayerTools.

◆ startEditing()

virtual bool QgsVectorLayerTools::startEditing ( QgsVectorLayer layer) const
pure virtual

This will be called, whenever a vector layer should be switched to edit mode.

Check the providers capability to edit in here. If successful layer->startEditing() will be called and true returned.

Parameters
layerThe layer on which to start an edit session
Returns
true, if the editing session was started

Implemented in QgsTrackedVectorLayerTools.

◆ stopEditing()

virtual bool QgsVectorLayerTools::stopEditing ( QgsVectorLayer layer,
bool  allowCancel = true 
) const
pure virtual

Will be called, when an editing session is ended and the features should be committed.

Appropriate dialogs should be shown like

Parameters
layerThe layer to commit
allowCanceltrue if a cancel button should be offered
Returns
true if successful

Implemented in QgsTrackedVectorLayerTools.


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