18 #ifndef QGSLAYOUTITEMLEGEND_H
19 #define QGSLAYOUTITEMLEGEND_H
21 #include "qgis_core.h"
54 QVariant
data(
const QModelIndex &index,
int role )
const override;
56 Qt::ItemFlags
flags(
const QModelIndex &index )
const override;
131 int type()
const override;
132 QIcon icon()
const override;
133 QgsLayoutItem::Flags itemFlags()
const override;
135 QString displayName()
const override;
140 void adjustBoxSize();
148 void setResizeToContents(
bool enabled );
154 bool resizeToContents()
const;
166 void setAutoUpdateModel(
bool autoUpdate );
173 bool autoUpdateModel()
const;
179 void setLegendFilterByMapEnabled(
bool enabled );
192 void setLegendFilterOutAtlas(
bool doFilter );
198 bool legendFilterOutAtlas()
const;
204 void setTitle(
const QString &title );
210 QString title()
const;
216 Qt::AlignmentFlag titleAlignment()
const;
222 void setTitleAlignment( Qt::AlignmentFlag alignment );
265 double lineSpacing()
const;
271 void setLineSpacing(
double spacing );
277 double boxSpace()
const;
283 void setBoxSpace(
double space );
289 double columnSpace()
const;
295 void setColumnSpace(
double spacing );
301 QColor fontColor()
const;
307 void setFontColor(
const QColor &color );
313 double symbolWidth()
const;
319 void setSymbolWidth(
double width );
327 double maximumSymbolSize()
const;
337 void setMaximumSymbolSize(
double size );
345 double minimumSymbolSize()
const;
355 void setMinimumSymbolSize(
double size );
365 void setSymbolAlignment( Qt::AlignmentFlag alignment );
375 Qt::AlignmentFlag symbolAlignment()
const;
381 double symbolHeight()
const;
387 void setSymbolHeight(
double height );
393 double wmsLegendWidth()
const;
399 void setWmsLegendWidth(
double width );
405 double wmsLegendHeight()
const;
411 void setWmsLegendHeight(
double height );
417 void setWrapString(
const QString &
string );
423 QString wrapString()
const;
435 void setColumnCount(
int count );
442 bool splitLayer()
const;
449 void setSplitLayer(
bool enabled );
455 bool equalColumnWidth()
const;
461 void setEqualColumnWidth(
bool equalize );
469 bool drawRasterStroke()
const;
478 void setDrawRasterStroke(
bool enabled );
487 QColor rasterStrokeColor()
const;
496 void setRasterStrokeColor(
const QColor &color );
505 double rasterStrokeWidth()
const;
514 void setRasterStrokeWidth(
double width );
535 QString themeName()
const;
545 void updateFilterByMap(
bool redraw =
true );
552 void paint( QPainter *painter,
const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget )
override;
554 void finalizeRestoreFromXml()
override;
557 ExportLayerBehavior exportLayerBehavior()
const override;
562 void refresh()
override;
567 bool writePropertiesToElement( QDomElement &element, QDomDocument &document,
const QgsReadWriteContext &context )
const override;
568 bool readPropertiesFromElement(
const QDomElement &element,
const QDomDocument &document,
const QgsReadWriteContext &context )
override;
573 void invalidateCurrentMap();
575 void updateFilterByMapAndRedraw();
579 void mapLayerStyleOverridesChanged();
581 void mapThemeChanged(
const QString &theme );
585 void onAtlasFeature();
590 void clearLegendCachedData();
600 void setModelStyleOverrides(
const QMap<QString, QString> &overrides );
602 std::unique_ptr< QgsLegendModel > mLegendModel;
603 std::unique_ptr< QgsLayerTreeGroup > mCustomLayerTree;
608 int mColumnCount = 1;
613 bool mLegendFilterByMap =
false;
614 bool mLegendFilterByExpression =
false;
617 bool mFilterOutAtlas =
false;
620 bool mFilterAskedForUpdate =
false;
622 void doUpdateFilterByMap();
624 bool mInAtlas =
false;
627 bool mInitialMapScaleCalculated =
false;
630 bool mForceResize =
false;
633 bool mSizeToContents =
true;
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Layer tree node points to a map layer.
The QgsLayerTreeModel class is model implementation for Qt item views framework.
int columnCount(const QModelIndex &parent=QModelIndex()) const override
Flags flags() const
Returns OR-ed combination of model flags.
QList< QgsLayerTreeModelLegendNode * > layerLegendNodes(QgsLayerTreeLayer *nodeLayer, bool skipNodeEmbeddedInParent=false)
Returns filtered list of active legend nodes attached to a particular layer node (by default it retur...
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
void nodeCustomPropertyChanged(QgsLayerTreeNode *node, const QString &key)
This class is a base class for nodes in a layer tree.
Namespace with helper functions for layer tree operations.
A layout item subclass for map legends.
QgsLayoutItemMap * linkedMap() const
Returns the associated map.
QgsLegendModel * model()
Returns the legend model.
const QgsLegendSettings & legendSettings() const
Returns the legend's renderer settings object.
bool legendFilterByMapEnabled() const
Find out whether legend items are filtered to show just the ones visible in the associated map.
Layout graphical items for displaying a map.
Contains settings and helpers relating to a render of a QgsLayoutItem.
Base class for graphical items within a QgsLayout.
DataDefinedProperty
Data defined properties for different item types.
@ AllProperties
All properties for item.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
Item model implementation based on layer tree model for layout legend.
void refreshLegend()
Emitted to refresh the legend.
The QgsLegendRenderer class handles automatic layout and rendering of legend.
The QgsLegendSettings class stores the appearance and layout settings for legend drawing with QgsLege...
Contains detailed styling information relating to how a layout legend should be rendered.
Style
Component of legends which can be styled.
The class is used as a container of context for various read/write operations on other objects.
An interface for classes which can visit style entity (e.g.
Abstract base class for all rendered symbols.