QGIS API Documentation
3.20.0-Odense (decaadbb31)
|
Rule based labeling for a vector layer. More...
#include <qgsrulebasedlabeling.h>
Classes | |
class | Rule |
A child rule for QgsRuleBasedLabeling. More... | |
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 | |
bool | accept (QgsStyleEntityVisitorInterface *visitor) const override |
Accepts the specified symbology visitor, causing it to visit all symbols associated with the labeling. More... | |
QgsRuleBasedLabeling * | clone () const override |
Returns a new copy of the object. More... | |
QgsVectorLayerLabelProvider * | provider (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::Rule * | rootRule () |
const Rule * | rootRule () 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 QVariantMap &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 QgsRuleBasedLabeling * | create (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 QgsAbstractVectorLayerLabeling * | create (const QDomElement &element, const QgsReadWriteContext &context) |
Try to create instance of an implementation based on the XML data. More... | |
static QgsPalLayerSettings | defaultSettingsForLayer (const QgsVectorLayer *layer) |
Returns the default layer settings to use for the specified vector layer. More... | |
Protected Attributes | |
std::unique_ptr< Rule > | mRootRule |
Additional Inherited Members | |
Protected Member Functions inherited from QgsAbstractVectorLayerLabeling | |
virtual void | writeTextSymbolizer (QDomNode &parent, QgsPalLayerSettings &settings, const QVariantMap &props) const |
Writes a TextSymbolizer element contents based on the provided labeling settings. More... | |
Rule based labeling for a vector layer.
Definition at line 42 of file qgsrulebasedlabeling.h.
typedef QList<QgsRuleBasedLabeling::Rule *> QgsRuleBasedLabeling::RuleList |
Definition at line 46 of file qgsrulebasedlabeling.h.
typedef QMap<QgsRuleBasedLabeling::Rule *, QgsVectorLayerLabelProvider *> QgsRuleBasedLabeling::RuleToProviderMap |
Definition at line 47 of file qgsrulebasedlabeling.h.
|
explicit |
Constructs the labeling from given tree of rules (takes ownership)
Definition at line 426 of file qgsrulebasedlabeling.cpp.
|
override |
Definition at line 447 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Accepts the specified symbology visitor, causing it to visit all symbols associated with the labeling.
Returns true
if the visitor should continue visiting other objects, or false
if visiting should be canceled.
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 512 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Returns a new copy of the object.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 431 of file qgsrulebasedlabeling.cpp.
|
static |
Create the instance from a DOM element with saved configuration.
Definition at line 462 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 491 of file qgsrulebasedlabeling.cpp.
|
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.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 517 of file qgsrulebasedlabeling.cpp.
QgsRuleBasedLabeling::Rule * QgsRuleBasedLabeling::rootRule | ( | ) |
Definition at line 451 of file qgsrulebasedlabeling.cpp.
const QgsRuleBasedLabeling::Rule * QgsRuleBasedLabeling::rootRule | ( | ) | const |
Definition at line 456 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Returns labeling configuration as XML element.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 479 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Set pal settings for a specific provider (takes ownership).
settings | Pal layer settings |
providerId | The id of the provider |
Implements QgsAbstractVectorLayerLabeling.
Definition at line 522 of file qgsrulebasedlabeling.cpp.
|
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 503 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Gets list of sub-providers within the layer's labeling.
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 496 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Writes the SE 1.1 TextSymbolizer element based on the current layer labeling settings.
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 532 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Unique type string of the labeling configuration implementation.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 474 of file qgsrulebasedlabeling.cpp.
|
protected |
Definition at line 393 of file qgsrulebasedlabeling.h.