QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Slots | Signals | Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
QgsFeatureSelectionModel Class Reference

#include <qgsfeatureselectionmodel.h>

Inheritance diagram for QgsFeatureSelectionModel:
Inheritance graph
[legend]
Collaboration diagram for QgsFeatureSelectionModel:
Collaboration graph
[legend]

Public Slots

virtual void select (const QModelIndex &index, SelectionFlags command)
 Overwritten to do NOTHING (we handle selection ourselves) More...
 
virtual void select (const QItemSelection &selection, SelectionFlags command)
 Overwritten to do NOTHING (we handle selection ourselves) More...
 
virtual void selectFeatures (const QItemSelection &selection, SelectionFlags command)
 Select features on this table. More...
 
virtual void setFeatureSelectionManager (QgsIFeatureSelectionManager *featureSelectionManager)
 

Signals

void requestRepaint (QModelIndexList indexes)
 Request a repaint of a list of model indexes. More...
 
void requestRepaint ()
 Request a repaint of the visible items of connected views. More...
 

Public Member Functions

 QgsFeatureSelectionModel (QAbstractItemModel *model, QgsFeatureModel *featureModel, QgsIFeatureSelectionManager *featureSelectionHandler, QObject *parent)
 
void enableSync (bool enable)
 Enables or disables synchronisation to the QgsVectorLayer When synchronisation is disabled, any selection change will be buffered inside this selection model. More...
 
virtual bool isSelected (QgsFeatureId fid)
 Returns the selection status of a given feature id. More...
 
virtual bool isSelected (const QModelIndex &index)
 Returns the selection status of a given QModelIndex. More...
 

Private Slots

virtual void layerSelectionChanged (QgsFeatureIds selected, QgsFeatureIds deselected, bool clearAndSelect)
 

Private Member Functions

QModelIndexList expandIndexToRow (const QModelIndex &index) const
 

Private Attributes

QgsFeatureModelmFeatureModel
 
QgsIFeatureSelectionManagermFeatureSelectionManager
 
bool mSyncEnabled
 
QgsFeatureIds mSelectedBuffer
 If sync is disabled Holds a list of newly selected features which will be synced when re-enabled. More...
 
QgsFeatureIds mDeselectedBuffer
 If sync is disabled Holds a list of newly deselected features which will be synced when re-enabled. More...
 
bool mClearAndSelectBuffer
 If sync is disabled Is set to true, if a clear and select operation should be performed before syncing. More...
 

Detailed Description

Definition at line 12 of file qgsfeatureselectionmodel.h.

Constructor & Destructor Documentation

QgsFeatureSelectionModel::QgsFeatureSelectionModel ( QAbstractItemModel *  model,
QgsFeatureModel featureModel,
QgsIFeatureSelectionManager featureSelectionHandler,
QObject *  parent 
)
explicit

Definition at line 8 of file qgsfeatureselectionmodel.cpp.

References setFeatureSelectionManager().

Member Function Documentation

void QgsFeatureSelectionModel::enableSync ( bool  enable)

Enables or disables synchronisation to the QgsVectorLayer When synchronisation is disabled, any selection change will be buffered inside this selection model.

When enabled, any buffered changes are communicated to the layer and the buffer is emptied. Mainly to be used for performance reasons, because selection change on the layer can cost time as it repaints the layer.

Parameters
enableThe synchronisation status to set.

Definition at line 17 of file qgsfeatureselectionmodel.cpp.

References QgsIFeatureSelectionManager::deselect(), mClearAndSelectBuffer, mDeselectedBuffer, mFeatureSelectionManager, mSelectedBuffer, mSyncEnabled, QgsIFeatureSelectionManager::select(), and QgsIFeatureSelectionManager::setSelectedFeatures().

Referenced by QgsAttributeTableView::eventFilter(), QgsFeatureListView::mousePressEvent(), and QgsFeatureListView::mouseReleaseEvent().

QModelIndexList QgsFeatureSelectionModel::expandIndexToRow ( const QModelIndex &  index) const
private

Definition at line 165 of file qgsfeatureselectionmodel.cpp.

Referenced by layerSelectionChanged(), and selectFeatures().

bool QgsFeatureSelectionModel::isSelected ( QgsFeatureId  fid)
virtual

Returns the selection status of a given feature id.

Parameters
fidThe featureid to determine the selection status of
Returns
The selection status

Definition at line 39 of file qgsfeatureselectionmodel.cpp.

References mClearAndSelectBuffer, mDeselectedBuffer, mFeatureSelectionManager, mSelectedBuffer, and QgsIFeatureSelectionManager::selectedFeaturesIds().

