QGIS API Documentation  3.11.0-Master (68611307d7)
Public Member Functions | Protected Attributes | List of all members
QgsDxfRuleBasedLabelProvider Class Reference

Implements a derived label provider for rule based labels internally used for DXF export. More...

#include <qgsdxfpallabeling.h>

Inheritance diagram for QgsDxfRuleBasedLabelProvider:
Inheritance graph

Public Member Functions

 QgsDxfRuleBasedLabelProvider (const QgsRuleBasedLabeling &rules, QgsVectorLayer *layer, QgsDxfExport *dxf)
 construct the provider More...
QgsVectorLayerLabelProvidercreateProvider (QgsVectorLayer *layer, const QString &providerId, bool withFeatureLoop, const QgsPalLayerSettings *settings) override
 create QgsDxfLabelProvider More...
void drawLabel (QgsRenderContext &context, pal::LabelPosition *label) const override
 Re-implementation that writes to DXF file instead of drawing with QPainter. More...
void registerDxfFeature (QgsFeature &feature, QgsRenderContext &context, const QString &dxfLayerName)
 Registration method that keeps track of DXF layer names of individual features. More...
Q_DECL_DEPRECATED void reinit (QgsVectorLayer *layer)
 Reinitialize the subproviders with QgsDxfLabelProviders. More...
- Public Member Functions inherited from QgsRuleBasedLabelProvider
 QgsRuleBasedLabelProvider (const QgsRuleBasedLabeling &rules, QgsVectorLayer *layer, bool withFeatureLoop=true)
bool prepare (QgsRenderContext &context, QSet< QString > &attributeNames) override
 Prepare for registration of features. More...
void registerFeature (const QgsFeature &feature, QgsRenderContext &context, const QgsGeometry &obstacleGeometry=QgsGeometry(), const QgsSymbol *symbol=nullptr) override
 Register a feature for labeling as one or more QgsLabelFeature objects stored into mLabels. More...
QList< QgsAbstractLabelProvider * > subProviders () override
 Returns subproviders. More...
- Public Member Functions inherited from QgsVectorLayerLabelProvider
 QgsVectorLayerLabelProvider (QgsVectorLayer *layer, const QString &providerId, bool withFeatureLoop, const QgsPalLayerSettings *settings, const QString &layerName=QString())
 Convenience constructor to initialize the provider from given vector layer. More...
 ~QgsVectorLayerLabelProvider () override
void drawLabel (QgsRenderContext &context, pal::LabelPosition *label) const override
 Draw this label at the position determined by the labeling engine. More...
void drawLabelBackground (QgsRenderContext &context, pal::LabelPosition *label) const override
 Draw the background for the specified label. More...
void drawUnplacedLabel (QgsRenderContext &context, pal::LabelPosition *label) const override
 Draw an unplaced label. More...
QList< QgsLabelFeature * > labelFeatures (QgsRenderContext &context) override
 Returns list of label features (they are owned by the provider and thus deleted on its destruction) More...
const QgsPalLayerSettingssettings () const
 Returns the layer's settings. More...
void startRender (QgsRenderContext &context) override
 To be called before rendering of labels begins. More...
void stopRender (QgsRenderContext &context) override
 To be called after rendering is complete. More...
- Public Member Functions inherited from QgsAbstractLabelProvider
 QgsAbstractLabelProvider (QgsMapLayer *layer, const QString &providerId=QString())
 Construct the provider with default values. More...
virtual ~QgsAbstractLabelProvider ()=default
Flags flags () const
 Flags associated with the provider. More...
QgsMapLayerlayer () const
 Returns the associated layer, or nullptr if no layer is associated with the provider. More...
QString layerId () const
 Returns ID of associated layer, or empty string if no layer is associated with the provider. More...
QString name () const
 Name of the layer (for statistics, debugging etc.) - does not need to be unique. More...
