15#ifndef QGSGRADUATEDSYMBOLRENDERER_H
16#define QGSGRADUATEDSYMBOLRENDERER_H
49 QString
dump()
const override;
51 void toSld( QDomDocument &doc, QDomElement &element,
const QVariantMap &props = QVariantMap() )
const override;
76 bool updateRangeLabel(
int rangeIndex,
const QString &label );
77 bool updateRangeUpperValue(
int rangeIndex,
double value );
78 bool updateRangeLowerValue(
int rangeIndex,
double value );
80 bool updateRangeRenderState(
int rangeIndex,
bool render );
86 void addClass(
double lower,
double upper )
SIP_PYNAME( addClassLowerUpper );
96 void addBreak(
double breakValue,
bool updateSymbols =
true );
98 void deleteClass(
int idx );
99 void deleteAllClasses();
102 void moveClass(
int from,
int to );
109 bool rangesOverlap()
const;
116 bool rangesHaveGaps()
const;
118 void sortByValue( Qt::SortOrder order = Qt::AscendingOrder );
119 void sortByLabel( Qt::SortOrder order = Qt::AscendingOrder );
169 Q_DECL_DEPRECATED
void setUseSymmetricMode(
bool useSymmetricMode )
SIP_DEPRECATED;
183 Q_DECL_DEPRECATED
void setSymmetryPoint(
double symmetryPoint )
SIP_DEPRECATED;
209 Q_DECL_DEPRECATED
static void makeBreaksSymmetric( QList<double> &breaks
SIP_INOUT,
double symmetryPoint,
bool astride )
SIP_DEPRECATED;
221 Q_DECL_DEPRECATED
static QList<double> calcEqualIntervalBreaks(
double minimum,
double maximum,
int classes,
bool useSymmetricMode,
double symmetryPoint,
bool astride )
SIP_DEPRECATED;
234 Q_DECL_DEPRECATED
void updateClasses(
QgsVectorLayer *vlayer, Mode mode,
int nclasses,
bool useSymmetricMode =
false,
double symmetryPoint = 0.0,
bool astride =
false )
SIP_DEPRECATED;
268 void calculateLabelPrecision(
bool updateRanges = true );
289 const QString &attrName,
295 bool useSymmetricMode = false,
296 double symmetryPoint = 0.0,
297 const QStringList &listForCboPrettyBreaks = QStringList(),
307 QString legendKeyToExpression( const QString &key,
QgsVectorLayer *layer,
bool &ok ) const override;
376 void setSymbolSizes(
double minSize,
double maxSize );
382 double minSymbolSize() const;
388 double maxSymbolSize() const;
396 Qgis::GraduatedMethod graduatedMethod()
const {
return mGraduatedMethod; }
442 void updateRangeLabels();
463 bool mCounting =
false;
470 QgsSymbol *symbolForValue(
double value )
const;
475 QString legendKeyForValue(
double value )
const;
503 friend class TestQgsGraduatedSymbolRenderer;
The Qgis class provides global constants for use throughout the application.
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
QgsClassificationMethod is an abstract class for implementations of classification methods.
Abstract base class for color ramps.
Object that keeps configuration of appearance of marker symbol's data-defined size in legend.
Class for parsing and evaluation of expressions (formerly called "search strings").
virtual bool legendSymbolItemsCheckable() const
items of symbology items in legend should be checkable
virtual bool legendSymbolItemChecked(const QString &key)
items of symbology items in legend is checked
virtual void setLegendSymbolItem(const QString &key, QgsSymbol *symbol)
Sets the symbol to be used for a legend symbol item.
virtual QgsSymbolList symbols(QgsRenderContext &context) const
Returns list of symbols used by the renderer.
virtual void stopRender(QgsRenderContext &context)
Must be called when a render cycle has finished, to allow the renderer to clean up.
virtual void toSld(QDomDocument &doc, QDomElement &element, const QVariantMap &props=QVariantMap()) const
used from subclasses to create SLD Rule elements following SLD v1.1 specs
virtual QString dump() const
Returns debug information about this renderer.
virtual QSet< QString > usedAttributes(const QgsRenderContext &context) const =0
Returns a list of attributes required by this renderer.
virtual QgsSymbol * symbolForFeature(const QgsFeature &feature, QgsRenderContext &context) const =0
To be overridden.
virtual void checkLegendSymbolItem(const QString &key, bool state=true)
item in symbology was checked
@ Filter
Features may be filtered, i.e. some features may not be rendered (categorized, rule based ....
virtual bool filterNeedsGeometry() const
Returns true if this renderer requires the geometry to apply the filter.
virtual bool accept(QgsStyleEntityVisitorInterface *visitor) const
Accepts the specified symbology visitor, causing it to visit all symbols associated with the renderer...
virtual QgsSymbol * originalSymbolForFeature(const QgsFeature &feature, QgsRenderContext &context) const
Returns symbol for feature.
virtual void startRender(QgsRenderContext &context, const QgsFields &fields)
Must be called when a new render cycle is started.
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.
QString legendClassificationAttribute() const override
If supported by the renderer, return classification attribute for the use in legend.
std::unique_ptr< QgsDataDefinedSizeLegend > mDataDefinedSizeLegend
Q_DECL_DEPRECATED bool useSymmetricMode() const
Returns if we want to classify symmetric around a given value.
std::unique_ptr< QgsSymbol > mSourceSymbol
void setGraduatedMethod(Qgis::GraduatedMethod method)
Set the method used for graduation (either size or color).
std::shared_ptr< QgsClassificationMethod > mClassificationMethod
Q_DECL_DEPRECATED bool astride() const
Returns if we want to have a central class astride the pivot value.
QgsFeatureRenderer::Capabilities capabilities() override
Returns details about internals of this renderer.
QString classAttribute() const
Returns the attribute name (or expression) used for the classification.
std::unique_ptr< QgsColorRamp > mSourceColorRamp
Q_DECL_DEPRECATED Mode mode() const
void setClassAttribute(const QString &attr)
Sets the attribute name (or expression) used for the classification.
std::unique_ptr< QgsExpression > mExpression
const QgsRangeList & ranges() const
Returns a list of all ranges used in the classification.
Q_DECL_DEPRECATED double symmetryPoint() const
Returns the pivot value for symmetric classification.
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.
Represents a vector layer which manages a vector based data sets.
int ANALYSIS_EXPORT lower(int n, int i)
Lower function.
#define Q_NOWARN_DEPRECATED_POP
#define Q_NOWARN_DEPRECATED_PUSH
QList< QgsLegendSymbolItem > QgsLegendSymbolList
QList< QgsSymbol * > QgsSymbolList
QList< QgsRendererRange > QgsRangeList