QGIS API Documentation  2.9.0-Master
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
QgsPalLabeling Class Reference

#include <qgspallabeling.h>

Inheritance diagram for QgsPalLabeling:
Inheritance graph
[legend]

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 int addDiagramLayer (QgsVectorLayer *layer, const QgsDiagramLayerSettings *s) override
 adds a diagram layer to the labeling engine More...
 
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 QgsLabelingEngineInterfaceclone () override
 called when passing engine among map renderers More...
 
virtual void drawLabel (pal::LabelPosition *label, QgsRenderContext &context, QgsPalLayerSettings &tmpLyr, DrawLabelType drawType, double dpiRatio=1.0)
 drawLabel More...
 
void drawLabelCandidateRect (pal::LabelPosition *lp, QPainter *painter, const QgsMapToPixel *xform)
 
virtual void drawLabeling (QgsRenderContext &context) override
 called when the map is drawn and labels should be placed 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< QgsLabelPositionlabelsAtPosition (const QgsPoint &p) override
 return infos about labels at a given (map) position More...
 
virtual Q_DECL_DEPRECATED QList< QgsLabelPositionlabelsWithinRect (const QgsRectangle &r) override
 return infos about labels within a given (map) rectangle More...
 
QgsPalLayerSettingslayer (const QString &layerName) override
 returns PAL layer settings for a registered layer More...
 
void loadEngineSettings ()
 load/save engine settings to project file More...
 
void numCandidatePositions (int &candPoint, int &candLine, int &candPolygon)
 
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, const QgsRenderContext &context=QgsRenderContext()) override
 called for every diagram feature More...
 
virtual void registerFeature (const QString &layerID, QgsFeature &feat, const QgsRenderContext &context=QgsRenderContext(), QString dxfLayer=QString::null) override
 hook called when drawing for every feature in a layer More...
 
void saveEngineSettings ()
 
Search searchMethod () const
 
void setDrawingOutlineLabels (bool outline)
 
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)
 
QgsLabelingResultstakeResults ()
 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 drawLabelShadow (QgsRenderContext &context, const QgsLabelComponent &component, const QgsPalLayerSettings &tmpLyr)
 
static bool geometryRequiresPreparation (const QgsGeometry *geometry, const QgsRenderContext &context, const QgsCoordinateTransform *ct, QgsGeometry *clipGeometry=0)
 Checks whether a geometry requires preparation before registration with PAL. More...
 
static QgsGeometry * prepareGeometry (const QgsGeometry *geometry, const QgsRenderContext &context, const QgsCoordinateTransform *ct, double minSize=0, QgsGeometry *clipGeometry=0)
 Prepares a geometry for registration with PAL. 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 dataDefinedDropShadow (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues)
 
void dataDefinedShapeBackground (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues)
 
void dataDefinedTextBuffer (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues)
 
void dataDefinedTextFormatting (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues)
 
void dataDefinedTextStyle (QgsPalLayerSettings &tmpLyr, const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &ddValues)
 
void deleteTemporaryData ()
 

Static Protected Member Functions

static bool checkMinimumSizeMM (const QgsRenderContext &context, QgsGeometry *geom, double minSize)
 Checks whether a geometry exceeds the minimum required size for a geometry to be labeled. More...
 

Protected Attributes

QHash< QString, QgsDiagramLayerSettingsmActiveDiagramLayers
 
QHash< QString, QgsPalLayerSettingsmActiveLayers
 
QList< QgsLabelCandidatemCandidates
 
int mCandLine
 
int mCandPoint
 
int mCandPolygon
 
bool mDrawOutlineLabels
 
QgsPalLayerSettings mInvalidLayerSettings
 
const QgsMapSettingsmMapSettings
 
pal::PalmPal
 
QgsLabelingResultsmResults
 
Search mSearch
 
bool mShowingAllLabels
 
bool mShowingCandidates
 
bool mShowingPartialsLabels
 
bool mShowingShadowRects
 

Detailed Description

Definition at line 702 of file qgspallabeling.h.

Member Enumeration Documentation

Enumerator
LabelText 
LabelBuffer 
LabelShape 
LabelSVG 
LabelShadow 

Definition at line 705 of file qgspallabeling.h.

Enumerator
Chain 
Popmusic_Tabu 
Popmusic_Chain 
Popmusic_Tabu_Chain 
Falp 

Definition at line 722 of file qgspallabeling.h.

Constructor & Destructor Documentation

QgsPalLabeling::QgsPalLabeling ( )

Definition at line 3050 of file qgspallabeling.cpp.

QgsPalLabeling::~QgsPalLabeling ( )

Definition at line 3077 of file qgspallabeling.cpp.

Member Function Documentation

int QgsPalLabeling::addDiagramLayer ( QgsVectorLayer layer,
const QgsDiagramLayerSettings s 
)
overridevirtual

adds a diagram layer to the labeling engine

Reimplemented from QgsLabelingEngineInterface.

Definition at line 3339 of file qgspallabeling.cpp.

const QList<QgsLabelCandidate>& QgsPalLabeling::candidates ( )
inline

Definition at line 729 of file qgspallabeling.h.

bool QgsPalLabeling::checkMinimumSizeMM ( const QgsRenderContext context,
QgsGeometry *  geom,
double  minSize 
)
staticprotected

Checks whether a geometry exceeds the minimum required size for a geometry to be labeled.

Parameters
contextrender context
geomgeometry
minSizeminimum size for geometry
Returns
true if geometry exceeds minimum size
Note
added in QGIS 2.9

Definition at line 3486 of file qgspallabeling.cpp.

void QgsPalLabeling::clearActiveLayer ( const QString &  layerID)
overridevirtual

clears data defined objects from PAL layer settings for a registered layer

Implements QgsLabelingEngineInterface.

Definition at line 3123 of file qgspallabeling.cpp.

void QgsPalLabeling::clearActiveLayers ( )
overridevirtual

clears all PAL layer settings for registered layers

Implements QgsLabelingEngineInterface.

Definition at line 3113 of file qgspallabeling.cpp.

void QgsPalLabeling::clearEngineSettings ( )

Definition at line 5190 of file qgspallabeling.cpp.

QgsLabelingEngineInterface * QgsPalLabeling::clone ( )
overridevirtual

called when passing engine among map renderers

Implements QgsLabelingEngineInterface.

Definition at line 5203 of file qgspallabeling.cpp.

void QgsPalLabeling::dataDefinedDropShadow ( QgsPalLayerSettings tmpLyr,
const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &  ddValues 
)
protected

Definition at line 3953 of file qgspallabeling.cpp.

void QgsPalLabeling::dataDefinedShapeBackground ( QgsPalLayerSettings tmpLyr,
const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &  ddValues 
)
protected

Definition at line 3842 of file qgspallabeling.cpp.

void QgsPalLabeling::dataDefinedTextBuffer ( QgsPalLayerSettings tmpLyr,
const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &  ddValues 
)
protected

Definition at line 3785 of file qgspallabeling.cpp.

void QgsPalLabeling::dataDefinedTextFormatting ( QgsPalLayerSettings tmpLyr,
const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &  ddValues 
)
protected

Definition at line 3732 of file qgspallabeling.cpp.

void QgsPalLabeling::dataDefinedTextStyle ( QgsPalLayerSettings tmpLyr,
const QMap< QgsPalLayerSettings::DataDefinedProperties, QVariant > &  ddValues 
)
protected

Definition at line 3707 of file qgspallabeling.cpp.

void QgsPalLabeling::deleteTemporaryData ( )
protected

Definition at line 4273 of file qgspallabeling.cpp.

void QgsPalLabeling::drawLabel ( pal::LabelPosition label,
QgsRenderContext context,
QgsPalLayerSettings tmpLyr,
DrawLabelType  drawType,
double  dpiRatio = 1.0 
)
virtual

drawLabel

Note
not available in python bindings

Reimplemented in QgsDxfPalLabeling.

Definition at line 4401 of file qgspallabeling.cpp.

void QgsPalLabeling::drawLabelBackground ( QgsRenderContext context,
QgsLabelComponent  component,
const QgsPalLayerSettings tmpLyr 
)
static

Definition at line 4707 of file qgspallabeling.cpp.

void QgsPalLabeling::drawLabelBuffer ( QgsRenderContext context,
const QgsLabelComponent component,
const QgsPalLayerSettings tmpLyr 
)
static

Definition at line 4652 of file qgspallabeling.cpp.

void QgsPalLabeling::drawLabelCandidateRect ( pal::LabelPosition lp,
QPainter *  painter,
const QgsMapToPixel xform 
)
Note
not available in python bindings

Definition at line 4351 of file qgspallabeling.cpp.

void QgsPalLabeling::drawLabeling ( QgsRenderContext context)
overridevirtual

called when the map is drawn and labels should be placed

Implements QgsLabelingEngineInterface.

Definition at line 4026 of file qgspallabeling.cpp.

void QgsPalLabeling::drawLabelShadow ( QgsRenderContext context,
const QgsLabelComponent component,
const QgsPalLayerSettings tmpLyr 
)
static

Definition at line 5004 of file qgspallabeling.cpp.

void QgsPalLabeling::exit ( )
overridevirtual

called when we're done with rendering

Implements QgsLabelingEngineInterface.

Definition at line 3687 of file qgspallabeling.cpp.

