[Qgis-developer] EditCommand (UndoAction) mandatory?

Matthias Kuhn matthias.kuhn at gmx.ch
Fri Jan 31 02:18:28 PST 2014


Yesterday I added some signals to QgsVectorLayer which are emitted in 
calls to beginEditCommand, endEditCommand and destroyEditCommand. This 
makes it possible for consumers of edit signals (attributeValueChanged 
etc.) to wait for a batch operation to finish and update once at the 
end. Example: In the case of the attribute table and an update to all 
columns from the field calculator it results in an enormous speed boost, 
if it is updated only once at the end of an operation and not for every 
single feature.

What I am doing now is to cache the "bounds" (min/max column/row) of 
changed attributes and when the next endEditCommand is made update 
everything within.

Now the question is: Can I rely on endEditCommand being called for every 
operation? Or do I have to check for out-of-edit-command changes and 
update immediately in this case?


More information about the Qgis-developer mailing list