QGIS API Documentation
3.14.0-Pi (9f7028fd23)
|
Class that adds extra information to QgsLabelFeature for text labels. More...
#include <qgspalgeometry.h>
Public Member Functions | |
QgsTextLabelFeature (QgsFeatureId id, geos::unique_ptr geometry, QSizeF size) | |
Construct text label feature. More... | |
QgsTextLabelFeature (QgsFeatureId id, GEOSGeometry *geometry, const QSizeF &size) | |
Construct text label feature. More... | |
~QgsTextLabelFeature () | |
Clean up. More... | |
~QgsTextLabelFeature () override | |
Clean up. More... | |
void | calculateInfo (bool curvedLabeling, QFontMetricsF *fm, const QgsMapToPixel *xform, double fontScale, double maxinangle, double maxoutangle) |
calculate data for info(). setDefinedFont() must have been called already. More... | |
void | calculateInfo (bool curvedLabeling, QFontMetricsF *fm, const QgsMapToPixel *xform, double maxinangle, double maxoutangle, QgsTextDocument *document=nullptr) |
calculate data for info(). setDefinedFont() must have been called already. More... | |
QgsTextCharacterFormat | characterFormat (int partId) const |
Returns the character format corresponding to the specified label part. More... | |
const QMap< QgsPalLayerSettings::Property, QVariant > & | dataDefinedValues () const |
Gets data-defined values. More... | |
const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > & | dataDefinedValues () const |
Gets data-defined values. More... | |
QFont | definedFont () |
Font to be used for rendering. More... | |
QFont | definedFont () |
Font to be used for rendering. More... | |
QgsTextDocument | document () const |
Returns the document for the label. More... | |
bool | hasCharacterFormat (int partId) const |
Returns true if the feature contains specific character formatting for the part with matching ID. More... | |
QFontMetricsF * | labelFontMetrics () |
Metrics of the font for rendering. More... | |
QFontMetricsF * | labelFontMetrics () |
Metrics of the font for rendering. More... | |
void | setDataDefinedValues (const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &values) |
Sets data-defined values. More... | |
void | setDataDefinedValues (const QMap< QgsPalLayerSettings::Property, QVariant > &values) |
Sets data-defined values. More... | |
void | setDefinedFont (const QFont &f) |
Sets font to be used for rendering. More... | |
void | setDefinedFont (const QFont &f) |
Sets font to be used for rendering. More... | |
void | setDocument (const QgsTextDocument &document) |
Sets the document for the label. More... | |
QString | text (int partId) const |
Returns the text component corresponding to a specified label part. More... | |
QString | text (int partId) const |
Returns the text component corresponding to a specified label part. More... | |
Public Member Functions inherited from QgsLabelFeature | |
QgsLabelFeature (QgsFeatureId id, geos::unique_ptr geometry, QSizeF size) | |
Create label feature, takes ownership of the geometry instance. More... | |
virtual | ~QgsLabelFeature () |
Clean up geometry and curved label info (if present) More... | |
bool | alwaysShow () const |
Whether label should be always shown (sets very high label priority) More... | |
QgsPointXY | anchorPosition () const |
In case of quadrand or aligned positioning, this is set to the anchor point. More... | |
QgsLabeling::LinePlacementFlags | arrangementFlags () const |
Returns the feature's arrangement flags. More... | |
pal::LabelInfo * | curvedLabelInfo () const |
Gets additional info required for curved label placement. Returns nullptr if not set. More... | |
double | distLabel () const |
Applies to "around point" placement strategy or linestring features. More... | |
QgsFeature | feature () const |
Returns the original feature associated with this label. More... | |
double | fixedAngle () const |
Angle in degrees of the fixed angle (relevant only if hasFixedAngle() returns true ) More... | |
QgsPointXY | fixedPosition () const |
Coordinates of the fixed position (relevant only if hasFixedPosition() returns true ) More... | |
GEOSGeometry * | geometry () const |
Gets access to the associated geometry. More... | |
bool | hasFixedAngle () const |
Whether the label should use a fixed angle instead of using angle from automatic placement. More... | |
bool | hasFixedPosition () const |
Whether the label should use a fixed position instead of being automatically placed. More... | |
bool | hasFixedQuadrant () const |
Returns whether the quadrant for the label is fixed. More... | |
QgsFeatureId | id () const |
Identifier of the label (unique within the parent label provider) More... | |
bool | labelAllParts () const |
Returns true if all parts of the feature should be labeled. More... | |
QString | labelText () const |
Text of the label. More... | |
pal::Layer * | layer () const |
Gets PAL layer of the label feature. Should be only used internally in PAL. More... | |
const QgsLabelObstacleSettings & | obstacleSettings () const |
Returns the label's obstacle settings. More... | |
QgsPalLayerSettings::OffsetType | offsetType () const |
Returns the offset type, which determines how offsets and distance to label behaves. More... | |
double | overrunDistance () const |
Returns the permissible distance (in map units) which labels are allowed to overrun the start or end of linear features. More... | |
double | overrunSmoothDistance () const |
Returns the distance (in map units) with which the ends of linear features are averaged over when calculating the direction at which to overrun labels. More... | |
QgsGeometry | permissibleZone () const |
Returns the label's permissible zone geometry. More... | |
const GEOSPreparedGeometry * | permissibleZonePrepared () const |
Returns a GEOS prepared geometry representing the label's permissibleZone(). More... | |
QgsLabeling::PolygonPlacementFlags | polygonPlacementFlags () const |
Returns the polygon placement flags, which dictate how polygon labels can be placed. More... | |
QgsPointXY | positionOffset () const |
Applies only to "offset from point" placement strategy. More... | |
QVector< QgsPalLayerSettings::PredefinedPointPosition > | predefinedPositionOrder () const |
Returns the priority ordered list of predefined positions for label candidates. More... | |
double | priority () const |
Returns the feature's labeling priority. More... | |
QgsAbstractLabelProvider * | provider () const |
Returns provider of this instance. More... | |
QPointF | quadOffset () const |
Applies to "offset from point" placement strategy and "around point" (in case hasFixedQuadrant() returns true ). More... | |
double | repeatDistance () const |
Applies only to linestring features - after what distance (in map units) the labels should be repeated (0 = no repetitions) More... | |
void | setAlwaysShow (bool enabled) |
Sets whether label should be always shown (sets very high label priority) More... | |
void | setAnchorPosition (const QgsPointXY &anchorPosition) |
In case of quadrand or aligned positioning, this is set to the anchor point. More... | |
void | setArrangementFlags (QgsLabeling::LinePlacementFlags flags) |
Sets the feature's arrangement flags. More... | |
void | setCurvedLabelInfo (pal::LabelInfo *info) |
takes ownership of the instance More... | |
void | setDistLabel (double dist) |
Applies to "around point" placement strategy or linestring features. More... | |
void | setFeature (const QgsFeature &feature) |
Sets the original feature associated with this label. More... | |
void | setFixedAngle (double angle) |
Sets angle in degrees of the fixed angle (relevant only if hasFixedAngle() returns true ) More... | |
void | setFixedPosition (const QgsPointXY &point) |
Sets coordinates of the fixed position (relevant only if hasFixedPosition() returns true ) More... | |
void | setHasFixedAngle (bool enabled) |
Sets whether the label should use a fixed angle instead of using angle from automatic placement. More... | |
void | setHasFixedPosition (bool enabled) |
Sets whether the label should use a fixed position instead of being automatically placed. More... | |
void | setHasFixedQuadrant (bool enabled) |
Sets whether the quadrant for the label must be respected. More... | |
void | setLabelAllParts (bool labelAllParts) |
Sets whether all parts of the feature should be labeled. More... | |
void | setLabelText (const QString &text) |
Sets text of the label. More... | |
void | setLayer (pal::Layer *layer) |
Assign PAL layer to the label feature. Should be only used internally in PAL. More... | |
void | setObstacleSettings (const QgsLabelObstacleSettings &settings) |
Sets the label's obstacle settings. More... | |
void | setOffsetType (QgsPalLayerSettings::OffsetType type) |
Sets the offset type, which determines how offsets and distance to label behaves. More... | |
void | setOverrunDistance (double distance) |
Sets the permissible distance (in map units) which labels are allowed to overrun the start or end of linear features. More... | |
void | setOverrunSmoothDistance (double distance) |
Sets the distance (in map units) with which the ends of linear features are averaged over when calculating the direction at which to overrun labels. More... | |
void | setPermissibleZone (const QgsGeometry &geometry) |
Sets the label's permissible zone geometry. More... | |
void | setPolygonPlacementFlags (QgsLabeling::PolygonPlacementFlags flags) |
Sets the polygon placement flags, which dictate how polygon labels can be placed. More... | |
void | setPositionOffset (const QgsPointXY &offset) |
Applies only to "offset from point" placement strategy. More... | |
void | setPredefinedPositionOrder (const QVector< QgsPalLayerSettings::PredefinedPointPosition > &order) |
Sets the priority ordered list of predefined positions for label candidates. More... | |
void | setPriority (double priority) |
Sets the priority for labeling the feature. More... | |
void | setQuadOffset (QPointF quadOffset) |
Set which side of the point to use. More... | |
void | setRepeatDistance (double dist) |
Applies only to linestring features - set after what distance (in map units) the labels should be repeated (0 = no repetitions) More... | |
void | setRotatedSize (QSizeF size) |
Sets an alternate label size to be used when a label rotation angle is between 45 to 135 and 235 to 313 degrees and the text rotation mode is set to rotation-based. More... | |
void | setSymbol (const QgsSymbol *symbol) |
Sets the feature symbol associated with this label. More... | |
void | setSymbolSize (QSizeF size) |
Sets the size of the rendered symbol associated with this feature. More... | |
void | setVisualMargin (const QgsMargins &margin) |
Sets the visual margin for the label feature. More... | |
void | setZIndex (double zIndex) |
Sets the label's z-index. More... | |
QSizeF | size (double angle=0.0) const |
Size of the label (in map units) More... | |
const QgsSymbol * | symbol () |
Returns the feature symbol associated with this label. More... | |
const QSizeF & | symbolSize () const |
Returns the size of the rendered symbol associated with this feature, if applicable. More... | |
const QgsMargins & | visualMargin () const |
Returns the visual margin for the label feature. More... | |
double | zIndex () const |
Returns the label's z-index. More... | |
Protected Attributes | |
QList< QgsTextCharacterFormat > | mCharacterFormats |
QStringList | mClusters |
List of graphemes (used for curved labels) More... | |
QMap< QgsPalLayerSettings::Property, QVariant > | mDataDefinedValues |
Stores attribute values for data defined properties. More... | |
QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > | mDataDefinedValues |
Stores attribute values for data defined properties. More... | |
QFont | mDefinedFont |
Font for rendering. More... | |
QgsTextDocument | mDocument |
QFontMetricsF * | mFontMetrics = nullptr |
Metrics of the font for rendering. More... | |
Protected Attributes inherited from QgsLabelFeature | |
bool | mAlwaysShow = false |
whether to always show label - even in case of collisions More... | |
QgsLabeling::LinePlacementFlags | mArrangementFlags = nullptr |
double | mDistLabel = 0 |
distance of label from the feature (only for "around point" placement or linestrings) More... | |
double | mFixedAngle = 0 |
fixed rotation for the label (instead of automatic choice) More... | |
QgsPointXY | mFixedPosition |
fixed position for the label (instead of automatic placement) More... | |
geos::unique_ptr | mGeometry |
Geometry of the feature to be labelled. More... | |
bool | mHasFixedAngle = false |
whether mFixedAngle should be respected More... | |
bool | mHasFixedPosition = false |
whether mFixedPosition should be respected More... | |
bool | mHasFixedQuadrant = false |
whether mQuadOffset should be respected (only for "around point" placement) More... | |
QgsFeatureId | mId |
Associated ID unique within the parent label provider. More... | |
pal::LabelInfo * | mInfo = nullptr |
extra information for curved labels (may be nullptr ) More... | |
QString | mLabelText |
text of the label More... | |
pal::Layer * | mLayer = nullptr |
Pointer to PAL layer (assigned when registered to PAL) More... | |
QgsPalLayerSettings::OffsetType | mOffsetType = QgsPalLayerSettings::FromPoint |
Offset type for certain placement modes. More... | |
double | mOverrunDistance = 0 |
Distance to allow label to overrun linear features. More... | |
double | mOverrunSmoothDistance = 0 |
Distance to smooth angle of line start and end when calculating overruns. More... | |
QgsGeometry | mPermissibleZone |
Optional geometry to use for label's permissible zone. More... | |
QgsLabeling::PolygonPlacementFlags | mPolygonPlacementFlags = QgsLabeling::PolygonPlacementFlag::AllowPlacementInsideOfPolygon |
QgsPointXY | mPositionOffset |
offset of label from the feature (only for "offset from point" placement) More... | |
QVector< QgsPalLayerSettings::PredefinedPointPosition > | mPredefinedPositionOrder |
Ordered list of predefined positions for label (only for OrderedPositionsAroundPoint placement) More... | |
double | mPriority = -1 |
Priority of the label. More... | |
QPointF | mQuadOffset |
whether the side of the label is fixed (only for "around point" placement) More... | |
double | mRepeatDistance = 0 |
distance after which label should be repeated (only for linestrings) More... | |
QSizeF | mRotatedSize |
Width and height of the label when rotated between 45 to 135 and 235 to 315 degrees;. More... | |
QSizeF | mSize |
Width and height of the label. More... | |
QSizeF | mSymbolSize |
Size of associated rendered symbol, if applicable. More... | |
QgsMargins | mVisualMargin |
Visual margin of label contents. More... | |
double | mZIndex = 0 |
Z-index of label (higher z-index labels are rendered on top of lower z-index labels) More... | |
Class that adds extra information to QgsLabelFeature for text labels.
Class that adds extra information to QgsLabelFeature for text labels
Definition at line 30 of file qgspalgeometry.h.
|
inline |
Construct text label feature.
Definition at line 47 of file qgspalgeometry.h.
|
inline |
Clean up.
Definition at line 55 of file qgspalgeometry.h.
QgsTextLabelFeature::QgsTextLabelFeature | ( | QgsFeatureId | id, |
geos::unique_ptr | geometry, | ||
QSizeF | size | ||
) |
Construct text label feature.
Definition at line 26 of file qgstextlabelfeature.cpp.
|
override |
Clean up.
|
inline |
calculate data for info(). setDefinedFont() must have been called already.
Definition at line 75 of file qgspalgeometry.h.
void QgsTextLabelFeature::calculateInfo | ( | bool | curvedLabeling, |
QFontMetricsF * | fm, | ||
const QgsMapToPixel * | xform, | ||
double | maxinangle, | ||
double | maxoutangle, | ||
QgsTextDocument * | document = nullptr |
||
) |
calculate data for info(). setDefinedFont() must have been called already.
Definition at line 57 of file qgstextlabelfeature.cpp.
QgsTextCharacterFormat QgsTextLabelFeature::characterFormat | ( | int | partId | ) | const |
Returns the character format corresponding to the specified label part.
partId | Set to the required part index for labels which are broken into parts (curved labels) |
This only returns valid formats for curved label placements.
Definition at line 47 of file qgstextlabelfeature.cpp.
|
inline |
Gets data-defined values.
Definition at line 69 of file qgstextlabelfeature.h.
|
inline |
Gets data-defined values.
Definition at line 140 of file qgspalgeometry.h.
|
inline |
Font to be used for rendering.
Definition at line 76 of file qgstextlabelfeature.h.
|
inline |
Font to be used for rendering.
Definition at line 147 of file qgspalgeometry.h.
QgsTextDocument QgsTextLabelFeature::document | ( | ) | const |
Returns the document for the label.
Definition at line 139 of file qgstextlabelfeature.cpp.
bool QgsTextLabelFeature::hasCharacterFormat | ( | int | partId | ) | const |
Returns true
if the feature contains specific character formatting for the part with matching ID.
Definition at line 52 of file qgstextlabelfeature.cpp.
|
inline |
Metrics of the font for rendering.
Definition at line 79 of file qgstextlabelfeature.h.
|
inline |
Metrics of the font for rendering.
Definition at line 150 of file qgspalgeometry.h.
|
inline |
Sets data-defined values.
Definition at line 142 of file qgspalgeometry.h.
|
inline |
Sets data-defined values.
Definition at line 71 of file qgstextlabelfeature.h.
|
inline |
Sets font to be used for rendering.
Definition at line 74 of file qgstextlabelfeature.h.
|
inline |
Sets font to be used for rendering.
Definition at line 145 of file qgspalgeometry.h.
void QgsTextLabelFeature::setDocument | ( | const QgsTextDocument & | document | ) |
Sets the document for the label.
Definition at line 144 of file qgstextlabelfeature.cpp.
QString QgsTextLabelFeature::text | ( | int | partId | ) | const |
Returns the text component corresponding to a specified label part.
partId | Set to -1 for labels which are not broken into parts (e.g., non-curved labels), or the required part index for labels which are broken into parts (curved labels) |
|
inline |
Returns the text component corresponding to a specified label part.
partId | Set to -1 for labels which are not broken into parts (e.g., non-curved labels), or the required part index for labels which are broken into parts (curved labels) |
Definition at line 66 of file qgspalgeometry.h.
|
protected |
Definition at line 99 of file qgstextlabelfeature.h.
|
protected |
List of graphemes (used for curved labels)
Definition at line 154 of file qgspalgeometry.h.
|
protected |
Stores attribute values for data defined properties.
Definition at line 106 of file qgstextlabelfeature.h.
|
protected |
Stores attribute values for data defined properties.
Definition at line 160 of file qgspalgeometry.h.
|
protected |
Font for rendering.
Definition at line 156 of file qgspalgeometry.h.
|
protected |
Definition at line 108 of file qgstextlabelfeature.h.
|
protected |
Metrics of the font for rendering.
Definition at line 158 of file qgspalgeometry.h.