bool QgsPalLabeling::geometryRequiresPreparation ( const QgsGeometry *  geometry,
const QgsRenderContext context,
const QgsCoordinateTransform ct,
QgsGeometry *  clipGeometry = 0 
)
static

Checks whether a geometry requires preparation before registration with PAL.

Parameters
geometrygeometry to prepare
contextrender context
ctcoordinate transform
clipGeometrygeometry to clip features to, if applicable
Returns
true if geometry requires preparation
Note
added in QGIS 2.9

Definition at line 3369 of file qgspallabeling.cpp.

void QgsPalLabeling::init ( QgsMapRenderer mr)
overridevirtual

called when we're going to start with rendering

Deprecated:
since 2.4 - use override with QgsMapSettings

Implements QgsLabelingEngineInterface.

Definition at line 3649 of file qgspallabeling.cpp.

void QgsPalLabeling::init ( const QgsMapSettings mapSettings)
overridevirtual

called when we're going to start with rendering

Implements QgsLabelingEngineInterface.

Definition at line 3654 of file qgspallabeling.cpp.

bool QgsPalLabeling::isDrawingOutlineLabels ( ) const
inline
Note
added in 2.4

Definition at line 741 of file qgspallabeling.h.

bool QgsPalLabeling::isShowingAllLabels ( ) const
inline

Definition at line 734 of file qgspallabeling.h.

bool QgsPalLabeling::isShowingCandidates ( ) const
inline

Definition at line 727 of file qgspallabeling.h.

bool QgsPalLabeling::isShowingPartialsLabels ( ) const
inline

Definition at line 737 of file qgspallabeling.h.

bool QgsPalLabeling::isShowingShadowRectangles ( ) const
inline

Definition at line 731 of file qgspallabeling.h.

Q_DECL_DEPRECATED bool QgsPalLabeling::isStoredWithProject ( ) const
inline
Deprecated:
since 2.4 - settings are always stored in project

Definition at line 812 of file qgspallabeling.h.

QList< QgsLabelPosition > QgsPalLabeling::labelsAtPosition ( const QgsPoint p)
overridevirtual

return infos about labels at a given (map) position

Deprecated:
since 2.4 - use takeResults() and methods of QgsLabelingResults

Implements QgsLabelingEngineInterface.

Definition at line 4305 of file qgspallabeling.cpp.

QList< QgsLabelPosition > QgsPalLabeling::labelsWithinRect ( const QgsRectangle r)
overridevirtual

return infos about labels within a given (map) rectangle

Deprecated:
since 2.4 - use takeResults() and methods of QgsLabelingResults

Implements QgsLabelingEngineInterface.

Definition at line 4310 of file qgspallabeling.cpp.

QgsPalLayerSettings & QgsPalLabeling::layer ( const QString &  layerName)
overridevirtual

returns PAL layer settings for a registered layer

Implements QgsLabelingEngineInterface.

Definition at line 3694 of file qgspallabeling.cpp.

void QgsPalLabeling::loadEngineSettings ( )

load/save engine settings to project file

Definition at line 5152 of file qgspallabeling.cpp.

void QgsPalLabeling::numCandidatePositions ( int &  candPoint,
int &  candLine,
int &  candPolygon 
)

Definition at line 4327 of file qgspallabeling.cpp.

QgsGeometry * QgsPalLabeling::prepareGeometry ( const QgsGeometry *  geometry,
const QgsRenderContext context,
const QgsCoordinateTransform ct,
double  minSize = 0,
QgsGeometry *  clipGeometry = 0 
)
static

Prepares a geometry for registration with PAL.

Handles reprojection, rotation, clipping, etc.

Parameters
geometrygeometry to prepare
contextrender context
ctcoordinate transform
minSizeminimum allowable size for feature for registration with PAL
clipGeometrygeometry to clip features to, if applicable
Returns
prepared geometry
Note
added in QGIS 2.9

Definition at line 3415 of file qgspallabeling.cpp.

int QgsPalLabeling::prepareLayer ( QgsVectorLayer layer,
QStringList &  attrNames,
QgsRenderContext ctx 
)
overridevirtual

hook called when drawing layer before issuing select()

Implements QgsLabelingEngineInterface.

Definition at line 3137 of file qgspallabeling.cpp.

void QgsPalLabeling::registerDiagramFeature ( const QString &  layerID,
QgsFeature feat,
const QgsRenderContext context = QgsRenderContext() 
)
overridevirtual

called for every diagram feature

Reimplemented from QgsLabelingEngineInterface.

Definition at line 3524 of file qgspallabeling.cpp.

void QgsPalLabeling::registerFeature ( const QString &  layerID,
QgsFeature feat,
const QgsRenderContext context = QgsRenderContext(),
QString  dxfLayer = QString::null 
)
overridevirtual

hook called when drawing for every feature in a layer

Implements QgsLabelingEngineInterface.

