QGIS API Documentation
2.6.0-Brighton
|
A model backed by a QgsVectorLayerCache which is able to provide feature/attribute information to a QAbstractItemView. More...
#include <qgsattributetablemodel.h>
Public Types | |
enum | Role { SortRole = Qt::UserRole + 1, FeatureIdRole = Qt::UserRole + 2, FieldIndexRole = Qt::UserRole + 3 } |
Signals | |
void | modelChanged () |
Model has been changed. | |
void | progress (int i, bool &cancel) |
void | finished () |
Public Member Functions | |
QgsAttributeTableModel (QgsVectorLayerCache *layerCache, QObject *parent=0) | |
Constructor. | |
virtual void | loadLayer () |
Loads the layer into the model Preferably to be called, before basing any other models on this model. | |
virtual int | rowCount (const QModelIndex &parent=QModelIndex()) const |
Returns the number of rows. | |
int | columnCount (const QModelIndex &parent=QModelIndex()) const |
Returns the number of columns. | |
QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const |
Returns header data. | |
virtual QVariant | data (const QModelIndex &index, int role) const |
Returns data on the given index. | |
virtual bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) |
Updates data on given index. | |
Qt::ItemFlags | flags (const QModelIndex &index) const |
Returns item flags for the index. | |
void | reload (const QModelIndex &index1, const QModelIndex &index2) |
Reloads the model data between indices. | |
bool | removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) |
Remove rows. | |
void | resetModel () |
Resets the model. | |
int | idToRow (QgsFeatureId id) const |
Maps feature id to table row. | |
QModelIndex | idToIndex (QgsFeatureId id) const |
QModelIndexList | idToIndexList (QgsFeatureId id) const |
int | fieldIdx (int col) const |
get field index from column | |
int | fieldCol (int idx) const |
get column from field index | |
QgsFeatureId | rowToId (int row) const |
Maps row to feature id. | |
void | swapRows (QgsFeatureId a, QgsFeatureId b) |
Swaps two rows. | |
QgsVectorLayer * | layer () const |
Returns the layer this model uses as backend. | |
QgsVectorLayerCache * | layerCache () const |
Returns the layer cache this model uses as backend. | |
void | executeAction (int action, const QModelIndex &idx) const |
Execute an action. | |
void | executeMapLayerAction (QgsMapLayerAction *action, const QModelIndex &idx) const |
Execute a QgsMapLayerAction. | |
QgsFeature | feature (const QModelIndex &idx) const |
Return the feature attributes at given model index. | |
void | prefetchColumnData (int column) |
Caches the entire data for one column. | |
void | setRequest (const QgsFeatureRequest &request) |
Set a request that will be used to fill this attribute table model. | |
void | setEditorContext (const QgsAttributeEditorContext &context) |
Sets the context in which this table is shown. | |
const QgsAttributeEditorContext & | editorContext () const |
Returns the context in which this table is shown. |
Protected Slots | |
virtual void | attributeValueChanged (QgsFeatureId fid, int idx, const QVariant &value) |
Launched when attribute value has been changed. | |
virtual void | featureDeleted (QgsFeatureId fid) |
Launched when a feature has been deleted. | |
virtual void | featureAdded (QgsFeatureId fid) |
Launched when a feature has been added. | |
virtual void | layerDeleted () |
Launched when layer has been deleted. |
Protected Member Functions | |
virtual void | loadAttributes () |
Gets mFieldCount, mAttributes and mValueMaps. |
Protected Attributes | |
QgsVectorLayerCache * | mLayerCache |
int | mFieldCount |
QgsFeature | mFeat |
QgsAttributeList | mAttributes |
QVector< QgsEditorWidgetFactory * > | mWidgetFactories |
QVector< QVariant > | mAttributeWidgetCaches |
QVector< QgsEditorWidgetConfig > | mWidgetConfigs |
QHash< QgsFeatureId, int > | mIdRowMap |
QHash< int, QgsFeatureId > | mRowIdMap |
A model backed by a QgsVectorLayerCache which is able to provide feature/attribute information to a QAbstractItemView.
Is able to generate editor widgets for its QModelIndexes as well. Is mostly referred to as "master model" within this doc and the source.
QgsAttributeTableModel::QgsAttributeTableModel | ( | QgsVectorLayerCache * | layerCache, |
QObject * | parent = 0 |
||
) |
Constructor.
layerCache | A layer cache to use as backend |
parent | The parent QObject (owner) |
|
protectedvirtualslot |
Launched when attribute value has been changed.
fid | feature id |
idx | attribute index |
value | new value |
int QgsAttributeTableModel::columnCount | ( | const QModelIndex & | parent = QModelIndex() | ) | const |
Returns the number of columns.
parent | parent index |
|
virtual |
Returns data on the given index.
index | model index |
role | data role |
|
inline |
Returns the context in which this table is shown.
Will be forwarded to any editor widget created when editing data on this model.
void QgsAttributeTableModel::executeAction | ( | int | action, |
const QModelIndex & | idx | ||
) | const |
Execute an action.
void QgsAttributeTableModel::executeMapLayerAction | ( | QgsMapLayerAction * | action, |
const QModelIndex & | idx | ||
) | const |
Execute a QgsMapLayerAction.
QgsFeature QgsAttributeTableModel::feature | ( | const QModelIndex & | idx | ) | const |
Return the feature attributes at given model index.
|
protectedvirtualslot |
Launched when a feature has been added.
fid | feature id |
|
protectedvirtualslot |
Launched when a feature has been deleted.
fid | feature id |
int QgsAttributeTableModel::fieldCol | ( | int | idx | ) | const |
get column from field index
int QgsAttributeTableModel::fieldIdx | ( | int | col | ) | const |
get field index from column
|
signal |
Qt::ItemFlags QgsAttributeTableModel::flags | ( | const QModelIndex & | index | ) | const |
Returns item flags for the index.
index | model index |
QVariant QgsAttributeTableModel::headerData | ( | int | section, |
Qt::Orientation | orientation, | ||
int | role = Qt::DisplayRole |
||
) | const |
Returns header data.
section | required section |
orientation | horizontal or vertical orientation |
role | data role |
QModelIndex QgsAttributeTableModel::idToIndex | ( | QgsFeatureId | id | ) | const |
QModelIndexList QgsAttributeTableModel::idToIndexList | ( | QgsFeatureId | id | ) | const |
int QgsAttributeTableModel::idToRow | ( | QgsFeatureId | id | ) | const |
Maps feature id to table row.
id | feature id |
|
inline |
Returns the layer this model uses as backend.
Retrieved from the layer cache.
|
inline |
Returns the layer cache this model uses as backend.
|
protectedvirtualslot |
Launched when layer has been deleted.
|
protectedvirtual |
Gets mFieldCount, mAttributes and mValueMaps.
|
virtual |
Loads the layer into the model Preferably to be called, before basing any other models on this model.
|
signal |
Model has been changed.
void QgsAttributeTableModel::prefetchColumnData | ( | int | column | ) |
Caches the entire data for one column.
This should be called prior to sorting, so the data does not have to be fetched for every single comparison. Specify -1 as column to invalidate the cache
column | The column index of the field to catch |
|
signal |
void QgsAttributeTableModel::reload | ( | const QModelIndex & | index1, |
const QModelIndex & | index2 | ||
) |
Reloads the model data between indices.
index1 | start index |
index2 | end index |
bool QgsAttributeTableModel::removeRows | ( | int | row, |
int | count, | ||
const QModelIndex & | parent = QModelIndex() |
||
) |
Remove rows.
void QgsAttributeTableModel::resetModel | ( | ) |
Resets the model.
|
virtual |
Returns the number of rows.
parent | parent index |
QgsFeatureId QgsAttributeTableModel::rowToId | ( | int | row | ) | const |
Maps row to feature id.
row | row number |
|
virtual |
Updates data on given index.
index | model index |
value | new data value |
role | data role |
|
inline |
Sets the context in which this table is shown.
Will be forwarded to any editor widget created when editing data on this model.
context | The context |
void QgsAttributeTableModel::setRequest | ( | const QgsFeatureRequest & | request | ) |
Set a request that will be used to fill this attribute table model.
In contrast to a filter, the request will constrain the data shown without the possibility to dynamically adjust it.
request | The request to use to fill this table model. |
void QgsAttributeTableModel::swapRows | ( | QgsFeatureId | a, |
QgsFeatureId | b | ||
) |
Swaps two rows.
a | first row |
b | second row |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |