|
QGIS API Documentation
2.12.0-Lyon
|
The QgsVectorLayerDiagramProvider class implements support for diagrams within the labeling engine. More...
#include <qgsvectorlayerdiagramprovider.h>

Public Member Functions | |
| QgsVectorLayerDiagramProvider (QgsVectorLayer *layer, bool ownFeatureLoop=true) | |
| Convenience constructor to initialize the provider from given vector layer. More... | |
| QgsVectorLayerDiagramProvider (const QgsDiagramLayerSettings *diagSettings, const QgsDiagramRendererV2 *diagRenderer, const QString &layerId, const QgsFields &fields, const QgsCoordinateReferenceSystem &crs, QgsAbstractFeatureSource *source, bool ownsSource) | |
| Construct diagram provider with all the necessary configuration parameters. More... | |
| ~QgsVectorLayerDiagramProvider () | |
| Clean up. More... | |
| 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... | |
| virtual bool | prepare (const QgsRenderContext &context, QStringList &attributeNames) |
| Prepare for registration of features. More... | |
| virtual void | registerFeature (QgsFeature &feature, QgsRenderContext &context) |
| Register a feature for labeling as one or more QgsLabelFeature objects stored into mFeatures. 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... | |
| virtual QList< QgsAbstractLabelProvider * > | subProviders () |
| Return list of child providers - useful if the provider needs to put labels into more layers with different configuration. More... | |
| QgsPalLayerSettings::UpsideDownLabels | upsidedownLabels () const |
| How to handle labels that would be upside down. More... | |
Protected Member Functions | |
| void | init () |
| initialization method - called from constructors More... | |
| QgsLabelFeature * | registerDiagram (QgsFeature &feat, QgsRenderContext &context) |
| helper method to register one diagram feautre More... | |
Protected Attributes | |
| QgsDiagramRendererV2 * | mDiagRenderer |
| Diagram renderer instance (owned by mSettings) More... | |
| QList< QgsLabelFeature * > | mFeatures |
| List of generated label features (owned by the provider) More... | |
| QgsFields | mFields |
| Layer's fields. More... | |
| QgsCoordinateReferenceSystem | mLayerCrs |
| Layer's CRS. More... | |
| QString | mLayerId |
| ID of the layer. More... | |
| bool | mOwnsSource |
| Whether layer's feature source is owned. More... | |
| QgsDiagramLayerSettings | mSettings |
| Diagram layer settings. More... | |
| QgsAbstractFeatureSource * | mSource |
| Layer's feature source. More... | |
Protected Attributes inherited from QgsAbstractLabelProvider | |
| const QgsLabelingEngineV2 * | mEngine |
| 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 } |
The QgsVectorLayerDiagramProvider class implements support for diagrams within the labeling engine.
Parameters for the diagrams are taken from the layer settings.
Definition at line 54 of file qgsvectorlayerdiagramprovider.h.
|
explicit |
Convenience constructor to initialize the provider from given vector layer.
Definition at line 47 of file qgsvectorlayerdiagramprovider.cpp.
| QgsVectorLayerDiagramProvider::QgsVectorLayerDiagramProvider | ( | const QgsDiagramLayerSettings * | diagSettings, |
| const QgsDiagramRendererV2 * | diagRenderer, | ||
| const QString & | layerId, | ||
| const QgsFields & | fields, | ||
| const QgsCoordinateReferenceSystem & | crs, | ||
| QgsAbstractFeatureSource * | source, | ||
| bool | ownsSource | ||
| ) |
Construct diagram provider with all the necessary configuration parameters.
Definition at line 27 of file qgsvectorlayerdiagramprovider.cpp.
| QgsVectorLayerDiagramProvider::~QgsVectorLayerDiagramProvider | ( | ) |
Clean up.
Definition at line 69 of file qgsvectorlayerdiagramprovider.cpp.
|
overridevirtual |
draw this label at the position determined by the labeling engine
Implements QgsAbstractLabelProvider.
Definition at line 113 of file qgsvectorlayerdiagramprovider.cpp.
|
protected |
initialization method - called from constructors
Definition at line 60 of file qgsvectorlayerdiagramprovider.cpp.
|
overridevirtual |
Return list of label features (they are owned by the provider and thus deleted on its destruction)
Implements QgsAbstractLabelProvider.
Definition at line 80 of file qgsvectorlayerdiagramprovider.cpp.
|
virtual |
Prepare for registration of features.
Must be called after provider has been added to engine (uses its map settings)
| context | render context. |
| attributeNames | list of attribute names to which additional required attributes shall be added |
Definition at line 157 of file qgsvectorlayerdiagramprovider.cpp.
|
protected |
helper method to register one diagram feautre
Definition at line 236 of file qgsvectorlayerdiagramprovider.cpp.
|
virtual |
Register a feature for labeling as one or more QgsLabelFeature objects stored into mFeatures.
| feature | feature for diagram |
| context | render context. The QgsExpressionContext contained within the render context must have already had the feature and fields sets prior to calling this method. |
Definition at line 228 of file qgsvectorlayerdiagramprovider.cpp.
|
protected |
Diagram renderer instance (owned by mSettings)
Definition at line 107 of file qgsvectorlayerdiagramprovider.h.
|
protected |
List of generated label features (owned by the provider)
Definition at line 123 of file qgsvectorlayerdiagramprovider.h.
|
protected |
Layer's fields.
Definition at line 114 of file qgsvectorlayerdiagramprovider.h.
|
protected |
Layer's CRS.
Definition at line 116 of file qgsvectorlayerdiagramprovider.h.
|
protected |
ID of the layer.
Definition at line 109 of file qgsvectorlayerdiagramprovider.h.
|
protected |
Whether layer's feature source is owned.
Definition at line 120 of file qgsvectorlayerdiagramprovider.h.
|
protected |
Diagram layer settings.
Definition at line 105 of file qgsvectorlayerdiagramprovider.h.
|
protected |
Layer's feature source.
Definition at line 118 of file qgsvectorlayerdiagramprovider.h.
1.8.9.1