mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-15 00:02:52 -04:00
359 lines
9.4 KiB
Plaintext
359 lines
9.4 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/labeling/qgsrulebasedlabeling.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
class QgsRuleBasedLabeling : QgsAbstractVectorLayerLabeling
|
|
{
|
|
%Docstring(signature="appended")
|
|
Rule based labeling for a vector layer.
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsrulebasedlabeling.h"
|
|
%End
|
|
public:
|
|
typedef QList<QgsRuleBasedLabeling::Rule *> RuleList;
|
|
public:
|
|
|
|
class Rule
|
|
{
|
|
%Docstring(signature="appended")
|
|
A child rule for QgsRuleBasedLabeling.
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsrulebasedlabeling.h"
|
|
%End
|
|
public:
|
|
Rule( QgsPalLayerSettings *settings /Transfer/, double maximumScale = 0, double minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
|
|
%Docstring
|
|
takes ownership of settings, settings may be ``None``
|
|
%End
|
|
~Rule();
|
|
|
|
|
|
enum RegisterResult
|
|
{
|
|
Filtered,
|
|
Inactive,
|
|
Registered
|
|
};
|
|
|
|
QgsPalLayerSettings *settings() const;
|
|
%Docstring
|
|
Returns the labeling settings. May return ``None``.
|
|
%End
|
|
|
|
bool dependsOnScale() const;
|
|
%Docstring
|
|
Determines if scale based labeling is active
|
|
|
|
:return: ``True`` if scale based labeling is active
|
|
%End
|
|
|
|
double maximumScale() const;
|
|
%Docstring
|
|
Returns the maximum map scale (i.e. most "zoomed in" scale) at which the
|
|
label rule will be active. The scale value indicates the scale
|
|
denominator, e.g. 1000.0 for a 1:1000 map. A scale of 0 indicates no
|
|
maximum scale visibility.
|
|
|
|
.. seealso:: :py:func:`minimumScale`
|
|
|
|
.. seealso:: :py:func:`setMaximumScale`
|
|
%End
|
|
|
|
double minimumScale() const;
|
|
%Docstring
|
|
Returns the minimum map scale (i.e. most "zoomed out" scale) at which
|
|
the label rule will be active. The scale value indicates the scale
|
|
denominator, e.g. 1000.0 for a 1:1000 map. A scale of 0 indicates no
|
|
minimum scale visibility.
|
|
|
|
.. seealso:: :py:func:`maximumScale`
|
|
|
|
.. seealso:: :py:func:`setMinimumScale`
|
|
%End
|
|
|
|
QString filterExpression() const;
|
|
%Docstring
|
|
A filter that will check if this rule applies
|
|
|
|
:return: An expression
|
|
%End
|
|
|
|
QString description() const;
|
|
%Docstring
|
|
A human readable description for this rule
|
|
|
|
:return: Description
|
|
%End
|
|
|
|
bool active() const;
|
|
%Docstring
|
|
Returns if this rule is active
|
|
|
|
:return: ``True`` if the rule is active
|
|
%End
|
|
|
|
bool isElse() const;
|
|
%Docstring
|
|
Check if this rule is an ELSE rule
|
|
|
|
:return: ``True`` if this rule is an else rule
|
|
%End
|
|
|
|
QString ruleKey() const;
|
|
%Docstring
|
|
Unique rule identifier (for identification of rule within labeling, used
|
|
as provider ID)
|
|
%End
|
|
|
|
void setSettings( QgsPalLayerSettings *settings /Transfer/ );
|
|
%Docstring
|
|
Sets new settings (or ``None``). Deletes old settings if any.
|
|
%End
|
|
|
|
void setMinimumScale( double scale );
|
|
%Docstring
|
|
Sets the minimum map ``scale`` (i.e. most "zoomed out" scale) at which
|
|
the label rule will be active. The ``scale`` value indicates the scale
|
|
denominator, e.g. 1000.0 for a 1:1000 map. A ``scale`` of 0 indicates no
|
|
minimum scale visibility.
|
|
|
|
.. seealso:: :py:func:`minimumScale`
|
|
|
|
.. seealso:: :py:func:`setMaximumScale`
|
|
%End
|
|
|
|
void setMaximumScale( double scale );
|
|
%Docstring
|
|
Sets the maximum map ``scale`` (i.e. most "zoomed in" scale) at which
|
|
the rule will be active. The ``scale`` value indicates the scale
|
|
denominator, e.g. 1000.0 for a 1:1000 map. A ``scale`` of 0 indicates no
|
|
maximum scale visibility.
|
|
|
|
.. seealso:: :py:func:`maximumScale`
|
|
|
|
.. seealso:: :py:func:`setMinimumScale`
|
|
%End
|
|
|
|
void setFilterExpression( const QString &filterExp );
|
|
%Docstring
|
|
Set the expression used to check if a given feature shall be rendered
|
|
with this rule
|
|
|
|
:param filterExp: An expression
|
|
%End
|
|
|
|
void setDescription( const QString &description );
|
|
%Docstring
|
|
Set a human readable description for this rule
|
|
|
|
:param description: Description
|
|
%End
|
|
|
|
void setActive( bool state );
|
|
%Docstring
|
|
Sets if this rule is active
|
|
|
|
:param state: Determines if the rule should be activated or deactivated
|
|
%End
|
|
|
|
void setIsElse( bool iselse );
|
|
%Docstring
|
|
Sets if this rule is an ELSE rule
|
|
|
|
:param iselse: If ``True``, this rule is an ELSE rule
|
|
%End
|
|
|
|
void setRuleKey( const QString &key );
|
|
%Docstring
|
|
Override the assigned rule key (should be used just internally by
|
|
rule-based labeling)
|
|
%End
|
|
|
|
|
|
const QgsRuleBasedLabeling::RuleList &children() const;
|
|
%Docstring
|
|
Returns all children rules of this rule
|
|
|
|
:return: A list of rules
|
|
%End
|
|
|
|
|
|
QgsRuleBasedLabeling::RuleList descendants() const;
|
|
%Docstring
|
|
Returns all children, grand-children, grand-grand-children, grand-gra...
|
|
you get it
|
|
|
|
:return: A list of descendant rules
|
|
%End
|
|
|
|
|
|
QgsRuleBasedLabeling::Rule *parent();
|
|
%Docstring
|
|
The parent rule
|
|
|
|
:return: Parent rule
|
|
%End
|
|
|
|
void appendChild( QgsRuleBasedLabeling::Rule *rule /Transfer/ );
|
|
%Docstring
|
|
add child rule, take ownership, sets this as parent
|
|
%End
|
|
|
|
void insertChild( int i, QgsRuleBasedLabeling::Rule *rule /Transfer/ );
|
|
%Docstring
|
|
add child rule, take ownership, sets this as parent
|
|
%End
|
|
|
|
void removeChildAt( int i );
|
|
%Docstring
|
|
delete child rule
|
|
%End
|
|
|
|
const QgsRuleBasedLabeling::Rule *findRuleByKey( const QString &key ) const;
|
|
%Docstring
|
|
Try to find a rule given its unique key
|
|
%End
|
|
|
|
|
|
QgsRuleBasedLabeling::Rule *clone( bool resetRuleKey = true ) const /Factory/;
|
|
%Docstring
|
|
clone this rule
|
|
|
|
:param resetRuleKey: ``True`` if this rule and its children rule key
|
|
need to be reset to new unique ones.
|
|
|
|
:return: new instance
|
|
%End
|
|
|
|
|
|
static QgsRuleBasedLabeling::Rule *create( const QDomElement &ruleElem, const QgsReadWriteContext &context, bool reuseId = true ) /Factory/;
|
|
%Docstring
|
|
Create a rule from an XML definition
|
|
|
|
:param ruleElem: The XML rule element
|
|
:param context: reading context
|
|
:param reuseId: set to ``True`` to create an exact copy of the original
|
|
symbol or ``False`` to create a new rule with the same
|
|
parameters as the original but a new unique
|
|
:py:func:`~Rule.ruleKey`. (Since QGIS 3.30)
|
|
|
|
:return: A new rule
|
|
%End
|
|
|
|
QDomElement save( QDomDocument &doc, const QgsReadWriteContext &context ) const;
|
|
%Docstring
|
|
store labeling info to XML element
|
|
%End
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool requiresAdvancedEffects() const;
|
|
%Docstring
|
|
Returns ``True`` if this rule or any of its children requires advanced
|
|
composition effects to render.
|
|
%End
|
|
|
|
bool hasNonDefaultCompositionMode() const;
|
|
%Docstring
|
|
Returns ``True`` if this rule or any of its children requires a
|
|
non-default composition mode.
|
|
|
|
This method is pessimistic, in that it will return ``True`` in cases
|
|
where composition modes cannot be easily determined in advance (e.g.
|
|
when data-defined overrides are in place for composition modes).
|
|
|
|
The default composition mode is QPainter.CompositionMode_SourceOver.
|
|
|
|
.. versionadded:: 3.44
|
|
%End
|
|
|
|
bool accept( QgsStyleEntityVisitorInterface *visitor ) const;
|
|
%Docstring
|
|
Accepts the specified symbology ``visitor``, causing it to visit all
|
|
child rules associated with the rule.
|
|
|
|
Returns ``True`` if the visitor should continue visiting other objects,
|
|
or ``False`` if visiting should be canceled.
|
|
|
|
.. versionadded:: 3.10
|
|
%End
|
|
|
|
private:
|
|
Rule( const QgsRuleBasedLabeling::Rule &rh );
|
|
};
|
|
|
|
|
|
explicit QgsRuleBasedLabeling( QgsRuleBasedLabeling::Rule *root /Transfer/ );
|
|
%Docstring
|
|
Constructs the labeling from given tree of rules (takes ownership)
|
|
%End
|
|
~QgsRuleBasedLabeling();
|
|
|
|
QgsRuleBasedLabeling::Rule *rootRule();
|
|
|
|
static QgsRuleBasedLabeling *create( const QDomElement &element, const QgsReadWriteContext &context ) /Factory/;
|
|
%Docstring
|
|
Create the instance from a DOM element with saved configuration
|
|
%End
|
|
|
|
|
|
virtual QString type() const;
|
|
|
|
virtual QgsRuleBasedLabeling *clone() const /Factory/;
|
|
|
|
virtual QDomElement save( QDomDocument &doc, const QgsReadWriteContext &context ) const;
|
|
|
|
virtual QStringList subProviders() const;
|
|
|
|
virtual QgsPalLayerSettings settings( const QString &providerId = QString() ) const;
|
|
|
|
virtual bool accept( QgsStyleEntityVisitorInterface *visitor ) const;
|
|
|
|
|
|
virtual void setSettings( QgsPalLayerSettings *settings /Transfer/, const QString &providerId = QString() );
|
|
|
|
%Docstring
|
|
Set pal settings for a specific provider (takes ownership).
|
|
|
|
:param settings: Pal layer settings
|
|
:param providerId: The id of the provider
|
|
%End
|
|
virtual bool requiresAdvancedEffects() const;
|
|
|
|
virtual bool hasNonDefaultCompositionMode() const;
|
|
|
|
virtual void toSld( QDomNode &parent, const QVariantMap &properties ) const /Deprecated/;
|
|
|
|
virtual bool toSld( QDomNode &parent, QgsSldExportContext &context ) const;
|
|
|
|
virtual void multiplyOpacity( double opacityFactor );
|
|
|
|
|
|
|
|
protected:
|
|
};
|
|
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/labeling/qgsrulebasedlabeling.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|