QGIS API Documentation  3.8.0-Zanzibar (11aff65)
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 = nullptr ) override;
41  bool addFeatures( QgsFeatureList &features, QgsFeatureSink::Flags flags = nullptr ) 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
QList< QgsFeature > QgsFeatureList
Definition: qgsfeature.h:571
qint64 QgsFeatureId
Definition: qgsfeatureid.h:25
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition: qgsfeature.h:55
virtual void updateFeature(QgsFeature &feature)=0
Updates a feature in this pool.
A feature pool based on a vector data provider.
virtual bool addFeature(QgsFeature &feature, QgsFeatureSink::Flags flags=nullptr)
Adds a single feature to the sink.
virtual bool addFeatures(QgsFeatureList &features, QgsFeatureSink::Flags flags=nullptr)=0
Adds a list of features to the sink.
A feature pool is based on a vector layer and caches features.
virtual void deleteFeature(QgsFeatureId fid)=0
Removes a feature from this pool.
Represents a vector layer which manages a vector based data sets.