QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
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 }
QgsVectorLayerSelectionManager::QgsVectorLayerSelectionManager
QgsVectorLayerSelectionManager(QgsVectorLayer *layer, QObject *parent=nullptr)
Definition: qgsvectorlayerselectionmanager.cpp:20
QgsVectorLayerSelectionManager::layer
QgsVectorLayer * layer() const
Returns the vector layer.
Definition: qgsvectorlayerselectionmanager.cpp:52
QgsVectorLayer::selectByIds
Q_INVOKABLE void selectByIds(const QgsFeatureIds &ids, QgsVectorLayer::SelectBehavior behavior=QgsVectorLayer::SetSelection)
Selects matching features using a list of feature IDs.
Definition: qgsvectorlayer.cpp:523
qgsvectorlayerselectionmanager.h
QgsVectorLayer::selectionChanged
void selectionChanged(const QgsFeatureIds &selected, const QgsFeatureIds &deselected, bool clearAndSelect)
Emitted when selection was changed.
QgsIFeatureSelectionManager::selectionChanged
void selectionChanged(const QgsFeatureIds &selected, const QgsFeatureIds &deselected, bool clearAndSelect)
Emitted when selection was changed.
QgsVectorLayer::selectedFeatureIds
Q_INVOKABLE const QgsFeatureIds & selectedFeatureIds() const
Returns a list of the selected features IDs in this layer.
Definition: qgsvectorlayer.cpp:3441
QgsFeatureIds
QSet< QgsFeatureId > QgsFeatureIds
Definition: qgsfeatureid.h:37
qgsvectorlayer.h
QgsVectorLayer::deselect
void deselect(QgsFeatureId featureId)
Deselects feature by its ID.
Definition: qgsvectorlayer.cpp:425
QgsVectorLayerSelectionManager::selectedFeatureCount
int selectedFeatureCount() override
Returns the number of features that are selected in this layer.
Definition: qgsvectorlayerselectionmanager.cpp:27
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition: qgsvectorlayer.h:387
QgsVectorLayerSelectionManager::setSelectedFeatures
void setSelectedFeatures(const QgsFeatureIds &ids) override
Change selection to the new set of features.
Definition: qgsvectorlayerselectionmanager.cpp:42
QgsVectorLayerSelectionManager::deselect
void deselect(const QgsFeatureIds &ids) override
Deselect features by feature ids.
Definition: qgsvectorlayerselectionmanager.cpp:37
QgsVectorLayer::select
void select(QgsFeatureId featureId)
Selects feature by its ID.
Definition: qgsvectorlayer.cpp:409
QgsIFeatureSelectionManager
Is an interface class to abstract feature selection handling.
Definition: qgsifeatureselectionmanager.h:32
QgsVectorLayer::selectedFeatureCount
int selectedFeatureCount() const
Returns the number of features that are selected in this layer.
Definition: qgsvectorlayer.cpp:3436
QgsVectorLayerSelectionManager::select
void select(const QgsFeatureIds &ids) override
Select features by feature ids.
Definition: qgsvectorlayerselectionmanager.cpp:32
QgsVectorLayerSelectionManager::selectedFeatureIds
const QgsFeatureIds & selectedFeatureIds() const override
Returns reference to identifiers of selected features.
Definition: qgsvectorlayerselectionmanager.cpp:47