QGIS API Documentation  3.14.0-Pi (9f7028fd23)
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 
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 
103 
105 
106 #endif // QGSQUICKFEATURELAYERPAIR_H
qgsfeature.h
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QgsMeshTimeSettings)
QgsQuickFeatureLayerPairs
QList< QgsQuickFeatureLayerPair > QgsQuickFeatureLayerPairs
Definition: qgsquickfeaturelayerpair.h:102
QgsVectorLayer
Definition: qgsvectorlayer.h:385
QgsQuickFeatureLayerPair
Definition: qgsquickfeaturelayerpair.h:40
QgsFeature
Definition: qgsfeature.h:55