QGIS API Documentation  3.8.0-Zanzibar (11aff65)
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
QgsRuleBasedLabeling Class Reference

#include <qgsrulebasedlabeling.h>

Inheritance diagram for QgsRuleBasedLabeling:
Inheritance graph
[legend]

Classes

class  Rule
 

Public Types

typedef QList< QgsRuleBasedLabeling::Rule * > RuleList
 
typedef QMap< QgsRuleBasedLabeling::Rule *, QgsVectorLayerLabelProvider * > RuleToProviderMap
 

Public Member Functions

 QgsRuleBasedLabeling (QgsRuleBasedLabeling::Rule *root)
 Constructs the labeling from given tree of rules (takes ownership) More...
 
 ~QgsRuleBasedLabeling () override
 
QgsRuleBasedLabelingclone () const override
 Returns a new copy of the object. More...
 
QgsVectorLayerLabelProviderprovider (QgsVectorLayer *layer) const override
 
bool requiresAdvancedEffects () const override
 Returns true if drawing labels requires advanced effects like composition modes, which could prevent it being used as an isolated cached image or exported to a vector format. More...
 
QgsRuleBasedLabeling::RulerootRule ()
 
const RulerootRule () const
 
QDomElement save (QDomDocument &doc, const QgsReadWriteContext &context) const override
 Returns labeling configuration as XML element. More...
 
void setSettings (QgsPalLayerSettings *settings, const QString &providerId=QString()) override
 Set pal settings for a specific provider (takes ownership). More...
 
QgsPalLayerSettings settings (const QString &providerId=QString()) const override
 Gets associated label settings. More...
 
QStringList subProviders () const override
 Gets list of sub-providers within the layer's labeling. More...
 
void toSld (QDomNode &parent, const QgsStringMap &props) const override
 Writes the SE 1.1 TextSymbolizer element based on the current layer labeling settings. More...
 
QString type () const override
 Unique type string of the labeling configuration implementation. More...
 
- Public Member Functions inherited from QgsAbstractVectorLayerLabeling
 QgsAbstractVectorLayerLabeling ()=default
 Default constructor. More...
 
virtual ~QgsAbstractVectorLayerLabeling ()=default
 

Static Public Member Functions

static QgsRuleBasedLabelingcreate (const QDomElement &element, const QgsReadWriteContext &context)
 Create the instance from a DOM element with saved configuration. More...
 
- Static Public Member Functions inherited from QgsAbstractVectorLayerLabeling
static QgsAbstractVectorLayerLabelingcreate (const QDomElement &element, const QgsReadWriteContext &context)
 Try to create instance of an implementation based on the XML data. More...
 

Protected Attributes

std::unique_ptr< RulemRootRule
 

Additional Inherited Members

- Protected Member Functions inherited from QgsAbstractVectorLayerLabeling
virtual void writeTextSymbolizer (QDomNode &parent, QgsPalLayerSettings &settings, const QgsStringMap &props) const
 Writes a TextSymbolizer element contents based on the provided labeling settings. More...
 

Detailed Description

Since
QGIS 3.0

Definition at line 40 of file qgsrulebasedlabeling.h.

Member Typedef Documentation

◆ RuleList

Definition at line 43 of file qgsrulebasedlabeling.h.

◆ RuleToProviderMap

Definition at line 45 of file qgsrulebasedlabeling.h.

Constructor & Destructor Documentation

◆ QgsRuleBasedLabeling()

QgsRuleBasedLabeling::QgsRuleBasedLabeling ( QgsRuleBasedLabeling::Rule root)
explicit

Constructs the labeling from given tree of rules (takes ownership)

Definition at line 391 of file qgsrulebasedlabeling.cpp.

◆ ~QgsRuleBasedLabeling()

QgsRuleBasedLabeling::~QgsRuleBasedLabeling ( )
override

Definition at line 412 of file qgsrulebasedlabeling.cpp.

Member Function Documentation

◆ clone()

