QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
Go to the documentation of this file.
25 mCategoryBrush.setStyle( Qt::SolidPattern );
26 mPen.setStyle( Qt::SolidLine );
47 attrVal = expression->
evaluate( &expressionContext );
55 const double value = attrVal.toDouble( &ok );
67 return std::max( size.width(), size.height() );
78 Q_UNUSED( attributes )
84 QPainter *p =
c.painter();
92 double currentVal = 0;
105 currentVal = expression->
evaluate( &expressionContext ).toDouble();
106 values.push_back( currentVal );
107 valSum += currentVal;
108 if ( currentVal ) valCount++;
112 double totalAngle = 0;
117 const double w = spu.width();
118 const double h = spu.height();
120 const double baseX = position.x();
121 const double baseY = position.y() - h;
130 QList<double>::const_iterator valIt = values.constBegin();
131 QList< QColor >::const_iterator colIt = s.
categoryColors.constBegin();
132 for ( ; valIt != values.constEnd(); ++valIt, ++colIt )
137 QColor brushColor( *colIt );
138 brushColor.setAlphaF( brushColor.alphaF() * s.
opacity );
139 mCategoryBrush.setColor( brushColor );
140 p->setBrush( mCategoryBrush );
144 p->drawEllipse( QRectF( baseX, baseY, w, h ) );
148 p->drawPie( QRectF( baseX, baseY, w, h ), totalAngle - s.
rotationOffset * 16.0, currentAngle );
150 totalAngle += currentAngle;
157 mCategoryBrush.setColor( Qt::transparent );
158 p->setBrush( mCategoryBrush );
159 p->drawEllipse( QRectF( baseX, baseY, w, h ) );
QgsExpression * getExpression(const QString &expression, const QgsExpressionContext &context)
Returns a prepared expression for the specified context.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
QString diagramName() const override
Gets a descriptive name for this diagram type.
QSizeF sizeForValue(double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is) const
Returns the scaled size of a diagram for a value, respecting the specified diagram interpolation sett...
bool isEmpty() const
Checks whether the container is empty.
QList< QColor > categoryColors
@ Clockwise
Clockwise orientation.
Contains information about the context of a rendering operation.
void setFields(const QgsFields &fields)
Convenience function for setting a fields for the context.
double legendSize(double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is) const override
Returns the size of the legend item for the diagram corresponding to a specified value.
QString classificationField
Name of the field for classification.
double opacity
Opacity, from 0 (transparent) to 1.0 (opaque)
void setPenWidth(QPen &pen, const QgsDiagramSettings &s, const QgsRenderContext &c)
Changes the pen width to match the current settings and rendering context.
QSizeF sizePainterUnits(QSizeF size, const QgsDiagramSettings &s, const QgsRenderContext &c)
Calculates a size to match the current settings and rendering context.
double rotationOffset
Rotation offset, in degrees clockwise from horizontal.
QVariant attribute(const QString &name) const
Lookup attribute value by attribute name.
Direction direction() const
Returns the chart's angular direction.
Additional diagram settings for interpolated size rendering.
QVariant evaluate()
Evaluate the feature and return the result.
bool classificationAttributeIsExpression
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
A vector of attributes. Mostly equal to QVector<QVariant>.
QgsPieDiagram * clone() const override
Returns an instance that is equivalent to this one.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Class for parsing and evaluation of expressions (formerly called "search strings")....
QSizeF diagramSize(const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s) override
Returns the size in map units the diagram will use to render.
QList< QString > categoryAttributes
void renderDiagram(const QgsFeature &feature, QgsRenderContext &c, const QgsDiagramSettings &s, QPointF position) override
Draws the diagram at the given position (in pixel coordinates)
QString classificationAttributeExpression
Stores the settings for rendering a single diagram.
void setFeature(const QgsFeature &feature)
Convenience function for setting a feature for the context.