19 #include "qgis_core.h" 34 #include <QDomDocument> 35 #include <QDomElement> 51 #define RENDERER_TAG_NAME "renderer-v2" 108 const QString type = sipCpp->type();
110 if ( type == QStringLiteral(
"singleSymbol" ) )
111 sipType = sipType_QgsSingleSymbolRenderer;
112 else if ( type == QStringLiteral(
"categorizedSymbol" ) )
113 sipType = sipType_QgsCategorizedSymbolRenderer;
114 else if ( type == QStringLiteral(
"graduatedSymbol" ) )
115 sipType = sipType_QgsGraduatedSymbolRenderer;
116 else if ( type == QStringLiteral(
"RuleRenderer" ) )
117 sipType = sipType_QgsRuleBasedRenderer;
118 else if ( type == QStringLiteral(
"heatmapRenderer" ) )
119 sipType = sipType_QgsHeatmapRenderer;
120 else if ( type == QStringLiteral(
"invertedPolygonRenderer" ) )
121 sipType = sipType_QgsInvertedPolygonRenderer;
122 else if ( type == QStringLiteral(
"pointCluster" ) )
123 sipType = sipType_QgsPointClusterRenderer;
124 else if ( type == QStringLiteral(
"pointDisplacement" ) )
125 sipType = sipType_QgsPointDisplacementRenderer;
126 else if ( type == QStringLiteral(
"25dRenderer" ) )
127 sipType = sipType_Qgs25DRenderer;
128 else if ( type == QStringLiteral(
"nullSymbol" ) )
129 sipType = sipType_QgsNullSymbolRenderer;
141 QString
type()
const {
return mType; }
213 virtual QSet<QString> usedAttributes(
const QgsRenderContext &context )
const = 0;
218 virtual bool filterNeedsGeometry()
const;
246 virtual QString dump()
const;
255 MoreSymbolsPerFeature = 1 << 2,
257 ScaleDependent = 1 << 4
296 virtual QDomElement writeSld( QDomDocument &doc,
const QString &styleName,
const QgsStringMap &props =
QgsStringMap() )
const;
314 element.appendChild( doc.createComment( QStringLiteral(
"FeatureRenderer %1 not implemented yet" ).arg( type() ) ) );
322 virtual bool legendSymbolItemsCheckable()
const;
328 virtual bool legendSymbolItemChecked(
const QString &key );
334 virtual void checkLegendSymbolItem(
const QString &key,
bool state =
true );
357 void setVertexMarkerAppearance(
int type,
double size );
446 bool orderByEnabled()
const;
455 void setOrderByEnabled(
bool enabled );
499 void renderVertexMarkerPolyline( QPolygonF &pts,
QgsRenderContext &context );
501 void renderVertexMarkerPolygon( QPolygonF &pts, QList<QPolygonF> *rings,
QgsRenderContext &context );
542 static void convertSymbolRotation(
QgsSymbol *symbol,
const QString &field );
555 QThread *mThread =
nullptr;
562 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsFeatureRenderer::Capabilities )
568 #endif // QGSRENDERER_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.
Abstract base class for all rendered symbols.
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...
An interface for classes which can visit style entity (e.g.
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
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
QMap< QString, QgsSymbol *> QgsSymbolMap
Custom exception class for Coordinate Reference System related exceptions.
int mCurrentVertexMarkerType
The current type of editing marker.
Represents a vector layer which manages a vector based data sets.
double mCurrentVertexMarkerSize
The current size of editing marker.
Represents a list of OrderByClauses, with the most important first and the least important last...