QgsRuleBasedLabeling * QgsRuleBasedLabeling::clone ( ) const
overridevirtual

Returns a new copy of the object.

Implements QgsAbstractVectorLayerLabeling.

Definition at line 396 of file qgsrulebasedlabeling.cpp.

◆ create()

QgsRuleBasedLabeling * QgsRuleBasedLabeling::create ( const QDomElement &  element,
const QgsReadWriteContext context 
)
static

Create the instance from a DOM element with saved configuration.

Definition at line 427 of file qgsrulebasedlabeling.cpp.

◆ provider()

QgsVectorLayerLabelProvider * QgsRuleBasedLabeling::provider ( QgsVectorLayer layer) const
overridevirtual
Note
not available in Python bindings

Reimplemented from QgsAbstractVectorLayerLabeling.

Definition at line 456 of file qgsrulebasedlabeling.cpp.

◆ requiresAdvancedEffects()

bool QgsRuleBasedLabeling::requiresAdvancedEffects ( ) const
overridevirtual

Returns true if drawing labels requires advanced effects like composition modes, which could prevent it being used as an isolated cached image or exported to a vector format.

Since
QGIS 3.0

Implements QgsAbstractVectorLayerLabeling.

Definition at line 477 of file qgsrulebasedlabeling.cpp.

◆ rootRule() [1/2]

QgsRuleBasedLabeling::Rule * QgsRuleBasedLabeling::rootRule ( )

Definition at line 416 of file qgsrulebasedlabeling.cpp.

◆ rootRule() [2/2]

const QgsRuleBasedLabeling::Rule * QgsRuleBasedLabeling::rootRule ( ) const

Definition at line 421 of file qgsrulebasedlabeling.cpp.

◆ save()

QDomElement QgsRuleBasedLabeling::save ( QDomDocument &  doc,
const QgsReadWriteContext context 
) const
overridevirtual

Returns labeling configuration as XML element.

Implements QgsAbstractVectorLayerLabeling.

Definition at line 444 of file qgsrulebasedlabeling.cpp.

◆ setSettings()

void QgsRuleBasedLabeling::setSettings ( QgsPalLayerSettings settings,
const QString &  providerId = QString() 
)
overridevirtual

Set pal settings for a specific provider (takes ownership).

Parameters
settingsPal layer settings
providerIdThe id of the provider
Since
QGIS 3.0

Implements QgsAbstractVectorLayerLabeling.

Definition at line 482 of file qgsrulebasedlabeling.cpp.

◆ settings()

QgsPalLayerSettings QgsRuleBasedLabeling::settings ( const QString &  providerId = QString()) const
overridevirtual

Gets associated label settings.

In case of multiple sub-providers with different settings, they are identified by their ID (e.g. in case of rule-based labeling, provider ID == rule key)

Implements QgsAbstractVectorLayerLabeling.

Definition at line 468 of file qgsrulebasedlabeling.cpp.

◆ subProviders()

QStringList QgsRuleBasedLabeling::subProviders ( ) const
overridevirtual

Gets list of sub-providers within the layer's labeling.

Reimplemented from QgsAbstractVectorLayerLabeling.

Definition at line 461 of file qgsrulebasedlabeling.cpp.

◆ toSld()

void QgsRuleBasedLabeling::toSld ( QDomNode &  parent,
const QgsStringMap props 
) const
overridevirtual

Writes the SE 1.1 TextSymbolizer element based on the current layer labeling settings.

Reimplemented from QgsAbstractVectorLayerLabeling.

Definition at line 492 of file qgsrulebasedlabeling.cpp.

◆ type()

QString QgsRuleBasedLabeling::type ( ) const
overridevirtual

Unique type string of the labeling configuration implementation.

Implements QgsAbstractVectorLayerLabeling.

Definition at line 439 of file qgsrulebasedlabeling.cpp.

Member Data Documentation

◆ mRootRule

std::unique_ptr<Rule> QgsRuleBasedLabeling::mRootRule
protected

Definition at line 378 of file qgsrulebasedlabeling.h.


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