mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
* With a selection model, the way the attribute table handles selections can be customized. E.g. synchronized to layer selection or used to pick features. * With request filters, the visible features on an attribute table can be limited. This will effectively reduce the subset of features the attribute table works on. Additional filters by means of a proxy model can of course further reduce the visible subset subsequently.
78 lines
2.8 KiB
Plaintext
78 lines
2.8 KiB
Plaintext
/***************************************************************************
|
|
qgsifeatureselectionmanager.sip
|
|
--------------------------------------
|
|
Date : 6.6.2013
|
|
Copyright : (C) 2013 Matthias Kuhn
|
|
Email : matthias dot kuhn at gmx dot ch
|
|
***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
/**
|
|
* Is an interface class to abstract feature selection handling.
|
|
*
|
|
* e.g. @link{QgsVectorLayer} implements this interface to manage its selections.
|
|
*/
|
|
|
|
class QgsIFeatureSelectionManager : QObject
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsifeatureselectionmanager.h>
|
|
%End
|
|
public:
|
|
QgsIFeatureSelectionManager( QObject* parent );
|
|
|
|
/**
|
|
* The number of features that are selected in this layer
|
|
*
|
|
* @return See description
|
|
*/
|
|
virtual int selectedFeatureCount() = 0;
|
|
|
|
/**
|
|
* Select features
|
|
*
|
|
* @param ids Feature ids to select
|
|
*/
|
|
virtual void select( const QgsFeatureIds& ids ) = 0;
|
|
|
|
/**
|
|
* Deselect features
|
|
*
|
|
* @param ids Feature ids to deselect
|
|
*/
|
|
virtual void deselect( const QgsFeatureIds& ids ) = 0;
|
|
|
|
/**
|
|
* Change selection to the new set of features. Dismisses the current selection.
|
|
* Will emit the { @link selectionChanged( QgsFeatureIds, QgsFeatureIds, bool ) } signal with the
|
|
* clearAndSelect flag set.
|
|
*
|
|
* @param ids The ids which will be the new selection
|
|
*/
|
|
virtual void setSelectedFeatures( const QgsFeatureIds& ids ) = 0;
|
|
|
|
/**
|
|
* Return reference to identifiers of selected features
|
|
*
|
|
* @return A list of { @link QgsFeatureId } 's
|
|
* @see selectedFeatures()
|
|
*/
|
|
virtual const QgsFeatureIds &selectedFeaturesIds() const = 0;
|
|
|
|
signals:
|
|
/**
|
|
* This signal is emitted when selection was changed
|
|
*
|
|
* @param selected Newly selected feature ids
|
|
* @param deselected Ids of all features which have previously been selected but are not any more
|
|
* @param clearAndSelect In case this is set to true, the old selection was dismissed and the new selection corresponds to selected
|
|
*/
|
|
void selectionChanged( const QgsFeatureIds selected, const QgsFeatureIds deselected, const bool clearAndSelect );
|
|
};
|