16 #ifndef QGSDATADEFINEDSIZELEGEND_H 
   17 #define QGSDATADEFINEDSIZELEGEND_H 
   74       SizeClass( 
double size, 
const QString &label ): size( size ), label( label ) {}
 
  113     void setClasses( 
const QList< QgsDataDefinedSizeLegend::SizeClass > &classes ) { mSizeClasses = classes; }
 
  115     QList< QgsDataDefinedSizeLegend::SizeClass > 
classes()
 const { 
return mSizeClasses; }
 
  118     void setTitle( 
const QString &title ) { mTitleLabel = title; }
 
  120     QString 
title()
 const { 
return mTitleLabel; }
 
  128     void setFont( 
const QFont &font ) { mFont = font; }
 
  130     QFont 
font()
 const { 
return mFont; }
 
  158     QImage collapsedLegendImage( 
QgsRenderContext &context, 
const QColor &backgroundColor = Qt::transparent, 
double paddingMM = 1 ) 
const;
 
  167     LegendType mType = LegendSeparated;
 
  169     QList< SizeClass > mSizeClasses;  
 
  170     std::unique_ptr<QgsMarkerSymbol> mSymbol;
 
  171     std::unique_ptr<QgsLineSymbol> mLineSymbol;
 
  172     std::unique_ptr<QgsSizeScaleTransformer> mSizeScaleTransformer;  
 
  173     VerticalAlignment mVAlign = AlignBottom;
 
  175     QColor mTextColor = Qt::black;
 
  176     Qt::AlignmentFlag mTextAlignment = Qt::AlignLeft;
 
Object that keeps configuration of appearance of marker symbol's data-defined size in legend.
void setTitle(const QString &title)
Sets title label for data-defined size legend.
QList< QgsDataDefinedSizeLegend::SizeClass > classes() const
Returns list of classes: each class is a pair of symbol size (in units used by the symbol) and label.
void setVerticalAlignment(VerticalAlignment vAlign)
Sets vertical alignment of symbols - only valid for collapsed legend.
LegendType legendType() const
Returns how the legend should be rendered.
VerticalAlignment
How to vertically align symbols when all classes go into one node.
@ AlignCenter
Symbols are aligned to the center.
@ AlignBottom
Symbols are aligned to the bottom.
void setTextAlignment(Qt::AlignmentFlag flag)
Sets horizontal text alignment for rendering of labels - only valid for collapsed legend.
void setClasses(const QList< QgsDataDefinedSizeLegend::SizeClass > &classes)
Sets list of classes: each class is a pair of symbol size (in units used by the symbol) and label.
void setLegendType(LegendType type)
Sets how the legend should be rendered.
void setFont(const QFont &font)
Sets font used for rendering of labels - only valid for collapsed legend.
void setTextColor(const QColor &color)
Sets text color for rendering of labels - only valid for collapsed legend.
QString title() const
Returns title label for data-defined size legend.
Qt::AlignmentFlag textAlignment() const
Returns horizontal text alignment for rendering of labels - only valid for collapsed legend.
LegendType
Determines how to display data-defined size legend.
@ LegendSeparated
Each class (size value) has a separate legend node.
@ LegendCollapsed
All classes are rendered within one legend node.
~QgsDataDefinedSizeLegend()
QFont font() const
Returns font used for rendering of labels - only valid for collapsed legend.
VerticalAlignment verticalAlignment() const
Returns vertical alignment of symbols - only valid for collapsed legend.
QColor textColor() const
Returns text color for rendering of labels - only valid for collapsed legend.
A line symbol type, for rendering LineString and MultiLineString geometries.
A marker symbol type, for rendering Point and MultiPoint geometries.
A store for object properties.
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.
QList< QgsLegendSymbolItem > QgsLegendSymbolList
Definition of one class for the legend.
SizeClass(double size, const QString &label)
QString label
Label to be shown with the particular symbol size.
double size
Marker size in units used by the symbol (usually millimeters). May be further scaled before rendering...