mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-04 00:30:59 -05:00
So that these files are all grouped together, making it easier to locate all the components of the labeling engine and hopefully making things easier to navigate
329 lines
8.4 KiB
Plaintext
329 lines
8.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.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
class QgsRuleBasedLabeling : QgsAbstractVectorLayerLabeling
|
|
{
|
|
%Docstring
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsrulebasedlabeling.h"
|
|
%End
|
|
public:
|
|
typedef QList<QgsRuleBasedLabeling::Rule *> RuleList;
|
|
typedef QMap<QgsRuleBasedLabeling::Rule *, QgsVectorLayerLabelProvider *> RuleToProviderMap;
|
|
|
|
class Rule
|
|
{
|
|
%Docstring
|
|
|
|
.. versionadded:: 3.0
|
|
%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`
|
|
|
|
.. versionadded:: 3.0
|
|
%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`
|
|
|
|
.. versionadded:: 3.0
|
|
%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() const /Factory/;
|
|
%Docstring
|
|
clone this rule, return new instance
|
|
%End
|
|
|
|
|
|
static QgsRuleBasedLabeling::Rule *create( const QDomElement &ruleElem, const QgsReadWriteContext &context ) /Factory/;
|
|
%Docstring
|
|
Create a rule from an XML definition
|
|
|
|
:param ruleElem: The XML rule element
|
|
:param context: reading context
|
|
|
|
: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 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
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
virtual bool requiresAdvancedEffects() const;
|
|
|
|
virtual void toSld( QDomNode &parent, const QgsStringMap &props ) const;
|
|
|
|
|
|
protected:
|
|
};
|
|
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/labeling/qgsrulebasedlabeling.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|