QGIS API Documentation 3.39.0-Master (04dac197d13)
|
Counts the features in a QgsVectorLayer in task. More...
#include <qgsvectorlayerfeaturecounter.h>
Signals | |
void | symbolsCounted () |
Emitted when the symbols have been counted. | |
![]() | |
void | begun () |
Will be emitted by task to indicate its commencement. | |
void | progressChanged (double progress) |
Will be emitted by task when its progress changes. | |
void | statusChanged (int status) |
Will be emitted by task when its status changes. | |
void | taskCompleted () |
Will be emitted by task to indicate its successful completion. | |
void | taskTerminated () |
Will be emitted by task if it has terminated for any reason other then completion (e.g., when a task has been canceled or encountered an internal error). | |
Public Member Functions | |
QgsVectorLayerFeatureCounter (QgsVectorLayer *layer, const QgsExpressionContext &context=QgsExpressionContext(), bool storeSymbolFids=false) | |
Create a new feature counter for layer. | |
~QgsVectorLayerFeatureCounter () override | |
void | cancel () override |
Notifies the task that it should terminate. | |
long long | featureCount (const QString &legendKey) const |
Returns the feature count for a particular legendKey. | |
QgsFeatureIds | featureIds (const QString &symbolkey) const |
Returns the feature Ids for a particular legendKey. | |
bool | run () override |
Calculates the feature count and Ids per symbol. | |
QHash< QString, long long > | symbolFeatureCountMap () const |
Returns the count for each symbol. | |
QHash< QString, QgsFeatureIds > | symbolFeatureIdMap () const |
Returns the QgsFeatureIds for each symbol. | |
![]() | |
QgsTask (const QString &description=QString(), QgsTask::Flags flags=AllFlags) | |
Constructor for QgsTask. | |
~QgsTask () override | |
void | addSubTask (QgsTask *subTask, const QgsTaskList &dependencies=QgsTaskList(), SubTaskDependency subTaskDependency=SubTaskIndependent) |
Adds a subtask to this task. | |
bool | canCancel () const |
Returns true if the task can be canceled. | |
QList< QgsMapLayer * > | dependentLayers () const |
Returns the list of layers on which the task depends. | |
QString | description () const |
Returns the task's description. | |
qint64 | elapsedTime () const |
Returns the elapsed time since the task commenced, in milliseconds. | |
Flags | flags () const |
Returns the flags associated with the task. | |
void | hold () |
Places the task on hold. | |
bool | isActive () const |
Returns true if the task is active, ie it is not complete and has not been canceled. | |
double | progress () const |
Returns the task's progress (between 0.0 and 100.0) | |
void | setDependentLayers (const QList< QgsMapLayer * > &dependentLayers) |
Sets a list of layers on which the task depends. | |
void | setDescription (const QString &description) |
Sets the task's description. | |
TaskStatus | status () const |
Returns the current task status. | |
void | unhold () |
Releases the task from being held. | |
bool | waitForFinished (int timeout=30000) |
Blocks the current thread until the task finishes or a maximum of timeout milliseconds. | |
Additional Inherited Members | |
![]() | |
enum | Flag { CanCancel = 1 << 1 , CancelWithoutPrompt = 1 << 2 , Hidden = 1 << 3 , Silent = 1 << 4 , AllFlags = CanCancel } |
Task flags. More... | |
typedef QFlags< Flag > | Flags |
enum | SubTaskDependency { SubTaskIndependent = 0 , ParentDependsOnSubTask } |
Controls how subtasks relate to their parent task. More... | |
enum | TaskStatus { Queued , OnHold , Running , Complete , Terminated } |
Status of tasks. More... | |
![]() | |
void | setProgress (double progress) |
Sets the task's current progress. | |
![]() | |
virtual void | finished (bool result) |
If the task is managed by a QgsTaskManager, this will be called after the task has finished (whether through successful completion or via early termination). | |
bool | isCanceled () const |
Will return true if task should terminate ASAP. | |
Counts the features in a QgsVectorLayer in task.
You should most likely not use this directly and instead call QgsVectorLayer::countSymbolFeatures() and connect to the signal QgsVectorLayer::symbolFeatureCountMapChanged().
Definition at line 32 of file qgsvectorlayerfeaturecounter.h.
QgsVectorLayerFeatureCounter::QgsVectorLayerFeatureCounter | ( | QgsVectorLayer * | layer, |
const QgsExpressionContext & | context = QgsExpressionContext() , |
||
bool | storeSymbolFids = false |
||
) |
Create a new feature counter for layer.
layer | Target QgsVectorLayer to perform counting on. |
context | Specific QgsExpressionContext to use during the rendering step. |
storeSymbolFids | If true will store the feature ids (fids), otherwise will only count the number of features per symbol. Default false . |
Definition at line 22 of file qgsvectorlayerfeaturecounter.cpp.
|
overridedefault |
|
overridevirtual |
Notifies the task that it should terminate.
Calling this is not guaranteed to immediately end the task, rather it sets the isCanceled() flag which task subclasses can check and terminate their operations at an appropriate time. Any subtasks owned by this task will also be canceled. Derived classes must ensure that the base class implementation is called from any overridden version.
Reimplemented from QgsTask.
Definition at line 115 of file qgsvectorlayerfeaturecounter.cpp.
long long QgsVectorLayerFeatureCounter::featureCount | ( | const QString & | legendKey | ) | const |
Returns the feature count for a particular legendKey.
If the key has not been found, -1 will be returned.
Definition at line 127 of file qgsvectorlayerfeaturecounter.cpp.
QgsFeatureIds QgsVectorLayerFeatureCounter::featureIds | ( | const QString & | symbolkey | ) | const |
Returns the feature Ids for a particular legendKey.
If the key has not been found an empty QSet will be returned.
Definition at line 137 of file qgsvectorlayerfeaturecounter.cpp.
|
overridevirtual |
Calculates the feature count and Ids per symbol.
Implements QgsTask.
Definition at line 38 of file qgsvectorlayerfeaturecounter.cpp.
QHash< QString, long long > QgsVectorLayerFeatureCounter::symbolFeatureCountMap | ( | ) | const |
Returns the count for each symbol.
Only valid after the symbolsCounted() signal has been emitted.
Definition at line 122 of file qgsvectorlayerfeaturecounter.cpp.
QHash< QString, QgsFeatureIds > QgsVectorLayerFeatureCounter::symbolFeatureIdMap | ( | ) | const |
Returns the QgsFeatureIds for each symbol.
Only valid after the symbolsCounted() signal has been emitted.
Definition at line 132 of file qgsvectorlayerfeaturecounter.cpp.
|
signal |
Emitted when the symbols have been counted.