QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Member Functions | List of all members
QgsStagedRenderLabelingEngine Class Reference

A QgsLabelingEngine implementation, which only calculates the labeling solution during its run() method. More...

#include <qgslabelingengine.h>

Inheritance diagram for QgsStagedRenderLabelingEngine:
Inheritance graph
[legend]

Public Member Functions

 QgsStagedRenderLabelingEngine ()
 Construct the labeling engine with default settings. More...
 
 QgsStagedRenderLabelingEngine (const QgsStagedRenderLabelingEngine &rh)=delete
 QgsStagedRenderLabelingEngine cannot be copied. More...
 
void finalize ()
 Finalizes and cleans up the engine following the rendering of labels for the last layer to be labeled (via renderLabelsForLayer() ). More...
 
QgsStagedRenderLabelingEngineoperator= (const QgsStagedRenderLabelingEngine &rh)=delete
 QgsStagedRenderLabelingEngine cannot be copied. More...
 
void renderLabelsForLayer (QgsRenderContext &context, const QString &layerId)
 Renders all the labels which belong only to the layer with matching layerId to the specified render context. More...
 
void run (QgsRenderContext &context) override
 Runs the labeling job. More...
 
- Public Member Functions inherited from QgsLabelingEngine
 QgsLabelingEngine ()
 Construct the labeling engine with default settings. More...
 
 QgsLabelingEngine (const QgsLabelingEngine &rh)=delete
 QgsLabelingEngine cannot be copied. More...
 
virtual ~QgsLabelingEngine ()
 Clean up everything (especially the registered providers) More...
 
void addProvider (QgsAbstractLabelProvider *provider)
 Add provider of label features. Takes ownership of the provider. More...
 
const QgsLabelingEngineSettingsengineSettings () const
 Gets associated labeling engine settings. More...
 
const QgsMapSettingsmapSettings () const
 Gets associated map settings. More...
 
QgsLabelingEngineoperator= (const QgsLabelingEngine &rh)=delete
 QgsLabelingEngine cannot be copied. More...
 
QStringList participatingLayerIds () const
 Returns a list of layer IDs for layers with providers in the engine. More...
 
QList< QgsMapLayer * > participatingLayers () const
 Returns a list of layers with providers in the engine. More...
 
void removeProvider (QgsAbstractLabelProvider *provider)
 Remove provider if the provider's initialization failed. Provider instance is deleted. More...
 
QgsLabelingResultsresults () const
 For internal use by the providers. More...
 
void setMapSettings (const QgsMapSettings &mapSettings)
 Associate map settings instance. More...
 
QgsLabelingResultstakeResults ()
 Returns pointer to recently computed results and pass the ownership of results to the caller. More...
 

Additional Inherited Members

- Protected Member Functions inherited from QgsLabelingEngine
void cleanup ()
 Cleans up the engine following a call to registerLabels() or solve(). More...
 
void drawLabels (QgsRenderContext &context, const QString &layerId=QString())
 Draws labels to the specified render context. More...
 
void processProvider (QgsAbstractLabelProvider *provider, QgsRenderContext &context, pal::Pal &p)
 
void registerLabels (QgsRenderContext &context)
 Runs the label registration step. More...
 
void solve (QgsRenderContext &context)
 Solves the label problem. More...
 
- Protected Attributes inherited from QgsLabelingEngine
QList< pal::LabelPosition * > mLabels
 
QgsMapSettings mMapSettings
 Associated map settings instance. More...
 
std::unique_ptr< pal::PalmPal
 
std::unique_ptr< pal::ProblemmProblem
 
QList< QgsAbstractLabelProvider * > mProviders
 List of providers (the are owned by the labeling engine) More...
 
std::unique_ptr< QgsLabelingResultsmResults
 Resulting labeling layout. More...
 
QList< QgsAbstractLabelProvider * > mSubProviders
 
QList< pal::LabelPosition * > mUnlabeled
 

Detailed Description

A QgsLabelingEngine implementation, which only calculates the labeling solution during its run() method.

The actual rendering of labels themselves is deferred to follow up calls to ....

Note
this class is not a part of public API yet. See notes in QgsLabelingEngine
not available in Python bindings
Since
QGIS 3.10

Definition at line 362 of file qgslabelingengine.h.

Constructor & Destructor Documentation

◆ QgsStagedRenderLabelingEngine() [1/2]

QgsStagedRenderLabelingEngine::QgsStagedRenderLabelingEngine ( )

Construct the labeling engine with default settings.

Definition at line 570 of file qgslabelingengine.cpp.

◆ QgsStagedRenderLabelingEngine() [2/2]

QgsStagedRenderLabelingEngine::QgsStagedRenderLabelingEngine ( const QgsStagedRenderLabelingEngine rh)
delete

QgsStagedRenderLabelingEngine cannot be copied.

Member Function Documentation

◆ finalize()

void QgsStagedRenderLabelingEngine::finalize ( )

Finalizes and cleans up the engine following the rendering of labels for the last layer to be labeled (via renderLabelsForLayer() ).

Definition at line 599 of file qgslabelingengine.cpp.

◆ operator=()

QgsStagedRenderLabelingEngine& QgsStagedRenderLabelingEngine::operator= ( const QgsStagedRenderLabelingEngine rh)
delete

QgsStagedRenderLabelingEngine cannot be copied.

◆ renderLabelsForLayer()

void QgsStagedRenderLabelingEngine::renderLabelsForLayer ( QgsRenderContext context,
const QString &  layerId 
)

Renders all the labels which belong only to the layer with matching layerId to the specified render context.

Definition at line 594 of file qgslabelingengine.cpp.

◆ run()

void QgsStagedRenderLabelingEngine::run ( QgsRenderContext context)
overridevirtual

Runs the labeling job.

Depending on the concrete labeling engine class, this will either run the whole labeling job, including rendering the labels themselves, OR possibly just run the labeling job but leave the rendering to a future, deferred stage.

Implements QgsLabelingEngine.

Definition at line 576 of file qgslabelingengine.cpp.


The documentation for this class was generated from the following files: