QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgsvectorlayerselectionmanager.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvectorlayerselectionmanager.cpp
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 
17 
18 #include "qgsvectorlayer.h"
19 
21  : QgsIFeatureSelectionManager( parent )
22  , mLayer( layer )
23 {
24  connect( mLayer, &QgsVectorLayer::selectionChanged, this, &QgsVectorLayerSelectionManager::onSelectionChanged );
25 }
26 
28 {
29  return mLayer->selectedFeatureCount();
30 }
31 
33 {
34  mLayer->select( ids );
35 }
36 
38 {
39  mLayer->deselect( ids );
40 }
41 
43 {
44  mLayer->selectByIds( ids );
45 }
46 
48 {
49  return mLayer->selectedFeatureIds();
50 }
51 
53 {
54  return mLayer;
55 }
56 
57 void QgsVectorLayerSelectionManager::onSelectionChanged( const QgsFeatureIds &selected, const QgsFeatureIds &deselected, bool clearAndSelect )
58 {
59  emit selectionChanged( selected, deselected, clearAndSelect );
60 }
Is an interface class to abstract feature selection handling.
void selectionChanged(const QgsFeatureIds &selected, const QgsFeatureIds &deselected, bool clearAndSelect)
Emitted when selection was changed.
QgsVectorLayerSelectionManager(QgsVectorLayer *layer, QObject *parent=nullptr)
void deselect(const QgsFeatureIds &ids) override
Deselect features by feature ids.
int selectedFeatureCount() override
Returns the number of features that are selected in this layer.
QgsVectorLayer * layer() const
Returns the vector layer.
void setSelectedFeatures(const QgsFeatureIds &ids) override
Change selection to the new set of features.
const QgsFeatureIds & selectedFeatureIds() const override
Returns reference to identifiers of selected features.
void select(const QgsFeatureIds &ids) override
Select features by feature ids.
Represents a vector layer which manages a vector based data sets.
void deselect(QgsFeatureId featureId)
Deselects feature by its ID.
int selectedFeatureCount() const
Returns the number of features that are selected in this layer.
Q_INVOKABLE const QgsFeatureIds & selectedFeatureIds() const
Returns a list of the selected features IDs in this layer.
void select(QgsFeatureId featureId)
Selects feature by its ID.
void selectionChanged(const QgsFeatureIds &selected, const QgsFeatureIds &deselected, bool clearAndSelect)
Emitted when selection was changed.
Q_INVOKABLE void selectByIds(const QgsFeatureIds &ids, QgsVectorLayer::SelectBehavior behavior=QgsVectorLayer::SetSelection)
Selects matching features using a list of feature IDs.
QSet< QgsFeatureId > QgsFeatureIds
Definition: qgsfeatureid.h:37