QGIS API Documentation 3.41.0-Master (3440c17df1d)
|
#include <qgsvectorlayereditpassthrough.h>
Public Member Functions | |
QgsVectorLayerEditPassthrough (QgsVectorLayer *layer) | |
bool | addAttribute (const QgsField &field) override |
Adds an attribute field (but does not commit it) returns true if the field was added. | |
bool | addFeature (QgsFeature &f) override |
Adds a feature. | |
bool | addFeatures (QgsFeatureList &features) override |
Insert a copy of the given features into the layer (but does not commit it) | |
bool | changeAttributeValue (QgsFeatureId fid, int field, const QVariant &newValue, const QVariant &oldValue=QVariant()) override |
Changed an attribute value (but does not commit it) | |
bool | changeAttributeValues (QgsFeatureId fid, const QgsAttributeMap &newValues, const QgsAttributeMap &oldValues) override |
Changes values of attributes (but does not commit it). | |
bool | changeGeometry (QgsFeatureId fid, const QgsGeometry &geom) override |
Change feature's geometry. | |
bool | commitChanges (QStringList &commitErrors) override |
Attempts to commit any changes to disk. | |
bool | deleteAttribute (int attr) override |
Deletes an attribute field (but does not commit it) | |
bool | deleteFeature (QgsFeatureId fid) override |
Delete a feature from the layer (but does not commit it) | |
bool | deleteFeatures (const QgsFeatureIds &fids) override |
Deletes a set of features from the layer (but does not commit it) | |
bool | isModified () const override |
Returns true if the provider has been modified since the last commit. | |
bool | renameAttribute (int attr, const QString &newName) override |
Renames an attribute field (but does not commit it) | |
void | rollBack () override |
Stop editing and discard the edits. | |
bool | update (QgsTransaction *transaction, const QString &sql, const QString &name) |
Update underlying data with a SQL query embedded in a transaction. | |
Public Member Functions inherited from QgsVectorLayerEditBuffer | |
QgsVectorLayerEditBuffer (QgsVectorLayer *layer) | |
QList< QgsField > | addedAttributes () const |
Returns a list of added attributes fields which are not committed. | |
QgsFeatureMap | addedFeatures () const |
Returns a map of new features which are not committed. | |
QgsFeatureIds | allAddedOrEditedFeatures () const |
Returns a list of the features IDs for all newly added or edited features in the buffer. | |
QgsChangedAttributesMap | changedAttributeValues () const |
Returns a map of features with changed attributes values which are not committed. | |
QgsGeometryMap | changedGeometries () const |
Returns a map of features with changed geometries which are not committed. | |
QgsAttributeList | deletedAttributeIds () const |
Returns a list of deleted attributes fields which are not committed. | |
QgsFeatureIds | deletedFeatureIds () const |
Returns a list of deleted feature IDs which are not committed. | |
QgsVectorLayerEditBufferGroup * | editBufferGroup () const |
Returns the parent edit buffer group for this edit buffer, or nullptr if not part of a group. | |
bool | isAttributeDeleted (int index) const |
Returns true if the specified attribute has been deleted but not committed. | |
bool | isFeatureAdded (QgsFeatureId id) const |
Returns true if the specified feature ID has been added but not committed. | |
bool | isFeatureAttributesChanged (QgsFeatureId id) const |
Returns true if the specified feature ID has had an attribute changed but not committed. | |
bool | isFeatureDeleted (QgsFeatureId id) const |
Returns true if the specified feature ID has been deleted but not committed. | |
bool | isFeatureGeometryChanged (QgsFeatureId id) const |
Returns true if the specified feature ID has had its geometry changed but not committed. | |
void | setEditBufferGroup (QgsVectorLayerEditBufferGroup *editBufferGroup) |
Set the parent edit buffer group for this edit buffer. | |
void | updateFields (QgsFields &fields) |
Updates fields. | |
Additional Inherited Members | |
Signals inherited from QgsVectorLayerEditBuffer | |
void | attributeAdded (int idx) |
Emitted when an attribute was added to the buffer. | |
void | attributeDeleted (int idx) |
Emitted when an attribute was deleted from the buffer. | |
void | attributeRenamed (int idx, const QString &newName) |
Emitted when an attribute has been renamed. | |
void | attributeValueChanged (QgsFeatureId fid, int idx, const QVariant &value) |
Emitted when a feature's attribute value has been changed. | |
void | committedAttributesAdded (const QString &layerId, const QList< QgsField > &addedAttributes) |
Emitted after attribute addition has been committed to the layer. | |
void | committedAttributesDeleted (const QString &layerId, const QgsAttributeList &deletedAttributes) |
Emitted after attribute deletion has been committed to the layer. | |
void | committedAttributesRenamed (const QString &layerId, const QgsFieldNameMap &renamedAttributes) |
Emitted after committing an attribute rename. | |
void | committedAttributeValuesChanges (const QString &layerId, const QgsChangedAttributesMap &changedAttributesValues) |
Emitted after feature attribute value changes have been committed to the layer. | |
void | committedFeaturesAdded (const QString &layerId, const QgsFeatureList &addedFeatures) |
Emitted after feature addition has been committed to the layer. | |
void | committedFeaturesRemoved (const QString &layerId, const QgsFeatureIds &deletedFeatureIds) |
Emitted after feature removal has been committed to the layer. | |
void | committedGeometriesChanges (const QString &layerId, const QgsGeometryMap &changedGeometries) |
Emitted after feature geometry changes have been committed to the layer. | |
void | featureAdded (QgsFeatureId fid) |
Emitted when a feature has been added to the buffer. | |
void | featureDeleted (QgsFeatureId fid) |
Emitted when a feature was deleted from the buffer. | |
void | geometryChanged (QgsFeatureId fid, const QgsGeometry &geom) |
Emitted when a feature's geometry is changed. | |
void | layerModified () |
Emitted when modifications has been done on layer. | |
Protected Slots inherited from QgsVectorLayerEditBuffer | |
void | undoIndexChanged (int index) |
Protected Member Functions inherited from QgsVectorLayerEditBuffer | |
QgsVectorLayerEditBuffer ()=default | |
void | handleAttributeAdded (int index) |
Update added and changed features after addition of an attribute. | |
void | handleAttributeDeleted (int index) |
Update added and changed features after removal of an attribute. | |
void | updateAttributeMapIndex (QgsAttributeMap &attrs, int index, int offset) const |
Updates an index in an attribute map to a new value (for updates of changed attributes) | |
void | updateChangedAttributes (QgsFeature &f) |
Update feature with uncommitted attribute updates. | |
void | updateFeatureGeometry (QgsFeature &f) |
Update feature with uncommitted geometry updates. | |
void | updateLayerFields () |
Protected Attributes inherited from QgsVectorLayerEditBuffer | |
QgsVectorLayer * | L = nullptr |
QList< QgsField > | mAddedAttributes |
Added attributes fields which are not committed. | |
QgsFeatureMap | mAddedFeatures |
New features which are not committed. | |
int | mBlockModifiedSignals = 0 |
QgsChangedAttributesMap | mChangedAttributeValues |
Changed attributes values which are not committed. | |
QgsGeometryMap | mChangedGeometries |
Changed geometries which are not committed. | |
QgsAttributeList | mDeletedAttributeIds |
Deleted attributes fields which are not committed. The list is kept sorted. | |
QgsFeatureIds | mDeletedFeatureIds |
Deleted feature IDs which are not committed. | |
QgsVectorLayerEditBufferGroup * | mEditBufferGroup = nullptr |
QgsFieldNameMap | mRenamedAttributes |
Renamed attributes which are not committed. | |
Definition at line 35 of file qgsvectorlayereditpassthrough.h.
QgsVectorLayerEditPassthrough::QgsVectorLayerEditPassthrough | ( | QgsVectorLayer * | layer | ) |
Definition at line 23 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Adds an attribute field (but does not commit it) returns true
if the field was added.
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 95 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Adds a feature.
f | feature to add |
true
in case of success and false
in case of error Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 49 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Insert a copy of the given features into the layer (but does not commit it)
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 60 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Changed an attribute value (but does not commit it)
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 85 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Changes values of attributes (but does not commit it).
true
if attributes are well updated, false
otherwise Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 90 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Change feature's geometry.
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 80 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Attempts to commit any changes to disk.
Returns the result of the attempt. If a commit fails, the in-memory changes are left alone.
This allows editing to continue if the commit failed on e.g. a disallowed value in a Postgres database - the user can re-edit and try again.
The commits occur in distinct stages, (add attributes, add features, change attribute values, change geometries, delete features, delete attributes) so if a stage fails, it's difficult to roll back cleanly. Therefore any error message also includes which stage failed so that the user has some chance of repairing the damage cleanly.
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 110 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Deletes an attribute field (but does not commit it)
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 100 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Delete a feature from the layer (but does not commit it)
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 70 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Deletes a set of features from the layer (but does not commit it)
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 75 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Returns true
if the provider has been modified since the last commit.
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 29 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Renames an attribute field (but does not commit it)
attr | attribute index |
newName | new name of field |
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 105 of file qgsvectorlayereditpassthrough.cpp.
|
overridevirtual |
Stop editing and discard the edits.
Reimplemented from QgsVectorLayerEditBuffer.
Definition at line 116 of file qgsvectorlayereditpassthrough.cpp.
bool QgsVectorLayerEditPassthrough::update | ( | QgsTransaction * | transaction, |
const QString & | sql, | ||
const QString & | name | ||
) |
Update underlying data with a SQL query embedded in a transaction.
transaction | Transaction in which the sql query has been run |
sql | The SQL query updating data |
name | The name of the undo/redo command |
true
if the undo/redo command is well added to the stack, false
otherwise Definition at line 121 of file qgsvectorlayereditpassthrough.cpp.