QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgsquickfeaturelayerpair.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsquickfeaturelayerpair.h
3  ---------------------------
4  Date : Nov 2017
5  Copyright : (C) 2017 by Peter Petrik
6  Email : zilolv at gmail dot com
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 QGSQUICKFEATURELAYERPAIR_H
17 #define QGSQUICKFEATURELAYERPAIR_H
18 
19 #include <QObject>
20 
21 #include "qgsfeature.h"
22 
23 #include "qgis_quick.h"
24 
25 class QgsVectorLayer;
26 
40 class QUICK_EXPORT QgsQuickFeatureLayerPair
41 {
42  Q_GADGET
43 
49  Q_PROPERTY( QgsVectorLayer *layer READ layer )
50 
51 
56  Q_PROPERTY( QgsFeature feature READ feature )
57 
58 
67  Q_PROPERTY( bool valid READ isValid )
68 
69  public:
72 
78  QgsQuickFeatureLayerPair( const QgsFeature &feature, QgsVectorLayer *layer );
79 
81  QgsVectorLayer *layer() const;
82 
84  QgsFeature feature() const;
85 
87  QgsFeature &featureRef();
88 
90  bool isValid() const;
91 
92  bool operator==( const QgsQuickFeatureLayerPair &other ) const;
93  bool operator!=( const QgsQuickFeatureLayerPair &other ) const;
94 
95  private:
96  bool hasValidGeometry() const;
97 
98  QgsVectorLayer *mLayer = nullptr; // not owned
99  QgsFeature mFeature;
100 };
101 
102 typedef QList<QgsQuickFeatureLayerPair> QgsQuickFeatureLayerPairs;
103 
105 
106 #endif // QGSQUICKFEATURELAYERPAIR_H
operator==
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition: qgsfeatureiterator.h:400
qgsfeature.h
QgsQuickFeatureLayerPair::QgsQuickFeatureLayerPair
QgsQuickFeatureLayerPair()
Constructs invalid feature-layer pair.
operator!=
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition: qgsfeatureiterator.h:405
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QgsMeshTimeSettings)
QgsQuickFeatureLayerPairs
QList< QgsQuickFeatureLayerPair > QgsQuickFeatureLayerPairs
Definition: qgsquickfeaturelayerpair.h:102
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition: qgsvectorlayer.h:387
QgsQuickFeatureLayerPair
Pair of QgsFeature and QgsVectorLayer.
Definition: qgsquickfeaturelayerpair.h:41
QgsFeature
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition: qgsfeature.h:56