QGIS/python/core/auto_generated/labeling/qgslabelingenginesettings.sip.in
Nyall Dawson 15a7079a39 [api] Implementation of labeling engine rules
See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/299

Implements the API framework for setting advanced labeling engine
rules for a project, and implements 4 initial rule types:

- QgsLabelingEngineRuleMinimumDistanceLabelToFeature: prevents labels
  being placed too *close* to features from a different layer
- QgsLabelingEngineRuleMaximumDistanceLabelToFeature: prevents labels
  being placed too *far* from features from a different layer
- QgsLabelingEngineRuleMinimumDistanceLabelToLabel: prevents labels
  being placed too close to labels from a different layer
- QgsLabelingEngineRuleAvoidLabelOverlapWithFeature: prevents labels
  being placed overlapping features from a different layer

(note that the first 3 rules require a build based on GEOS >= 3.10,
they are not available for older GEOS builds)

Also implements a registry for storing available rule classes,
and serialization of rules and configuration in QGIS projects
2024-09-11 02:06:41 +10:00

298 lines
7.9 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/labeling/qgslabelingenginesettings.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsLabelingEngineSettings
{
%Docstring(signature="appended")
Stores global configuration for labeling engine
%End
%TypeHeaderCode
#include "qgslabelingenginesettings.h"
%End
public:
enum Search
{
Chain,
Popmusic_Tabu,
Popmusic_Chain,
Popmusic_Tabu_Chain,
Falp
};
QgsLabelingEngineSettings();
~QgsLabelingEngineSettings();
QgsLabelingEngineSettings( const QgsLabelingEngineSettings &other );
void clear();
%Docstring
Returns the configuration to the defaults
%End
void setFlags( Qgis::LabelingFlags flags );
%Docstring
Sets flags of the labeling engine
%End
Qgis::LabelingFlags flags() const;
%Docstring
Gets flags of the labeling engine
%End
bool testFlag( Qgis::LabelingFlag f ) const;
%Docstring
Test whether a particular flag is enabled
%End
void setFlag( Qgis::LabelingFlag f, bool enabled = true );
%Docstring
Sets whether a particual flag is enabled
%End
double maximumLineCandidatesPerCm() const;
%Docstring
Returns the maximum number of line label candidate positions per centimeter.
.. seealso:: :py:func:`setMaximumLineCandidatesPerCm`
.. versionadded:: 3.12
%End
void setMaximumLineCandidatesPerCm( double candidates );
%Docstring
Sets the maximum number of line label ``candidates`` per centimeter.
.. seealso:: :py:func:`maximumLineCandidatesPerCm`
.. versionadded:: 3.12
%End
double maximumPolygonCandidatesPerCmSquared() const;
%Docstring
Returns the maximum number of polygon label candidate positions per centimeter squared.
.. seealso:: :py:func:`setMaximumPolygonCandidatesPerCmSquared`
.. versionadded:: 3.12
%End
void setMaximumPolygonCandidatesPerCmSquared( double candidates );
%Docstring
Sets the maximum number of polygon label ``candidates`` per centimeter squared.
.. seealso:: :py:func:`maximumPolygonCandidatesPerCmSquared`
.. versionadded:: 3.12
%End
void numCandidatePositions( int &candPoint, int &candLine, int &candPolygon ) const /Deprecated/;
%Docstring
Gets number of candidate positions that will be generated for each label feature.
.. deprecated:: 3.12
Use :py:func:`~QgsLabelingEngineSettings.maximumPolygonCandidatesPerCmSquared` and :py:func:`~QgsLabelingEngineSettings.maximumLineCandidatesPerCm` instead.
%End
void setNumCandidatePositions( int candPoint, int candLine, int candPolygon ) /Deprecated/;
%Docstring
Sets the number of candidate positions that will be generated for each label feature.
.. deprecated:: 3.12
Use :py:func:`~QgsLabelingEngineSettings.setMaximumPolygonCandidatesPerCmSquared` and :py:func:`~QgsLabelingEngineSettings.setMaximumLineCandidatesPerCm` instead.
%End
void setSearchMethod( Search s ) /Deprecated/;
%Docstring
Used to set which search method to use for removal collisions between labels
.. deprecated:: 3.10
Chain is always used.
%End
Search searchMethod() const /Deprecated/;
%Docstring
Which search method to use for removal collisions between labels
.. deprecated:: 3.10
Chain is always used.
%End
void readSettingsFromProject( QgsProject *project );
%Docstring
Read configuration of the labeling engine from a project
.. note::
Both this method and :py:func:`~QgsLabelingEngineSettings.readXml` must be called to completely restore the object's state from a project.
%End
void writeSettingsToProject( QgsProject *project );
%Docstring
Write configuration of the labeling engine to a project.
.. note::
Both this method and :py:func:`~QgsLabelingEngineSettings.writeXml` must be called to completely store the object's state in a project.
%End
void writeXml( QDomDocument &doc, QDomElement &element, const QgsReadWriteContext &context ) const;
%Docstring
Writes the label engine settings to an XML ``element``.
.. note::
Both this method and :py:func:`~QgsLabelingEngineSettings.writeSettingsToProject` must be called to completely store the object's state in a project.
.. seealso:: :py:func:`readXml`
.. seealso:: :py:func:`writeSettingsToProject`
.. versionadded:: 3.40
%End
void readXml( const QDomElement &element, const QgsReadWriteContext &context );
%Docstring
Reads the label engine settings from an XML ``element``.
.. note::
Both this method and :py:func:`~QgsLabelingEngineSettings.readSettingsFromProject` must be called to completely restore the object's state from a project.
.. note::
:py:func:`~QgsLabelingEngineSettings.resolveReferences` must be called following this method.
.. seealso:: :py:func:`writeXml`
.. seealso:: :py:func:`readSettingsFromProject`
.. versionadded:: 3.40
%End
void resolveReferences( const QgsProject *project );
%Docstring
Resolves reference to layers from stored layer ID.
Should be called following a call :py:func:`~QgsLabelingEngineSettings.readXml`.
.. versionadded:: 3.40
%End
Qgis::TextRenderFormat defaultTextRenderFormat() const;
%Docstring
Returns the default text rendering format for the labels.
.. seealso:: :py:func:`setDefaultTextRenderFormat`
.. versionadded:: 3.4.3
%End
void setDefaultTextRenderFormat( Qgis::TextRenderFormat format );
%Docstring
Sets the default text rendering ``format`` for the labels.
.. seealso:: :py:func:`defaultTextRenderFormat`
.. versionadded:: 3.4.3
%End
QColor unplacedLabelColor() const;
%Docstring
Returns the color to use when rendering unplaced labels.
.. seealso:: :py:func:`setUnplacedLabelColor`
.. versionadded:: 3.10
%End
void setUnplacedLabelColor( const QColor &color );
%Docstring
Sets the ``color`` to use when rendering unplaced labels.
.. seealso:: :py:func:`unplacedLabelColor`
.. versionadded:: 3.10
%End
Qgis::LabelPlacementEngineVersion placementVersion() const;
%Docstring
Returns the placement engine version, which dictates how the label placement problem is solved.
.. seealso:: :py:func:`setPlacementVersion`
.. versionadded:: 3.10.2
%End
void setPlacementVersion( Qgis::LabelPlacementEngineVersion version );
%Docstring
Sets the placement engine ``version``, which dictates how the label placement problem is solved.
.. seealso:: :py:func:`placementVersion`
.. versionadded:: 3.10.2
%End
QList< QgsAbstractLabelingEngineRule * > rules();
%Docstring
Returns a list of labeling engine rules which must be satifisfied
while placing labels.
.. seealso:: :py:func:`addRule`
.. seealso:: :py:func:`setRules`
.. versionadded:: 3.40
%End
void addRule( QgsAbstractLabelingEngineRule *rule /Transfer/ );
%Docstring
Adds a labeling engine ``rule`` which must be satifisfied
while placing labels.
Ownership of the rule is transferred to the settings.
.. seealso:: :py:func:`rules`
.. seealso:: :py:func:`setRules`
.. versionadded:: 3.40
%End
void setRules( const QList< QgsAbstractLabelingEngineRule * > &rules /Transfer/ );
%Docstring
Sets the labeling engine ``rules`` which must be satifisfied
while placing labels.
Ownership of the rules are transferred to the settings.
.. seealso:: :py:func:`addRule`
.. seealso:: :py:func:`rules`
.. versionadded:: 3.40
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/labeling/qgslabelingenginesettings.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/