15 #ifndef QGSMERGEDFEATURERENDERER_H
16 #define QGSMERGEDFEATURERENDERER_H
18 #include "qgis_core.h"
78 QString dump() const override;
79 QSet<QString> usedAttributes( const
QgsRenderContext &context ) const override;
80 bool filterNeedsGeometry() const override;
93 void setLegendSymbolItem( const QString &key,
QgsSymbol *symbol ) override;
94 bool legendSymbolItemsCheckable() const override;
95 bool legendSymbolItemChecked( const QString &key ) override;
96 void checkLegendSymbolItem( const QString &key,
bool state = true ) override;
133 struct CombinedFeature
135 QVector<QgsGeometry> geometries;
138 typedef QVector<CombinedFeature> FeatureCategoryVector;
140 FeatureCategoryVector mFeaturesCategories;
143 QMap<QByteArray, int> mSymbolCategories;
158 struct FeatureDecoration
164 FeatureDecoration(
const QgsFeature &a_feature,
bool a_selected,
bool a_drawMarkers,
int a_layer )
165 : feature( a_feature )
166 , selected( a_selected )
167 , drawMarkers( a_drawMarkers )
171 QList<FeatureDecoration> mFeatureDecorations;
Custom exception class for Coordinate Reference System related exceptions.
virtual QgsFeatureRenderer * clone() const =0
Create a deep copy of this renderer.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Container of fields for a vector layer.
QgsMergedFeatureRenderer is a polygon or line-only feature renderer used to renderer a set of feature...
GeometryOperation
Operations to apply to collected geometries prior to rendering.
@ Merge
Merge features (union/dissolve)
@ InvertOnly
Invert features only (polygons only)
@ MergeAndInvert
Merge and invert features (polygons only)
QgsMergedFeatureRenderer(const QgsMergedFeatureRenderer &)=delete
Direct copies are forbidden. Use clone() instead.
std::unique_ptr< QgsFeatureRenderer > mSubRenderer
Embedded renderer.
QgsMergedFeatureRenderer & operator=(const QgsMergedFeatureRenderer &)=delete
Direct copies are forbidden. Use clone() instead.
The class is used as a container of context for various read/write operations on other objects.
Contains information about the context of a rendering operation.
An interface for classes which can visit style entity (e.g.
Abstract base class for all rendered symbols.
QVector< QgsPolylineXY > QgsPolygonXY
Polygon: first item of the list is outer ring, inner rings (if any) start from second item.
QList< QgsLegendSymbolItem > QgsLegendSymbolList
QList< QgsSymbol * > QgsSymbolList