QGIS API Documentation  2.14.0-Essen
qgsgenericfeatureselectionmanager.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgsgenericfeatureselectionmanager.cpp
3  --------------------------------------
4  Date : 11.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 
19  : QgsIFeatureSelectionManager( parent )
20 {
21 }
22 
24  : QgsIFeatureSelectionManager( parent )
25  , mSelectedFeatures( initialSelection )
26 {
27 }
28 
30 {
31  return mSelectedFeatures.size();
32 }
33 
35 {
36  mSelectedFeatures += ids;
37  emit selectionChanged( ids, QgsFeatureIds(), false );
38 }
39 
41 {
42  mSelectedFeatures -= ids;
43  emit selectionChanged( QgsFeatureIds(), ids, false );
44 }
45 
47 {
48  QgsFeatureIds selected = mSelectedFeatures - ids;
49  QgsFeatureIds deselected = ids - mSelectedFeatures;
50 
51  mSelectedFeatures = ids;
52  emit selectionChanged( selected, deselected, true );
53 }
54 
56 {
57  return mSelectedFeatures;
58 }
virtual int selectedFeatureCount() override
The number of features that are selected in this layer.
QSet< QgsFeatureId > QgsFeatureIds
Definition: qgsfeature.h:433
int size() const
virtual const QgsFeatureIds & selectedFeaturesIds() const override
Return reference to identifiers of selected features.
virtual void deselect(const QgsFeatureIds &ids) override
Deselect features.
virtual void setSelectedFeatures(const QgsFeatureIds &ids) override
Change selection to the new set of features.
Is an interface class to abstract feature selection handling.
QObject * parent() const
virtual void select(const QgsFeatureIds &ids) override
Select features.
void selectionChanged(const QgsFeatureIds &selected, const QgsFeatureIds &deselected, const bool clearAndSelect)
This signal is emitted when selection was changed.