Skip to content

Commit 8bfeb8f

Browse files
committedMay 25, 2017
QgsVectorLayer, QgsVectorDataProvider are QgsFeatureSources
1 parent ce063b8 commit 8bfeb8f

File tree

4 files changed

+9
-6
lines changed

4 files changed

+9
-6
lines changed
 

‎python/core/qgsvectordataprovider.sip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ typedef QHash<int, QString> QgsAttrPalIndexNameHash;
1313

1414

1515

16-
class QgsVectorDataProvider : QgsDataProvider, QgsFeatureSink
16+
class QgsVectorDataProvider : QgsDataProvider, QgsFeatureSink, QgsFeatureSource
1717
{
1818
%Docstring
1919
This is the base class for vector data providers.

‎python/core/qgsvectorlayer.sip

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ typedef QList<int> QgsAttributeList;
1717
typedef QSet<int> QgsAttributeIds;
1818

1919

20-
class QgsVectorLayer : QgsMapLayer, QgsExpressionContextGenerator, QgsFeatureSink
20+
class QgsVectorLayer : QgsMapLayer, QgsExpressionContextGenerator, QgsFeatureSink, QgsFeatureSource
2121
{
2222
%Docstring
2323
Represents a vector layer which manages a vector based data sets.
@@ -890,7 +890,8 @@ Return the provider type for this layer
890890
:rtype: str
891891
%End
892892

893-
QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const;
893+
virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const;
894+
894895
%Docstring
895896
Query the layer for features specified in request.
896897
\param request feature request describing parameters of features to return

‎src/core/qgsvectordataprovider.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class QTextCodec;
3131
#include "qgsmaplayerdependency.h"
3232
#include "qgsrelation.h"
3333
#include "qgsfeaturesink.h"
34+
#include "qgsfeaturesource.h"
3435

3536
typedef QList<int> QgsAttributeList SIP_SKIP;
3637
typedef QSet<int> QgsAttributeIds SIP_SKIP;
@@ -50,7 +51,7 @@ class QgsFeedback;
5051
*
5152
*
5253
*/
53-
class CORE_EXPORT QgsVectorDataProvider : public QgsDataProvider, public QgsFeatureSink
54+
class CORE_EXPORT QgsVectorDataProvider : public QgsDataProvider, public QgsFeatureSink, public QgsFeatureSource
5455
{
5556
Q_OBJECT
5657

‎src/core/qgsvectorlayer.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "qgsmaplayer.h"
3232
#include "qgsfeature.h"
3333
#include "qgsfeaturerequest.h"
34+
#include "qgsfeaturesource.h"
3435
#include "qgsfields.h"
3536
#include "qgsvectordataprovider.h"
3637
#include "qgsvectorsimplifymethod.h"
@@ -346,7 +347,7 @@ typedef QSet<int> QgsAttributeIds;
346347
* TODO QGIS3: Remove virtual from non-inherited methods (like isModified)
347348
* \see QgsVectorLayerUtils()
348349
*/
349-
class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionContextGenerator, public QgsFeatureSink
350+
class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionContextGenerator, public QgsFeatureSink, public QgsFeatureSource
350351
{
351352
Q_OBJECT
352353

@@ -859,7 +860,7 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionConte
859860
* \param request feature request describing parameters of features to return
860861
* \returns iterator for matching features from provider
861862
*/
862-
QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const;
863+
QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const override;
863864

864865
/**
865866
* Query the layer for features matching a given expression.

0 commit comments

Comments
 (0)
Please sign in to comment.