QGIS API Documentation  2.12.0-Lyon
Public Member Functions | Protected Attributes | List of all members
QgsRuleBasedLabelProvider Class Reference

#include <qgsrulebasedlabeling.h>

Inheritance diagram for QgsRuleBasedLabelProvider:
Inheritance graph

Public Member Functions

 QgsRuleBasedLabelProvider (const QgsRuleBasedLabeling &rules, QgsVectorLayer *layer, bool withFeatureLoop=true)
 ~QgsRuleBasedLabelProvider ()
virtual bool prepare (const QgsRenderContext &context, QStringList &attributeNames) override
 Prepare for registration of features. More...
virtual void registerFeature (QgsFeature &feature, QgsRenderContext &context) override
 Register a feature for labeling as one or more QgsLabelFeature objects stored into mLabels. More...
virtual QList< QgsAbstractLabelProvider * > subProviders () override
 Return list of child providers - useful if the provider needs to put labels into more layers with different configuration. More...
- Public Member Functions inherited from QgsVectorLayerLabelProvider
 QgsVectorLayerLabelProvider (QgsVectorLayer *layer, bool withFeatureLoop=true, const QgsPalLayerSettings *settings=0, const QString &layerName=QString())
 Convenience constructor to initialize the provider from given vector layer. More...
 QgsVectorLayerLabelProvider (const QgsPalLayerSettings &settings, const QString &layerId, const QgsFields &fields, const QgsCoordinateReferenceSystem &crs, QgsAbstractFeatureSource *source, bool ownsSource)
 Construct diagram provider with all the necessary configuration parameters. More...
 ~QgsVectorLayerLabelProvider ()
virtual void drawLabel (QgsRenderContext &context, pal::LabelPosition *label) const override
 draw this label at the position determined by the labeling engine More...
virtual QList< QgsLabelFeature * > labelFeatures (QgsRenderContext &context) override
 Return list of label features (they are owned by the provider and thus deleted on its destruction) More...
- Public Member Functions inherited from QgsAbstractLabelProvider
 QgsAbstractLabelProvider ()
 Construct the provider with default values. More...
virtual ~QgsAbstractLabelProvider ()
 Vritual destructor. More...
Flags flags () const
 Flags associated with the provider. More...
unsigned int linePlacementFlags () const
 For layers with linestring geometries - extra placement flags (or-ed combination of QgsPalLayerSettings::LinePlacementFlags) More...
QString name () const
 Name of the layer (for statistics, debugging etc.) - does not need to be unique. More...
QgsPalLayerSettings::ObstacleType obstacleType () const
 How the feature geometries will work as obstacles. More...
QgsPalLayerSettings::Placement placement () const
 What placement strategy to use for the labels. More...
double priority () const
 Default priority of labels (may be overridden by individual labels) More...
void setEngine (const QgsLabelingEngineV2 *engine)
 Associate provider with a labeling engine (should be only called internally from QgsLabelingEngineV2) More...
QgsPalLayerSettings::UpsideDownLabels upsidedownLabels () const
 How to handle labels that would be upside down. More...

Protected Attributes

QgsRuleBasedLabeling mRules
 owned copy More...
QgsRuleBasedLabeling::RuleToProviderMap mSubProviders
 label providers are owned by labeling engine More...
- Protected Attributes inherited from QgsVectorLayerLabelProvider
QgsCoordinateReferenceSystem mCrs
 Layer's CRS. More...
QgsFields mFields
 Layer's fields. More...
QList< QgsLabelFeature * > mLabels
 List of generated. More...
QString mLayerId
 Layer's ID. More...
bool mOwnsSource
 Whether layer's feature source is owned. More...
QgsPalLayerSettings mSettings
 Layer's labeling configuration. More...
 Layer's feature source. More...
- Protected Attributes inherited from QgsAbstractLabelProvider
const QgsLabelingEngineV2mEngine
 Associated labeling engine. More...
Flags mFlags
 Flags altering drawing and registration of features. More...
unsigned int mLinePlacementFlags
 Extra placement flags for linestring geometries. More...
QString mName
 Name of the layer. More...
QgsPalLayerSettings::ObstacleType mObstacleType
 Type of the obstacle of feature geometries. More...
QgsPalLayerSettings::Placement mPlacement
 Placement strategy. More...
double mPriority
 Default priority of labels. More...
QgsPalLayerSettings::UpsideDownLabels mUpsidedownLabels
 How to handle labels that would be upside down. More...

Additional Inherited Members

- Public Types inherited from QgsAbstractLabelProvider
enum  Flag {
  DrawLabels = 1 << 1, DrawAllLabels = 1 << 2, MergeConnectedLines = 1 << 3, CentroidMustBeInside = 1 << 4,
  FitInPolygonOnly = 1 << 5, LabelPerFeaturePart = 1 << 6
- Protected Member Functions inherited from QgsVectorLayerLabelProvider
void drawLabelPrivate (pal::LabelPosition *label, QgsRenderContext &context, QgsPalLayerSettings &tmpLyr, QgsPalLabeling::DrawLabelType drawType, double dpiRatio=1.0) const
 Internal label drawing method. More...
void init ()
 initialization method - called from constructors More...

Detailed Description

Definition at line 237 of file qgsrulebasedlabeling.h.

Constructor & Destructor Documentation

QgsRuleBasedLabelProvider::QgsRuleBasedLabelProvider ( const QgsRuleBasedLabeling rules,
QgsVectorLayer layer,
bool  withFeatureLoop = true 

Definition at line 5 of file qgsrulebasedlabeling.cpp.

QgsRuleBasedLabelProvider::~QgsRuleBasedLabelProvider ( )

Definition at line 12 of file qgsrulebasedlabeling.cpp.

Member Function Documentation

bool QgsRuleBasedLabelProvider::prepare ( const QgsRenderContext context,
QStringList attributeNames 

Prepare for registration of features.

Must be called after provider has been added to engine (uses its map settings)

contextrender context.
attributeNameslist of attribute names to which additional required attributes shall be added
Whether the preparation was successful - if not, the provider shall not be used

Reimplemented from QgsVectorLayerLabelProvider.

Definition at line 18 of file qgsrulebasedlabeling.cpp.

void QgsRuleBasedLabelProvider::registerFeature ( QgsFeature feature,
QgsRenderContext context 

Register a feature for labeling as one or more QgsLabelFeature objects stored into mLabels.

featurefeature to label
contextrender context. The QgsExpressionContext contained within the render context must have already had the feature and fields sets prior to calling this method.

Reimplemented from QgsVectorLayerLabelProvider.

Definition at line 28 of file qgsrulebasedlabeling.cpp.

QList< QgsAbstractLabelProvider * > QgsRuleBasedLabelProvider::subProviders ( )

Return list of child providers - useful if the provider needs to put labels into more layers with different configuration.

Reimplemented from QgsAbstractLabelProvider.

Definition at line 34 of file qgsrulebasedlabeling.cpp.

Member Data Documentation

QgsRuleBasedLabeling QgsRuleBasedLabelProvider::mRules

owned copy

Definition at line 255 of file qgsrulebasedlabeling.h.

QgsRuleBasedLabeling::RuleToProviderMap QgsRuleBasedLabelProvider::mSubProviders

label providers are owned by labeling engine

Definition at line 257 of file qgsrulebasedlabeling.h.

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