QGIS API Documentation  3.23.0-Master (c716e02dd3)
qgsvectorlayerfeaturepool.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvectorlayerfeaturepool.h
3  --------------------------------------
4 Date : 18.9.2018
5 Copyright : (C) 2018 by Matthias Kuhn
6 email : [email protected]
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSVECTORLAYERFEATUREPOOL_H
17 #define QGSVECTORLAYERFEATUREPOOL_H
18 
19 #include "qgsfeaturepool.h"
20 #include "qgsvectorlayer.h"
21 
22 #define SIP_NO_FILE
23 
30 class ANALYSIS_EXPORT QgsVectorLayerFeaturePool : public QObject, public QgsFeaturePool
31 {
32  Q_OBJECT
33 
34  public:
35 
40 
41  bool addFeature( QgsFeature &feature, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) override;
42  bool addFeatures( QgsFeatureList &features, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) override;
43  void updateFeature( QgsFeature &feature ) override;
44  void deleteFeature( QgsFeatureId fid ) override;
45 
46  private slots:
47  void onGeometryChanged( QgsFeatureId fid, const QgsGeometry &geometry );
48  void onFeatureDeleted( QgsFeatureId fid );
49 };
50 
51 #endif // QGSVECTORLAYERFEATUREPOOL_H
A feature pool is based on a vector layer and caches features.
virtual void updateFeature(QgsFeature &feature)=0
Updates a feature in this pool.
virtual void deleteFeature(QgsFeatureId fid)=0
Removes a feature from this pool.
virtual bool addFeature(QgsFeature &feature, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags())
Adds a single feature to the sink.
virtual bool addFeatures(QgsFeatureList &features, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags())=0
Adds a list of features to the sink.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition: qgsfeature.h:56
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:125
A feature pool based on a vector layer.
Represents a vector layer which manages a vector based data sets.
QList< QgsFeature > QgsFeatureList
Definition: qgsfeature.h:882
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
Definition: qgsfeatureid.h:28