QgsLabelObstacleSettings::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...
QString providerId () const
 Returns provider ID - useful in case there is more than one label provider within a layer (e.g. More...
void setEngine (const QgsLabelingEngine *engine)
 Associate provider with a labeling engine (should be only called internally from QgsLabelingEngine) More...
QgsPalLayerSettings::UpsideDownLabels upsidedownLabels () const
 How to handle labels that would be upside down. More...

Protected Attributes

QgsDxfExportmDxfExport = nullptr
 pointer to parent DXF export where this instance is used More...
- Protected Attributes inherited from QgsRuleBasedLabelProvider
std::unique_ptr< QgsRuleBasedLabelingmRules
 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...
QgsWkbTypes::GeometryType mLayerGeometryType
 Geometry type of layer. More...
QgsFeatureRenderermRenderer = nullptr
QgsPalLayerSettings mSettings
 Layer's labeling configuration. More...
std::unique_ptr< QgsAbstractFeatureSourcemSource
 Layer's feature source. More...
- Protected Attributes inherited from QgsAbstractLabelProvider
const QgsLabelingEnginemEngine = nullptr
 Associated labeling engine. More...
Flags mFlags
 Flags altering drawing and registration of features. More...
QgsWeakMapLayerPointer mLayer
 Weak pointer to source layer. More...
QString mLayerId
 Associated layer's ID, if applicable. More...
QString mName
 Name of the layer. More...
QgsLabelObstacleSettings::ObstacleType mObstacleType = QgsLabelObstacleSettings::PolygonBoundary
 Type of the obstacle of feature geometries. More...
QgsPalLayerSettings::Placement mPlacement
 Placement strategy. More...
double mPriority
 Default priority of labels. More...
QString mProviderId
 Associated provider ID (one layer may have multiple providers, e.g. in rule-based labeling) 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 }
- Static Public Member Functions inherited from QgsVectorLayerLabelProvider
static QgsGeometry getPointObstacleGeometry (QgsFeature &fet, QgsRenderContext &context, const QgsSymbolList &symbols)
 Returns the geometry for a point feature which should be used as an obstacle for labels. More...
- Protected Member Functions inherited from QgsVectorLayerLabelProvider
void drawLabelPrivate (pal::LabelPosition *label, QgsRenderContext &context, QgsPalLayerSettings &tmpLyr, QgsTextRenderer::TextPart drawType, double dpiRatio=1.0) const
 Internal label drawing method. More...
void init ()
 initialization method - called from constructors More...

Detailed Description

Implements a derived label provider for rule based labels internally used for DXF export.

Internal class, not in public API. Added in QGIS 2.15

not available in Python bindings

Definition at line 72 of file qgsdxfpallabeling.h.

Constructor & Destructor Documentation

◆ QgsDxfRuleBasedLabelProvider()

QgsDxfRuleBasedLabelProvider::QgsDxfRuleBasedLabelProvider ( const QgsRuleBasedLabeling rules,
QgsVectorLayer layer,
QgsDxfExport dxf 

construct the provider

Definition at line 43 of file qgsdxfpallabeling.cpp.

Member Function Documentation

◆ createProvider()

QgsVectorLayerLabelProvider * QgsDxfRuleBasedLabelProvider::createProvider ( QgsVectorLayer layer,
const QString &  providerId,
bool  withFeatureLoop,
const QgsPalLayerSettings settings 

create QgsDxfLabelProvider

Reimplemented from QgsRuleBasedLabelProvider.

Definition at line 56 of file qgsdxfpallabeling.cpp.

◆ drawLabel()

void QgsDxfRuleBasedLabelProvider::drawLabel ( QgsRenderContext context,
pal::LabelPosition label 
) const

Re-implementation that writes to DXF file instead of drawing with QPainter.

contextrender context

Implements QgsAbstractLabelProvider.

Definition at line 63 of file qgsdxfpallabeling.cpp.

◆ registerDxfFeature()

void QgsDxfRuleBasedLabelProvider::registerDxfFeature ( QgsFeature feature,
QgsRenderContext context,
const QString &  dxfLayerName 

Registration method that keeps track of DXF layer names of individual features.

contextrender context
dxfLayerNamename of dxf layer

Definition at line 70 of file qgsdxfpallabeling.cpp.

◆ reinit()

void QgsDxfRuleBasedLabelProvider::reinit ( QgsVectorLayer layer)

Reinitialize the subproviders with QgsDxfLabelProviders.

since QGIS 3.12

Definition at line 50 of file qgsdxfpallabeling.cpp.

Member Data Documentation

◆ mDxfExport

QgsDxfExport* QgsDxfRuleBasedLabelProvider::mDxfExport = nullptr

pointer to parent DXF export where this instance is used

Definition at line 105 of file qgsdxfpallabeling.h.

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