|
QGIS API Documentation 3.99.0-Master (f78f5286a64)
|
A model backed by a QgsVectorLayerCache which is able to provide feature/attribute information to a QAbstractItemView. More...
#include <qgsattributetablemodel.h>

Public Types | |
| enum class | CustomRole : int { FeatureId = Qt::UserRole , FieldIndex , User , Sort } |
| Custom model roles. More... | |
Public Slots | |
| void | fieldConditionalStyleChanged (const QString &fieldName) |
| Handles updating the model when the conditional style for a field changes. | |
| virtual void | loadLayer () |
| Loads the layer into the model Preferably to be called, before using this model as source for any other proxy model. | |
Signals | |
| void | finished () |
| Emitted when the model has completely loaded all features. | |
| void | modelChanged () |
| Emitted when the model has been changed. | |
| void | progress (int i, bool &cancel) |
Public Member Functions | |
| QgsAttributeTableModel (QgsVectorLayerCache *layerCache, QObject *parent=nullptr) | |
| Constructor. | |
| int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
| Returns the number of columns. | |
| QVariant | data (const QModelIndex &index, int role) const override |
| Returns data on the given index. | |
| const QgsAttributeEditorContext & | editorContext () const |
| Returns the context in which this table is shown. | |
| void | executeAction (QUuid action, const QModelIndex &idx) const |
| Execute an action. | |
| void | executeMapLayerAction (QgsMapLayerAction *action, const QModelIndex &idx, const QgsMapLayerActionContext &context=QgsMapLayerActionContext()) const |
| Execute a QgsMapLayerAction. | |
| int | extraColumns () const |
| Empty extra columns to announce from this model. | |
| QgsFeature | feature (const QModelIndex &idx) const |
| Returns the feature attributes at given model index. | |
| int | fieldCol (int idx) const |
| Gets column from field index. | |
| int | fieldIdx (int col) const |
| Gets field index from column. | |
| Qt::ItemFlags | flags (const QModelIndex &index) const override |
| Returns item flags for the index. | |
| QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override |
| Returns header data. | |
| QModelIndex | idToIndex (QgsFeatureId id) const |
| QModelIndexList | idToIndexList (QgsFeatureId id) const |
| int | idToRow (QgsFeatureId id) const |
| Maps feature id to table row. | |
| QgsVectorLayer * | layer () const |
| Returns the layer this model uses as backend. | |
| QgsVectorLayerCache * | layerCache () const |
| Returns the layer cache this model uses as backend. | |
| void | prefetchColumnData (int column) |
| Caches the entire data for one column. | |
| void | prefetchSortData (const QString &expression, unsigned long cacheIndex=0) |
| Prefetches the entire data for an expression. | |
| void | reload (const QModelIndex &index1, const QModelIndex &index2) |
| Reloads the model data between indices. | |
| bool | removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) override |
| Remove rows. | |
| const QgsFeatureRequest & | request () const |
| Gets the the feature request. | |
| void | resetModel () |
| Resets the model. | |
| int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
| Returns the number of rows. | |
| QgsFeatureId | rowToId (int row) const |
| Maps row to feature id. | |
| bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override |
| Updates data on given index. | |
| void | setEditorContext (const QgsAttributeEditorContext &context) |
| Sets the context in which this table is shown. | |
| void | setExtraColumns (int extraColumns) |
| Empty extra columns to announce from this model. | |
| void | setRequest (const QgsFeatureRequest &request) |
| Set a request that will be used to fill this attribute table model. | |
| void | setShowValidityState (bool show) |
| Sets whether the attribute table will add a visual feedback to cells when an attribute constraint is not met. | |
| bool | showValidityState () const |
| Returns whether the attribute table will add a visual feedback to cells when an attribute constraint is not met. | |
| QString | sortCacheExpression (unsigned long cacheIndex=0) const |
| The expression which was used to fill the sorting cache at index cacheIndex. | |
| void | swapRows (QgsFeatureId a, QgsFeatureId b) |
| Swaps two rows. | |
Friends | |
| class | TestQgsAttributeTable |
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.
Definition at line 49 of file qgsattributetablemodel.h.
|
strong |
Custom model roles.
Definition at line 62 of file qgsattributetablemodel.h.
| QgsAttributeTableModel::QgsAttributeTableModel | ( | QgsVectorLayerCache * | layerCache, |
| QObject * | parent = nullptr |
||
| ) |
Constructor.
| layerCache | A layer cache to use as backend |
| parent | The parent QObject (owner) |
Definition at line 45 of file qgsattributetablemodel.cpp.
|
override |
Returns the number of columns.
| parent | parent index |
Definition at line 630 of file qgsattributetablemodel.cpp.
|
override |
Returns data on the given index.
| index | model index |
| role | data role |
Definition at line 676 of file qgsattributetablemodel.cpp.
|
inline |
Returns the context in which this table is shown.
Will be forwarded to any editor widget created when editing data on this model.
Definition at line 254 of file qgsattributetablemodel.h.
| void QgsAttributeTableModel::executeAction | ( | QUuid | action, |
| const QModelIndex & | idx | ||
| ) | const |
Execute an action.
Definition at line 955 of file qgsattributetablemodel.cpp.
| void QgsAttributeTableModel::executeMapLayerAction | ( | QgsMapLayerAction * | action, |
| const QModelIndex & | idx, | ||
| const QgsMapLayerActionContext & | context = QgsMapLayerActionContext() |
||
| ) | const |
Execute a QgsMapLayerAction.
Definition at line 961 of file qgsattributetablemodel.cpp.
| int QgsAttributeTableModel::extraColumns | ( | ) | const |
Empty extra columns to announce from this model.
Any extra columns need to be implemented by proxy models in front of this model.
Definition at line 110 of file qgsattributetablemodel.cpp.
| QgsFeature QgsAttributeTableModel::feature | ( | const QModelIndex & | idx | ) | const |
Returns the feature attributes at given model index.
Definition at line 970 of file qgsattributetablemodel.cpp.
| int QgsAttributeTableModel::fieldCol | ( | int | idx | ) | const |
Gets column from field index.
Definition at line 619 of file qgsattributetablemodel.cpp.
|
slot |
Handles updating the model when the conditional style for a field changes.
| fieldName | name of field whose conditional style has changed |
Definition at line 527 of file qgsattributetablemodel.cpp.
| int QgsAttributeTableModel::fieldIdx | ( | int | col | ) | const |
Gets field index from column.
Definition at line 614 of file qgsattributetablemodel.cpp.
|
signal |
Emitted when the model has completely loaded all features.
|
override |
Returns item flags for the index.
| index | model index |
Definition at line 847 of file qgsattributetablemodel.cpp.
|
override |
Returns header data.
| section | required section |
| orientation | horizontal or vertical orientation |
| role | data role |
Definition at line 636 of file qgsattributetablemodel.cpp.
| QModelIndex QgsAttributeTableModel::idToIndex | ( | QgsFeatureId | id | ) | const |
Definition at line 582 of file qgsattributetablemodel.cpp.
| QModelIndexList QgsAttributeTableModel::idToIndexList | ( | QgsFeatureId | id | ) | const |
Definition at line 587 of file qgsattributetablemodel.cpp.
| int QgsAttributeTableModel::idToRow | ( | QgsFeatureId | id | ) | const |
Maps feature id to table row.
| id | feature id |
Definition at line 571 of file qgsattributetablemodel.cpp.
|
inline |
Returns the layer this model uses as backend.
Retrieved from the layer cache.
Definition at line 177 of file qgsattributetablemodel.h.
|
inline |
Returns the layer cache this model uses as backend.
Definition at line 182 of file qgsattributetablemodel.h.
|
virtualslot |
Loads the layer into the model Preferably to be called, before using this model as source for any other proxy model.
Definition at line 474 of file qgsattributetablemodel.cpp.
|
signal |
Emitted when the 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 |
Definition at line 983 of file qgsattributetablemodel.cpp.
| void QgsAttributeTableModel::prefetchSortData | ( | const QString & | expression, |
| unsigned long | cacheIndex = 0 |
||
| ) |
Prefetches the entire data for an expression.
Based on this cached information the sorting can later be done in a performant way. A cacheIndex can be specified if multiple caches should be filled. In this case, the caches will be available as QgsAttributeTableModel::SortRole + cacheIndex.
Definition at line 995 of file qgsattributetablemodel.cpp.
|
signal |
| void QgsAttributeTableModel::reload | ( | const QModelIndex & | index1, |
| const QModelIndex & | index2 | ||
| ) |
Reloads the model data between indices.
| index1 | start index |
| index2 | end index |
Definition at line 948 of file qgsattributetablemodel.cpp.
|
override |
Remove rows.
Definition at line 189 of file qgsattributetablemodel.cpp.
| const QgsFeatureRequest & QgsAttributeTableModel::request | ( | ) | const |
Gets the the feature request.
Definition at line 1093 of file qgsattributetablemodel.cpp.
|
inline |
|
override |
Returns the number of rows.
| parent | parent index |
Definition at line 624 of file qgsattributetablemodel.cpp.
| QgsFeatureId QgsAttributeTableModel::rowToId | ( | int | row | ) | const |
Maps row to feature id.
| row | row number |
Definition at line 602 of file qgsattributetablemodel.cpp.
|
override |
Updates data on given index.
| index | model index |
| value | new data value |
| role | data role |
Definition at line 831 of file qgsattributetablemodel.cpp.
|
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 |
Definition at line 246 of file qgsattributetablemodel.h.
| void QgsAttributeTableModel::setExtraColumns | ( | int | extraColumns | ) |
Empty extra columns to announce from this model.
Any extra columns need to be implemented by proxy models in front of this model.
Definition at line 115 of file qgsattributetablemodel.cpp.
| 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. |
Definition at line 1078 of file qgsattributetablemodel.cpp.
|
inline |
Sets whether the attribute table will add a visual feedback to cells when an attribute constraint is not met.
Definition at line 280 of file qgsattributetablemodel.h.
|
inline |
Returns whether the attribute table will add a visual feedback to cells when an attribute constraint is not met.
Definition at line 273 of file qgsattributetablemodel.h.
| QString QgsAttributeTableModel::sortCacheExpression | ( | unsigned long | cacheIndex = 0 | ) | const |
The expression which was used to fill the sorting cache at index cacheIndex.
Definition at line 1061 of file qgsattributetablemodel.cpp.
| void QgsAttributeTableModel::swapRows | ( | QgsFeatureId | a, |
| QgsFeatureId | b | ||
| ) |
Swaps two rows.
| a | first row |
| b | second row |
Definition at line 546 of file qgsattributetablemodel.cpp.
|
friend |
Definition at line 456 of file qgsattributetablemodel.h.