16 #ifndef QGSRENDERERV2_H 17 #define QGSRENDERERV2_H 19 #include "qgis_core.h" 33 #include <QDomDocument> 34 #include <QDomElement> 49 #define RENDERER_TAG_NAME "renderer-v2" 96 const QString type = sipCpp->type();
98 if ( type == QStringLiteral(
"singleSymbol" ) )
99 sipType = sipType_QgsSingleSymbolRenderer;
100 else if ( type == QStringLiteral(
"categorizedSymbol" ) )
101 sipType = sipType_QgsCategorizedSymbolRenderer;
102 else if ( type == QStringLiteral(
"graduatedSymbol" ) )
103 sipType = sipType_QgsGraduatedSymbolRenderer;
104 else if ( type == QStringLiteral(
"RuleRenderer" ) )
105 sipType = sipType_QgsRuleBasedRenderer;
106 else if ( type == QStringLiteral(
"heatmapRenderer" ) )
107 sipType = sipType_QgsHeatmapRenderer;
108 else if ( type == QStringLiteral(
"invertedPolygonRenderer" ) )
109 sipType = sipType_QgsInvertedPolygonRenderer;
110 else if ( type == QStringLiteral(
"pointCluster" ) )
111 sipType = sipType_QgsPointClusterRenderer;
112 else if ( type == QStringLiteral(
"pointDisplacement" ) )
113 sipType = sipType_QgsPointDisplacementRenderer;
114 else if ( type == QStringLiteral(
"25dRenderer" ) )
115 sipType = sipType_Qgs25DRenderer;
116 else if ( type == QStringLiteral(
"nullSymbol" ) )
117 sipType = sipType_QgsNullSymbolRenderer;
129 QString
type()
const {
return mType; }
201 virtual QSet<QString> usedAttributes(
const QgsRenderContext &context )
const = 0;
206 virtual bool filterNeedsGeometry()
const;
231 virtual bool renderFeature(
const QgsFeature &feature,
QgsRenderContext &context,
int layer = -1,
bool selected =
false,
bool drawVertexMarker =
false );
234 virtual QString dump()
const;
243 MoreSymbolsPerFeature = 1 << 2,
245 ScaleDependent = 1 << 4
284 virtual QDomElement writeSld( QDomDocument &doc,
const QString &styleName,
const QgsStringMap &props =
QgsStringMap() )
const;
302 element.appendChild( doc.createComment( QStringLiteral(
"FeatureRendererV2 %1 not implemented yet" ).arg( type() ) ) );
310 virtual bool legendSymbolItemsCheckable()
const;
316 virtual bool legendSymbolItemChecked(
const QString &key );
322 virtual void checkLegendSymbolItem(
const QString &key,
bool state =
true );
345 void setVertexMarkerAppearance(
int type,
int size );
434 bool orderByEnabled()
const;
443 void setOrderByEnabled(
bool enabled );
471 void renderFeatureWithSymbol(
const QgsFeature &feature,
476 bool drawVertexMarker );
481 void renderVertexMarkerPolyline( QPolygonF &pts,
QgsRenderContext &context );
483 void renderVertexMarkerPolygon( QPolygonF &pts, QList<QPolygonF> *rings,
QgsRenderContext &context );
524 static void convertSymbolRotation(
QgsSymbol *symbol,
const QString &field );
537 QThread *mThread =
nullptr;
544 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsFeatureRenderer::Capabilities )
550 #endif // QGSRENDERERV2_H The class is used as a container of context for various read/write operations on other objects...
QMap< QString, QString > QgsStringMap
A rectangle specified with double values.
QList< QgsLegendSymbolItem > QgsLegendSymbolList
QgsFeatureRequest::OrderBy mOrderBy
virtual QString legendClassificationAttribute() const
If supported by the renderer, return classification attribute for the use in legend.
virtual void toSld(QDomDocument &doc, QDomElement &element, const QgsStringMap &props=QgsStringMap()) const
used from subclasses to create SLD Rule elements following SLD v1.1 specs
virtual QString filter(const QgsFields &fields=QgsFields())
If a renderer does not require all the features this method may be overridden and return an expressio...
bool forceRasterRender() const
Returns whether the renderer must render as a raster.
Base class for visual effects which can be applied to QPicture drawings.
Container of fields for a vector layer.
void setUsingSymbolLevels(bool usingSymbolLevels)
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
QMap< QString, QString > QgsStringMap
QList< QgsSymbolLevel > QgsSymbolLevelOrder
QList< QgsSymbol * > QgsSymbolList
void setForceRasterRender(bool forceRaster)
Sets whether the renderer should be rendered to a raster destination.
QgsSymbolLevelItem(QgsSymbol *symbol, int layer)
Capability
Used to specify details about a renderer.
Point geometry type, with support for z-dimension and m-values.
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.
Contains information about the context of a rendering operation.
bool usingSymbolLevels() const
QList< QgsSymbolLevelItem > QgsSymbolLevel
int mCurrentVertexMarkerSize
The current size of editing marker.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
QMap< QString, QgsSymbol *> QgsSymbolMap
int mCurrentVertexMarkerType
The current type of editing marker.
Represents a vector layer which manages a vector based data sets.
Represents a list of OrderByClauses, with the most important first and the least important last...