QGIS/python/gui/attributetable/qgsifeatureselectionmanager.sip
Matthias Kuhn 331f71acba [attrtable] Selection model and request filter
* 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.
2013-10-07 16:17:42 +02:00

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 );
};