Referenced by isSelected(), QgsFeatureListViewDelegate::paint(), QgsAttributeTableDelegate::paint(), QgsAttributeTableView::selectRow(), and QgsFeatureListView::selectRow().

bool QgsFeatureSelectionModel::isSelected ( const QModelIndex &  index)
virtual

Returns the selection status of a given QModelIndex.

Parameters
indexThe index to determine the selection status of
Returns
The selection status

Definition at line 53 of file qgsfeatureselectionmodel.cpp.

References QgsAttributeTableModel::FeatureIdRole, and isSelected().

void QgsFeatureSelectionModel::layerSelectionChanged ( QgsFeatureIds  selected,
QgsFeatureIds  deselected,
bool  clearAndSelect 
)
privatevirtualslot
void QgsFeatureSelectionModel::requestRepaint ( QModelIndexList  indexes)
signal

Request a repaint of a list of model indexes.

Views using this model should connect to and properly process this signal.

Parameters
indexesThe model indexes which need to be repainted
void QgsFeatureSelectionModel::requestRepaint ( )
signal

Request a repaint of the visible items of connected views.

Views using this model should connect to and properly process this signal.

Referenced by layerSelectionChanged(), and selectFeatures().

virtual void QgsFeatureSelectionModel::select ( const QModelIndex &  index,
SelectionFlags  command 
)
inlinevirtualslot

Overwritten to do NOTHING (we handle selection ourselves)

See also
selectFeatures( const QItemSelection&, SelectionFlags )

Definition at line 68 of file qgsfeatureselectionmodel.h.

virtual void QgsFeatureSelectionModel::select ( const QItemSelection &  selection,
SelectionFlags  command 
)
inlinevirtualslot

Overwritten to do NOTHING (we handle selection ourselves)

See also
selectFeatures( const QItemSelection&, SelectionFlags )

Definition at line 75 of file qgsfeatureselectionmodel.h.

void QgsFeatureSelectionModel::selectFeatures ( const QItemSelection &  selection,
SelectionFlags  command 
)
virtualslot

Select features on this table.

Is to be used in favor of the stock select methods.

Parameters
selectionThe QItemSelection which will be selected
commandThe command to apply. Select, Deselect and ClearAndSelect are processed.

Definition at line 58 of file qgsfeatureselectionmodel.cpp.

References QgsIFeatureSelectionManager::deselect(), expandIndexToRow(), QgsAttributeTableModel::FeatureIdRole, index, layerSelectionChanged(), mClearAndSelectBuffer, mDeselectedBuffer, mFeatureSelectionManager, mSelectedBuffer, mSyncEnabled, requestRepaint(), QgsIFeatureSelectionManager::select(), and QgsIFeatureSelectionManager::setSelectedFeatures().

Referenced by QgsAttributeTableView::selectAll(), QgsFeatureListView::selectAll(), QgsAttributeTableView::selectRow(), and QgsFeatureListView::selectRow().

void QgsFeatureSelectionModel::setFeatureSelectionManager ( QgsIFeatureSelectionManager featureSelectionManager)
virtualslot

Member Data Documentation

bool QgsFeatureSelectionModel::mClearAndSelectBuffer
private

If sync is disabled Is set to true, if a clear and select operation should be performed before syncing.

Definition at line 108 of file qgsfeatureselectionmodel.h.

Referenced by enableSync(), isSelected(), and selectFeatures().

QgsFeatureIds QgsFeatureSelectionModel::mDeselectedBuffer
private

If sync is disabled Holds a list of newly deselected features which will be synced when re-enabled.

Definition at line 104 of file qgsfeatureselectionmodel.h.

Referenced by enableSync(), isSelected(), and selectFeatures().

QgsFeatureModel* QgsFeatureSelectionModel::mFeatureModel
private

Definition at line 94 of file qgsfeatureselectionmodel.h.

Referenced by layerSelectionChanged().

QgsIFeatureSelectionManager* QgsFeatureSelectionModel::mFeatureSelectionManager
private
QgsFeatureIds QgsFeatureSelectionModel::mSelectedBuffer
private

If sync is disabled Holds a list of newly selected features which will be synced when re-enabled.

Definition at line 100 of file qgsfeatureselectionmodel.h.

Referenced by enableSync(), isSelected(), and selectFeatures().

bool QgsFeatureSelectionModel::mSyncEnabled
private

Definition at line 96 of file qgsfeatureselectionmodel.h.

Referenced by enableSync(), and selectFeatures().


The documentation for this class was generated from the following files: