QGIS/python/core/qgsrulebasedlabeling.sip.in

316 lines
8.0 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/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/, int maximumScale = 0, int minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
%Docstring
takes ownership of settings
%End
~Rule();
enum RegisterResult
{
Filtered,
Inactive,
Registered
};
QgsPalLayerSettings *settings() const;
%Docstring
Get the labeling settings. May return a null pointer.
%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
set new settings (or NULL). 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
Return 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
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 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/qgsrulebasedlabeling.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/