QGIS API Documentation  2.0.1-Dufour
 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>

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)
virtual void select (const QItemSelection &selection, SelectionFlags command)
 Overwritten to do NOTHING (we handle selection ourselves)
virtual void selectFeatures (const QItemSelection &selection, SelectionFlags command)
 Select features on this table.

Signals

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

Public Member Functions

 QgsFeatureSelectionModel (QAbstractItemModel *model, QgsFeatureModel *featureModel, QgsVectorLayer *layer, 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.
virtual bool isSelected (QgsFeatureId fid)
 Returns the selection status of a given feature id.
virtual bool isSelected (const QModelIndex &index)
 Returns the selection status of a given QModelIndex.

Private Slots

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

Private Member Functions

QModelIndexList expandIndexToRow (const QModelIndex &index) const

Private Attributes

QgsFeatureModelmFeatureModel
QgsVectorLayermLayer
bool mSyncEnabled
QgsFeatureIds mSelectedBuffer
QgsFeatureIds mDeselectedBuffer
bool mClearAndSelectBuffer

Detailed Description

Definition at line 11 of file qgsfeatureselectionmodel.h.

Constructor & Destructor Documentation

QgsFeatureSelectionModel::QgsFeatureSelectionModel ( QAbstractItemModel *  model,
QgsFeatureModel featureModel,
QgsVectorLayer layer,
QObject *  parent 
)
explicit

Definition at line 7 of file qgsfeatureselectionmodel.cpp.

References layerSelectionChanged(), and mLayer.

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 QgsVectorLayer::deselect(), mClearAndSelectBuffer, mDeselectedBuffer, mLayer, mSelectedBuffer, mSyncEnabled, QgsVectorLayer::select(), and QgsVectorLayer::setSelectedFeatures().

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

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

Definition at line 158 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, mLayer, mSelectedBuffer, and QgsVectorLayer::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 67 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 74 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 QgsVectorLayer::deselect(), expandIndexToRow(), QgsAttributeTableModel::FeatureIdRole, layerSelectionChanged(), mClearAndSelectBuffer, mDeselectedBuffer, mLayer, mSelectedBuffer, mSyncEnabled, requestRepaint(), QgsVectorLayer::select(), and QgsVectorLayer::setSelectedFeatures().

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

Member Data Documentation

bool QgsFeatureSelectionModel::mClearAndSelectBuffer
private

Definition at line 96 of file qgsfeatureselectionmodel.h.

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

QgsFeatureIds QgsFeatureSelectionModel::mDeselectedBuffer
private

Definition at line 95 of file qgsfeatureselectionmodel.h.

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

QgsFeatureModel* QgsFeatureSelectionModel::mFeatureModel
private

Definition at line 91 of file qgsfeatureselectionmodel.h.

Referenced by layerSelectionChanged().

QgsVectorLayer* QgsFeatureSelectionModel::mLayer
private
QgsFeatureIds QgsFeatureSelectionModel::mSelectedBuffer
private

Definition at line 94 of file qgsfeatureselectionmodel.h.

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

bool QgsFeatureSelectionModel::mSyncEnabled
private

Definition at line 93 of file qgsfeatureselectionmodel.h.

Referenced by enableSync(), and selectFeatures().


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