QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
qgsvectorlayerselectionmanager.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvectorlayerselectionmanager.h
3  --------------------------------------
4  Date : 6.6.2013
5  Copyright : (C) 2013 Matthias Kuhn
6  Email : matthias at opengis dot ch
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 QGSVECTORLAYERSELECTIONMANAGER_H
17 #define QGSVECTORLAYERSELECTIONMANAGER_H
18 
20 #include "qgis_gui.h"
21 
22 
24 
25 class QgsVectorLayer;
26 
33 {
34  Q_OBJECT
35 
36  public:
37  explicit QgsVectorLayerSelectionManager( QgsVectorLayer *layer, QObject *parent = nullptr );
38 
39  int selectedFeatureCount() override;
40  void select( const QgsFeatureIds &ids ) override;
41  void deselect( const QgsFeatureIds &ids ) override;
42  void setSelectedFeatures( const QgsFeatureIds &ids ) override;
43  const QgsFeatureIds &selectedFeatureIds() const override;
44 
48  QgsVectorLayer *layer() const;
49 
50  private slots:
51 
59  virtual void onSelectionChanged( const QgsFeatureIds &selected, const QgsFeatureIds &deselected, bool clearAndSelect );
60 
61  private:
62  QgsVectorLayer *mLayer = nullptr;
63 };
64 
65 #endif // QGSVECTORLAYERSELECTIONMANAGER_H
Is an interface class to abstract feature selection handling.
virtual void select(const QgsFeatureIds &ids)=0
Select features by feature ids.
virtual int selectedFeatureCount()=0
Returns the number of features that are selected in this layer.
virtual const QgsFeatureIds & selectedFeatureIds() const =0
Returns reference to identifiers of selected features.
virtual void deselect(const QgsFeatureIds &ids)=0
Deselect features by feature ids.
virtual void setSelectedFeatures(const QgsFeatureIds &ids)=0
Change selection to the new set of features.
Represents a vector layer which manages a vector based data sets.
#define SIP_NO_FILE
QSet< QgsFeatureId > QgsFeatureIds
Definition: qgsfeatureid.h:37