This fixes performance issues with the attribute table visible when deleting a
large number of features.
The attribute table tries to behave smart in the following way:
* It tries to remove only the deleted rows as long as they are in one or a few
single blocks
* If there are more than 100 rows to delete and it starts to delete blocks
of a size smaller than 10 it assumes that the selection to delete is widely
distributed and that a reload of the whole model is less expensive than a
differential update.
Fix#10167
used as a generic api for registering actions which can apply to
a specific map layer or layer type.
Create a QgsMapLayerAction for setting features as the current
atlas feature for compositions.
This work was kindly sponsored by SIGE (www.sige.ch).
* With a selection model, the way the attribute table handles selections
can be customized. E.g. synchronized to layer selection or used to pick
features.
* With request filters, the visible features on an attribute table can be
limited. This will effectively reduce the subset of features the attribute
table works on. Additional filters by means of a proxy model can of course
further reduce the visible subset subsequently.
- update methods of existing classes
- add comment to methods missing in the sip bindings
- split up collective sip files into single files and use
same directory structure in python/ as in src/
- add a lot of missing classes (some might not make sense because of
missing python methods in those classes)
- remove some non-existing methods from the header files
- add scripts/sipdiff
- replace some usages of std::vector and std::set with QVector/QSet