QGIS API Documentation  3.18.1-Zürich (202f1bf7e5)
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 
98  bool isValid() const;
99 
100  bool operator==( const QgsQuickFeatureLayerPair &other ) const;
101  bool operator!=( const QgsQuickFeatureLayerPair &other ) const;
102 
103  private:
104  bool hasValidGeometry() const;
105 
106  QgsVectorLayer *mLayer = nullptr; // not owned
107  QgsFeature mFeature;
108 };
109 
110 typedef QList<QgsQuickFeatureLayerPair> QgsQuickFeatureLayerPairs;
111 
113 
114 #endif // QGSQUICKFEATURELAYERPAIR_H
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition: qgsfeature.h:56
Pair of QgsFeature and QgsVectorLayer.
QgsQuickFeatureLayerPair()
Constructs invalid feature-layer pair.
Represents a vector layer which manages a vector based data sets.
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Q_DECLARE_METATYPE(QgsMeshTimeSettings)
QList< QgsQuickFeatureLayerPair > QgsQuickFeatureLayerPairs