QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
qgsvectordataproviderfeaturepool.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvectordataproviderfeaturepool.h
3  --------------------------------------
4 Date : 3.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 QGSVECTORDATAPROVIDERFEATUREPOOL_H
17 #define QGSVECTORDATAPROVIDERFEATUREPOOL_H
18 
19 #include "qgsfeaturepool.h"
20 #include "qgsvectorlayer.h"
21 
22 #define SIP_NO_FILE
23 
30 class ANALYSIS_EXPORT QgsVectorDataProviderFeaturePool : public QgsFeaturePool
31 {
32  public:
33 
38  QgsVectorDataProviderFeaturePool( QgsVectorLayer *layer, bool selectedOnly = false );
39 
40  bool addFeature( QgsFeature &feature, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) override;
41  bool addFeatures( QgsFeatureList &features, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) override;
42  void updateFeature( QgsFeature &feature ) override;
43  void deleteFeature( QgsFeatureId fid ) override;
44 
45  private:
46  bool mSelectedOnly = false;
47 };
48 
49 #endif // QGSVECTORDATAPROVIDERFEATUREPOOL_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 feature pool based on a vector data provider.
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