QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
#include <qgspallabeling.h>
Public Types | |
enum | DrawLabelType { LabelText = 0, LabelBuffer, LabelShape, LabelSVG, LabelShadow } |
enum | Search { Chain, Popmusic_Tabu, Popmusic_Chain, Popmusic_Tabu_Chain, Falp } |
Public Member Functions | |
QgsPalLabeling () | |
~QgsPalLabeling () | |
virtual Q_DECL_DEPRECATED int | addDiagramLayer (QgsVectorLayer *layer, const QgsDiagramLayerSettings *s) override |
adds a diagram layer to the labeling engine More... | |
Q_DECL_DEPRECATED const QList< QgsLabelCandidate > & | candidates () |
virtual void | clearActiveLayer (const QString &layerID) override |
clears data defined objects from PAL layer settings for a registered layer More... | |
virtual void | clearActiveLayers () override |
clears all PAL layer settings for registered layers More... | |
void | clearEngineSettings () |
virtual QgsPalLabeling * | clone () override |
called when passing engine among map renderers More... | |
virtual void | drawLabeling (QgsRenderContext &context) override |
called when the map is drawn and labels should be placed More... | |
bool | drawLabelRectOnly () const |
Returns whether the engine will only draw the outline rectangles of labels, not the label contents themselves. More... | |
virtual void | exit () override |
called when we're done with rendering More... | |
virtual Q_DECL_DEPRECATED void | init (QgsMapRenderer *mr) override |
called when we're going to start with rendering More... | |
virtual void | init (const QgsMapSettings &mapSettings) override |
called when we're going to start with rendering More... | |
bool | isDrawingOutlineLabels () const |
bool | isShowingAllLabels () const |
bool | isShowingCandidates () const |
bool | isShowingPartialsLabels () const |
bool | isShowingShadowRectangles () const |
Q_DECL_DEPRECATED bool | isStoredWithProject () const |
virtual Q_DECL_DEPRECATED QList< QgsLabelPosition > | labelsAtPosition (const QgsPoint &p) override |
return infos about labels at a given (map) position More... | |
virtual Q_DECL_DEPRECATED QList< QgsLabelPosition > | labelsWithinRect (const QgsRectangle &r) override |
return infos about labels within a given (map) rectangle More... | |
Q_DECL_DEPRECATED QgsPalLayerSettings & | layer (const QString &layerName) override |
void | loadEngineSettings () |
load/save engine settings to project file More... | |
void | numCandidatePositions (int &candPoint, int &candLine, int &candPolygon) |
virtual int | prepareDiagramLayer (QgsVectorLayer *layer, QStringList &attrNames, QgsRenderContext &ctx) override |
adds a diagram layer to the labeling engine More... | |
virtual int | prepareLayer (QgsVectorLayer *layer, QStringList &attrNames, QgsRenderContext &ctx) override |
hook called when drawing layer before issuing select() More... | |
virtual void | registerDiagramFeature (const QString &layerID, QgsFeature &feat, QgsRenderContext &context) override |
called for every diagram feature More... | |
virtual void | registerFeature (const QString &layerID, QgsFeature &feat, QgsRenderContext &context) override |
Register a feature for labelling. More... | |
void | saveEngineSettings () |
Search | searchMethod () const |
void | setDrawingOutlineLabels (bool outline) |
void | setDrawLabelRectOnly (bool drawRect) |
Sets whether the engine should only draw the outline rectangles of labels, not the label contents themselves. More... | |
void | setNumCandidatePositions (int candPoint, int candLine, int candPolygon) |
void | setSearchMethod (Search s) |
void | setShowingAllLabels (bool showing) |
void | setShowingCandidates (bool showing) |
void | setShowingPartialsLabels (bool showing) |
void | setShowingShadowRectangles (bool showing) |
Q_DECL_DEPRECATED void | setStoredWithProject (bool store) |
QgsLabelingResults * | takeResults () |
Return pointer to recently computed results (in drawLabeling()) and pass the ownership of results to the caller. More... | |
virtual bool | willUseLayer (QgsVectorLayer *layer) override |
called to find out whether the layer is used for labeling More... | |
Public Member Functions inherited from QgsLabelingEngineInterface | |
virtual | ~QgsLabelingEngineInterface () |
Static Public Member Functions | |
static void | drawLabelBackground (QgsRenderContext &context, QgsLabelComponent component, const QgsPalLayerSettings &tmpLyr) |
static void | drawLabelBuffer (QgsRenderContext &context, const QgsLabelComponent &component, const QgsPalLayerSettings &tmpLyr) |
static void | drawLabelCandidateRect (pal::LabelPosition *lp, QPainter *painter, const QgsMapToPixel *xform, QList< QgsLabelCandidate > *candidates=nullptr) |
static void | drawLabelShadow (QgsRenderContext &context, const QgsLabelComponent &component, const QgsPalLayerSettings &tmpLyr) |
static bool | geometryRequiresPreparation (const QgsGeometry *geometry, QgsRenderContext &context, const QgsCoordinateTransform *ct, QgsGeometry *clipGeometry=nullptr) |
Checks whether a geometry requires preparation before registration with PAL. More... | |
static QgsGeometry * | prepareGeometry (const QgsGeometry *geometry, QgsRenderContext &context, const QgsCoordinateTransform *ct, QgsGeometry *clipGeometry=nullptr) |
Prepares a geometry for registration with PAL. More... | |
static QStringList | splitToGraphemes (const QString &text) |
Splits a text string to a list of graphemes, which are the smallest allowable character divisions in the string. More... | |
static QStringList | splitToLines (const QString &text, const QString &wrapCharacter) |
Splits a text string to a list of separate lines, using a specified wrap character. More... | |
static bool | staticWillUseLayer (QgsVectorLayer *layer) |
called to find out whether the layer is used for labeling More... | |
static bool | staticWillUseLayer (const QString &layerID) |
Protected Member Functions | |
void | deleteTemporaryData () |
Static Protected Member Functions | |
static bool | checkMinimumSizeMM (const QgsRenderContext &context, const QgsGeometry *geom, double minSize) |
Checks whether a geometry exceeds the minimum required size for a geometry to be labeled. More... | |
static void | dataDefinedDropShadow (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues) |
static void | dataDefinedShapeBackground (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues) |
static void | dataDefinedTextBuffer (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues) |
static void | dataDefinedTextFormatting (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues) |
static void | dataDefinedTextStyle (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues) |
Protected Attributes | |
QList< QgsLabelCandidate > | mCandidates |
QHash< QString, QgsVectorLayerDiagramProvider * > | mDiagramProviders |
hashtable of diagram providers (key = layer ID) More... | |
QgsLabelingEngineV2 * | mEngine |
New labeling engine to interface with PAL. More... | |
QgsPalLayerSettings | mInvalidLayerSettings |
QHash< QString, QgsVectorLayerLabelProvider * > | mLabelProviders |
hashtable of label providers, being filled during labeling (key = layer ID) More... | |
Friends | |
class | QgsDxfExport |
class | QgsPalLayerSettings |
class | QgsVectorLayerLabelProvider |
Definition at line 875 of file qgspallabeling.h.
Enumerator | |
---|---|
LabelText | |
LabelBuffer | |
LabelShape | |
LabelSVG | |
LabelShadow |
Definition at line 878 of file qgspallabeling.h.
Enumerator | |
---|---|
Chain | |
Popmusic_Tabu | |
Popmusic_Chain | |
Popmusic_Tabu_Chain | |
Falp |
Definition at line 896 of file qgspallabeling.h.
QgsPalLabeling::QgsPalLabeling | ( | ) |
Definition at line 3945 of file qgspallabeling.cpp.
QgsPalLabeling::~QgsPalLabeling | ( | ) |
Definition at line 3950 of file qgspallabeling.cpp.
|
overridevirtual |
adds a diagram layer to the labeling engine
Reimplemented from QgsLabelingEngineInterface.
Definition at line 4037 of file qgspallabeling.cpp.
|
inline |
Definition at line 904 of file qgspallabeling.h.
|
staticprotected |
Checks whether a geometry exceeds the minimum required size for a geometry to be labeled.
context | render context |
geom | geometry |
minSize | minimum size for geometry |
Definition at line 4195 of file qgspallabeling.cpp.
|
overridevirtual |
clears data defined objects from PAL layer settings for a registered layer
Implements QgsLabelingEngineInterface.
Definition at line 3987 of file qgspallabeling.cpp.
|
overridevirtual |
clears all PAL layer settings for registered layers
Implements QgsLabelingEngineInterface.
Definition at line 3983 of file qgspallabeling.cpp.
void QgsPalLabeling::clearEngineSettings | ( | ) |
Definition at line 5252 of file qgspallabeling.cpp.
|
overridevirtual |
called when passing engine among map renderers
Implements QgsLabelingEngineInterface.
Definition at line 5265 of file qgspallabeling.cpp.
|
staticprotected |
Definition at line 4509 of file qgspallabeling.cpp.
|
staticprotected |
Definition at line 4398 of file qgspallabeling.cpp.
|
staticprotected |
Definition at line 4341 of file qgspallabeling.cpp.
|
staticprotected |
Definition at line 4288 of file qgspallabeling.cpp.
|
staticprotected |
Definition at line 4263 of file qgspallabeling.cpp.
|
protected |
Definition at line 4582 of file qgspallabeling.cpp.
|
static |
Definition at line 4797 of file qgspallabeling.cpp.
|
static |
Definition at line 4741 of file qgspallabeling.cpp.
|
static |
Definition at line 4681 of file qgspallabeling.cpp.
|
overridevirtual |
called when the map is drawn and labels should be placed
Implements QgsLabelingEngineInterface.
Definition at line 4577 of file qgspallabeling.cpp.
bool QgsPalLabeling::drawLabelRectOnly | ( | ) | const |
Returns whether the engine will only draw the outline rectangles of labels, not the label contents themselves.
Used for debugging and testing purposes.
Definition at line 4671 of file qgspallabeling.cpp.
|
static |
Definition at line 5094 of file qgspallabeling.cpp.
|
overridevirtual |
called when we're done with rendering
Implements QgsLabelingEngineInterface.
Definition at line 4251 of file qgspallabeling.cpp.
|
static |
Checks whether a geometry requires preparation before registration with PAL.
geometry | geometry to prepare |
context | render context |
ct | coordinate transform |
clipGeometry | geometry to clip features to, if applicable |
Definition at line 4051 of file qgspallabeling.cpp.
|
overridevirtual |
called when we're going to start with rendering
Implements QgsLabelingEngineInterface.
Definition at line 4240 of file qgspallabeling.cpp.
|
overridevirtual |
called when we're going to start with rendering
Implements QgsLabelingEngineInterface.
Definition at line 4246 of file qgspallabeling.cpp.
bool QgsPalLabeling::isDrawingOutlineLabels | ( | ) | const |
Definition at line 4661 of file qgspallabeling.cpp.
bool QgsPalLabeling::isShowingAllLabels | ( | ) | const |
Definition at line 4641 of file qgspallabeling.cpp.
bool QgsPalLabeling::isShowingCandidates | ( | ) | const |
Definition at line 4621 of file qgspallabeling.cpp.
bool QgsPalLabeling::isShowingPartialsLabels | ( | ) | const |
Definition at line 4651 of file qgspallabeling.cpp.
bool QgsPalLabeling::isShowingShadowRectangles | ( | ) | const |
Definition at line 4631 of file qgspallabeling.cpp.
|
inline |
Definition at line 1010 of file qgspallabeling.h.
|
overridevirtual |
return infos about labels at a given (map) position
Implements QgsLabelingEngineInterface.
Definition at line 4586 of file qgspallabeling.cpp.
|
overridevirtual |
return infos about labels within a given (map) rectangle
Implements QgsLabelingEngineInterface.
Definition at line 4591 of file qgspallabeling.cpp.
|
overridevirtual |
Implements QgsLabelingEngineInterface.
Definition at line 4257 of file qgspallabeling.cpp.
void QgsPalLabeling::loadEngineSettings | ( | ) |
load/save engine settings to project file
Definition at line 5242 of file qgspallabeling.cpp.
void QgsPalLabeling::numCandidatePositions | ( | int & | candPoint, |
int & | candLine, | ||
int & | candPolygon | ||
) |
Definition at line 4601 of file qgspallabeling.cpp.
|
overridevirtual |
adds a diagram layer to the labeling engine
Reimplemented from QgsLabelingEngineInterface.
Definition at line 4021 of file qgspallabeling.cpp.
|
static |
Prepares a geometry for registration with PAL.
Handles reprojection, rotation, clipping, etc.
geometry | geometry to prepare |
context | render context |
ct | coordinate transform |
clipGeometry | geometry to clip features to, if applicable |
Definition at line 4111 of file qgspallabeling.cpp.
|
overridevirtual |
hook called when drawing layer before issuing select()
Implements QgsLabelingEngineInterface.
Definition at line 3993 of file qgspallabeling.cpp.
|
overridevirtual |
called for every diagram feature
Reimplemented from QgsLabelingEngineInterface.
Definition at line 4233 of file qgspallabeling.cpp.
|
overridevirtual |
Register a feature for labelling.
layerID | string identifying layer associated with label |
feat | feature to label |
context | render context. The QgsExpressionContext contained within the render context must have already had the feature and fields sets prior to calling this method. |
Implements QgsLabelingEngineInterface.
Definition at line 4045 of file qgspallabeling.cpp.
void QgsPalLabeling::saveEngineSettings | ( | ) |
Definition at line 5247 of file qgspallabeling.cpp.
QgsPalLabeling::Search QgsPalLabeling::searchMethod | ( | ) | const |
Definition at line 4616 of file qgspallabeling.cpp.
void QgsPalLabeling::setDrawingOutlineLabels | ( | bool | outline | ) |
Definition at line 4666 of file qgspallabeling.cpp.
void QgsPalLabeling::setDrawLabelRectOnly | ( | bool | drawRect | ) |
Sets whether the engine should only draw the outline rectangles of labels, not the label contents themselves.
Used for debugging and testing purposes.
drawRect | set to true to enable rect drawing only |
Definition at line 4676 of file qgspallabeling.cpp.
void QgsPalLabeling::setNumCandidatePositions | ( | int | candPoint, |
int | candLine, | ||
int | candPolygon | ||
) |
Definition at line 4606 of file qgspallabeling.cpp.
void QgsPalLabeling::setSearchMethod | ( | QgsPalLabeling::Search | s | ) |
Definition at line 4611 of file qgspallabeling.cpp.
void QgsPalLabeling::setShowingAllLabels | ( | bool | showing | ) |
Definition at line 4646 of file qgspallabeling.cpp.
void QgsPalLabeling::setShowingCandidates | ( | bool | showing | ) |
Definition at line 4626 of file qgspallabeling.cpp.
void QgsPalLabeling::setShowingPartialsLabels | ( | bool | showing | ) |
Definition at line 4656 of file qgspallabeling.cpp.
void QgsPalLabeling::setShowingShadowRectangles | ( | bool | showing | ) |
Definition at line 4636 of file qgspallabeling.cpp.
|
inline |
Definition at line 1012 of file qgspallabeling.h.
|
static |
Splits a text string to a list of graphemes, which are the smallest allowable character divisions in the string.
This accounts for scripts were individual characters are not allowed to be split apart (eg Arabic and Indic based scripts)
text | string to split |
Definition at line 4097 of file qgspallabeling.cpp.
|
static |
Splits a text string to a list of separate lines, using a specified wrap character.
The text string will be split on either newline characters or the wrap character.
text | text string to split |
wrapCharacter | additional character to wrap on |
Definition at line 4078 of file qgspallabeling.cpp.
|
static |
called to find out whether the layer is used for labeling
Definition at line 3970 of file qgspallabeling.cpp.
|
static |
Definition at line 3961 of file qgspallabeling.cpp.
QgsLabelingResults * QgsPalLabeling::takeResults | ( | ) |
Return pointer to recently computed results (in drawLabeling()) and pass the ownership of results to the caller.
Definition at line 4596 of file qgspallabeling.cpp.
|
overridevirtual |
called to find out whether the layer is used for labeling
Implements QgsLabelingEngineInterface.
Definition at line 3956 of file qgspallabeling.cpp.
|
friend |
Definition at line 1074 of file qgspallabeling.h.
|
friend |
Definition at line 1099 of file qgspallabeling.h.
|
friend |
Definition at line 1073 of file qgspallabeling.h.
|
protected |
Definition at line 1097 of file qgspallabeling.h.
|
protected |
hashtable of diagram providers (key = layer ID)
Definition at line 1090 of file qgspallabeling.h.
|
protected |
New labeling engine to interface with PAL.
Definition at line 1094 of file qgspallabeling.h.
|
protected |
Definition at line 1091 of file qgspallabeling.h.
|
protected |
hashtable of label providers, being filled during labeling (key = layer ID)
Definition at line 1088 of file qgspallabeling.h.