Definition at line 3363 of file qgspallabeling.cpp.

void QgsPalLabeling::saveEngineSettings ( )

Definition at line 5177 of file qgspallabeling.cpp.

QgsPalLabeling::Search QgsPalLabeling::searchMethod ( ) const

Definition at line 4346 of file qgspallabeling.cpp.

void QgsPalLabeling::setDrawingOutlineLabels ( bool  outline)
inline

Definition at line 742 of file qgspallabeling.h.

void QgsPalLabeling::setNumCandidatePositions ( int  candPoint,
int  candLine,
int  candPolygon 
)

Definition at line 4334 of file qgspallabeling.cpp.

void QgsPalLabeling::setSearchMethod ( QgsPalLabeling::Search  s)

Definition at line 4341 of file qgspallabeling.cpp.

void QgsPalLabeling::setShowingAllLabels ( bool  showing)
inline

Definition at line 735 of file qgspallabeling.h.

void QgsPalLabeling::setShowingCandidates ( bool  showing)
inline

Definition at line 728 of file qgspallabeling.h.

void QgsPalLabeling::setShowingPartialsLabels ( bool  showing)
inline

Definition at line 738 of file qgspallabeling.h.

void QgsPalLabeling::setShowingShadowRectangles ( bool  showing)
inline

Definition at line 732 of file qgspallabeling.h.

Q_DECL_DEPRECATED void QgsPalLabeling::setStoredWithProject ( bool  store)
inline
Deprecated:
since 2.4 - settings are always stored in project

Definition at line 814 of file qgspallabeling.h.

QStringList QgsPalLabeling::splitToLines ( const QString &  text,
const QString &  wrapCharacter 
)
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.

Parameters
texttext string to split
wrapCharacteradditional character to wrap on
Returns
list of text split to lines
Note
added in QGIS 2.9

Definition at line 3396 of file qgspallabeling.cpp.

bool QgsPalLabeling::staticWillUseLayer ( QgsVectorLayer layer)
static

called to find out whether the layer is used for labeling

Note
added in 2.4

Definition at line 3102 of file qgspallabeling.cpp.

bool QgsPalLabeling::staticWillUseLayer ( const QString &  layerID)
static

Definition at line 3093 of file qgspallabeling.cpp.

QgsLabelingResults * QgsPalLabeling::takeResults ( )

Return pointer to recently computed results (in drawLabeling()) and pass the ownership of results to the caller.

Note
added in 2.4

Definition at line 4315 of file qgspallabeling.cpp.

bool QgsPalLabeling::willUseLayer ( QgsVectorLayer layer)
overridevirtual

called to find out whether the layer is used for labeling

Implements QgsLabelingEngineInterface.

Definition at line 3088 of file qgspallabeling.cpp.

Member Data Documentation

QHash<QString, QgsDiagramLayerSettings> QgsPalLabeling::mActiveDiagramLayers
protected

Definition at line 881 of file qgspallabeling.h.

QHash<QString, QgsPalLayerSettings> QgsPalLabeling::mActiveLayers
protected

Definition at line 879 of file qgspallabeling.h.

QList<QgsLabelCandidate> QgsPalLabeling::mCandidates
protected

Definition at line 891 of file qgspallabeling.h.

int QgsPalLabeling::mCandLine
protected

Definition at line 885 of file qgspallabeling.h.

int QgsPalLabeling::mCandPoint
protected

Definition at line 885 of file qgspallabeling.h.

int QgsPalLabeling::mCandPolygon
protected

Definition at line 885 of file qgspallabeling.h.

bool QgsPalLabeling::mDrawOutlineLabels
protected

Definition at line 896 of file qgspallabeling.h.

QgsPalLayerSettings QgsPalLabeling::mInvalidLayerSettings
protected

Definition at line 882 of file qgspallabeling.h.

const QgsMapSettings* QgsPalLabeling::mMapSettings
protected

Definition at line 884 of file qgspallabeling.h.

pal::Pal* QgsPalLabeling::mPal
protected

Definition at line 888 of file qgspallabeling.h.

QgsLabelingResults* QgsPalLabeling::mResults
protected

Definition at line 898 of file qgspallabeling.h.

Search QgsPalLabeling::mSearch
protected

Definition at line 886 of file qgspallabeling.h.

bool QgsPalLabeling::mShowingAllLabels
protected

Definition at line 893 of file qgspallabeling.h.

bool QgsPalLabeling::mShowingCandidates
protected

Definition at line 892 of file qgspallabeling.h.

bool QgsPalLabeling::mShowingPartialsLabels
protected

Definition at line 895 of file qgspallabeling.h.

bool QgsPalLabeling::mShowingShadowRects
protected

Definition at line 894 of file qgspallabeling.h.


The documentation for this class was generated from the following files: