QGIS API Documentation 3.36.0-Maidenhead (09951dc0acf)
|
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) | |
~QgsRuleBasedLabeling () override | |
bool | accept (QgsStyleEntityVisitorInterface *visitor) const override |
Accepts the specified symbology visitor, causing it to visit all symbols associated with the labeling. | |
QgsRuleBasedLabeling * | clone () const override |
Returns a new copy of the object. | |
void | multiplyOpacity (double opacityFactor) override |
Multiply opacity by opacityFactor. | |
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. | |
QgsRuleBasedLabeling::Rule * | rootRule () |
const Rule * | rootRule () const |
QDomElement | save (QDomDocument &doc, const QgsReadWriteContext &context) const override |
Returns labeling configuration as XML element. | |
void | setSettings (QgsPalLayerSettings *settings, const QString &providerId=QString()) override |
Set pal settings for a specific provider (takes ownership). | |
QgsPalLayerSettings | settings (const QString &providerId=QString()) const override |
Gets associated label settings. | |
QStringList | subProviders () const override |
Gets list of sub-providers within the layer's labeling. | |
void | toSld (QDomNode &parent, const QVariantMap &props) const override |
Writes the SE 1.1 TextSymbolizer element based on the current layer labeling settings. | |
QString | type () const override |
Unique type string of the labeling configuration implementation. | |
![]() | |
QgsAbstractVectorLayerLabeling ()=default | |
Default constructor. | |
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. | |
![]() | |
static QgsAbstractVectorLayerLabeling * | create (const QDomElement &element, const QgsReadWriteContext &context) |
Try to create instance of an implementation based on the XML data. | |
static QgsPalLayerSettings | defaultSettingsForLayer (const QgsVectorLayer *layer) |
Returns the default layer settings to use for the specified vector layer. | |
Protected Attributes | |
std::unique_ptr< Rule > | mRootRule |
Additional Inherited Members | |
![]() | |
virtual void | writeTextSymbolizer (QDomNode &parent, QgsPalLayerSettings &settings, const QVariantMap &props) const |
Writes a TextSymbolizer element contents based on the provided labeling settings. | |
Rule based labeling for a vector layer.
Definition at line 41 of file qgsrulebasedlabeling.h.
typedef QList<QgsRuleBasedLabeling::Rule *> QgsRuleBasedLabeling::RuleList |
Definition at line 45 of file qgsrulebasedlabeling.h.
typedef QMap<QgsRuleBasedLabeling::Rule *, QgsVectorLayerLabelProvider *> QgsRuleBasedLabeling::RuleToProviderMap |
Definition at line 46 of file qgsrulebasedlabeling.h.
|
explicit |
Constructs the labeling from given tree of rules (takes ownership)
Definition at line 439 of file qgsrulebasedlabeling.cpp.
|
override |
Definition at line 460 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 525 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Returns a new copy of the object.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 444 of file qgsrulebasedlabeling.cpp.
|
static |
Create the instance from a DOM element with saved configuration.
Definition at line 475 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Multiply opacity by opacityFactor.
This method multiplies the opacity of the labeling elements (text, shadow, buffer etc.) by opacity effectively changing the opacity of the whole labeling elements.
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 586 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 504 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 530 of file qgsrulebasedlabeling.cpp.
QgsRuleBasedLabeling::Rule * QgsRuleBasedLabeling::rootRule | ( | ) |
Definition at line 464 of file qgsrulebasedlabeling.cpp.
const QgsRuleBasedLabeling::Rule * QgsRuleBasedLabeling::rootRule | ( | ) | const |
Definition at line 469 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Returns labeling configuration as XML element.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 492 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 535 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 516 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Gets list of sub-providers within the layer's labeling.
Reimplemented from QgsAbstractVectorLayerLabeling.
Definition at line 509 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 545 of file qgsrulebasedlabeling.cpp.
|
overridevirtual |
Unique type string of the labeling configuration implementation.
Implements QgsAbstractVectorLayerLabeling.
Definition at line 487 of file qgsrulebasedlabeling.cpp.
|
protected |
Definition at line 395 of file qgsrulebasedlabeling.h.