QGIS API Documentation
3.22.4-Białowieża (ce8e65e95e)
|
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 434 of file qgsrulebasedlabeling.cpp.
|
override |
Definition at line 455 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 520 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Returns a new copy of the object.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 439 of file qgsrulebasedlabeling.cpp.
|
static |
Create the instance from a DOM element with saved configuration.
Definition at line 470 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 499 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 525 of file qgsrulebasedlabeling.cpp.
QgsRuleBasedLabeling::Rule * QgsRuleBasedLabeling::rootRule | ( | ) |
Definition at line 459 of file qgsrulebasedlabeling.cpp.
const QgsRuleBasedLabeling::Rule * QgsRuleBasedLabeling::rootRule | ( | ) | const |
Definition at line 464 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Returns labeling configuration as XML element.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 487 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 530 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 511 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Gets list of sub-providers within the layer's labeling.
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 504 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 540 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Unique type string of the labeling configuration implementation.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 482 of file qgsrulebasedlabeling.cpp.
|
protected |
Definition at line 398 of file qgsrulebasedlabeling.h.