29 mFeatures.resize( fids.size() );
41 if ( !
rubberBand || !mLayer || !mLayer->labelsEnabled() || !mLayer->labeling() || mFeatures.empty() )
84 QSet<QString> attributeNames;
85 if ( !provider->prepare( context, attributeNames ) )
92 for (
const QgsFeature &feature : std::as_const( mFeatures ) )
94 if ( index >= previewGeomParts.size() )
100 tempFeature.
setGeometry( previewGeomParts.at( index ) );
104 provider->registerFeature( tempFeature, context );
112 engine.
run( context );
@ DisableSearchTree
Disable the creation of the label search tree.
@ IgnoreObstacles
Disable obstacle handling.
@ SingleCandidateOnly
Generate only the single least-cost candidate for each feature. Useful for fast labeling,...
@ IgnoreOverlaps
Disable overlap detection and search solver, immediately returning lowest cost candidate per feature.
@ RecordProfile
Enable run-time profiling while rendering.
@ Reverse
Reverse/inverse transform (from destination to source).
@ RecordProfile
Enable run-time profiling while rendering.
Default QgsLabelingEngine implementation, which completes the whole labeling operation (including lab...
void run(QgsRenderContext &context) override
Runs the labeling job.
RAII class to pop scope from an expression context on destruction.
Single scope for storing variables and functions for use within a QgsExpressionContext.
void setFields(const QgsFields &fields)
Convenience function for setting a fields for the scope.
void setFeature(const QgsFeature &feature)
Convenience function for setting a feature for the scope.
Wrapper for iterator of features from vector data provider or vector layer.
bool nextFeature(QgsFeature &f)
Fetch next feature and stores in f, returns true on success.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
void setGeometry(const QgsGeometry &geometry)
Set the feature's geometry.
A geometry is the spatial representation of a feature.
Qgis::GeometryOperationResult transform(const QgsCoordinateTransform &ct, Qgis::TransformDirection direction=Qgis::TransformDirection::Forward, bool transformZ=false)
Transforms this geometry as described by the coordinate transform ct.
QVector< QgsGeometry > asGeometryCollection() const
Returns contents of the geometry as a list of geometries.
bool isEmpty() const
Returns true if the geometry is empty (eg a linestring with no vertices, or a collection with no geom...
Stores global configuration for labeling engine.
void setFlag(Qgis::LabelingFlag f, bool enabled=true)
Sets whether a particual flag is enabled.
QString addProvider(QgsAbstractLabelProvider *provider)
Adds a provider of label features.
Map canvas is a class for displaying all GIS data types on a canvas.
const QgsMapSettings & mapSettings() const
Gets access to properties used for map rendering.
Contains configuration for rendering maps.
const QgsLabelingEngineSettings & labelingEngineSettings() const
Returns the global configuration of the labeling engine.
QgsCoordinateTransform layerTransform(const QgsMapLayer *layer) const
Returns the coordinate transform from layer's CRS to destination CRS.
void setLabelingEngineSettings(const QgsLabelingEngineSettings &settings)
Sets the global configuration of the labeling engine.
void setFlag(Qgis::MapSettingsFlag flag, bool on=true)
Enable or disable a particular flag (other flags are not affected).
Contains settings for how a map layer will be labeled.
Contains information about the context of a rendering operation.
QPainter * painter()
Returns the destination QPainter for the render operation.
QgsExpressionContext & expressionContext()
Gets the expression context.
void setFlag(Qgis::RenderContextFlag flag, bool on=true)
Enable or disable a particular flag (other flags are not affected).
QgsRubberBandPreviewItem(QgsRubberBand *rubberBand)
Constructor for a QgsRubberBandPreviewItem, attached to the specified rubberBand.
QgsRubberBand * rubberBand()
Returns the rubber band associated with the item.
Responsible for drawing transient features (e.g.
Scoped object for saving and restoring a QPainter object's state.
Implements a label provider for vector layers.
void render(QgsRenderContext &context) final
Renders the custom preview overlay using the specified render context.
QgsVectorLayerLabelRubberBandPreview(QgsRubberBand *rubberBand, const QList< QgsFeatureId > &fids, QgsVectorLayer *layer)
Constructor for QgsVectorLayerLabelRubberBandPreview.
Represents a vector layer which manages a vector based dataset.