18#ifndef QGSLAYOUTLEGENDWIDGET_H
19#define QGSLAYOUTLEGENDWIDGET_H
25#include "ui_qgslayoutlegendwidgetbase.h"
26#include "ui_qgslayoutlegendmapfilteringwidgetbase.h"
30#include <QItemDelegate>
32class QgsLayoutLegendMapFilteringWidget;
61 void resetLayerNodeToDefaults();
67 void setCurrentNodeStyleFromAction();
75 void mWrapCharLineEdit_textChanged(
const QString &text );
76 void mTitleLineEdit_textChanged(
const QString &text );
77 void mColumnCountSpinBox_valueChanged(
int c );
78 void mSplitLayerCheckBox_toggled(
bool checked );
79 void mEqualColumnWidthCheckBox_toggled(
bool checked );
80 void mSymbolWidthSpinBox_valueChanged(
double d );
81 void mSymbolHeightSpinBox_valueChanged(
double d );
82 void mMaxSymbolSizeSpinBox_valueChanged(
double d );
83 void mMinSymbolSizeSpinBox_valueChanged(
double d );
84 void mWmsLegendWidthSpinBox_valueChanged(
double d );
85 void mWmsLegendHeightSpinBox_valueChanged(
double d );
86 void mTitleSpaceBottomSpinBox_valueChanged(
double d );
87 void mGroupSpaceSpinBox_valueChanged(
double d );
88 void mGroupIndentSpinBox_valueChanged(
double d );
89 void mSubgroupIndentSpinBox_valueChanged(
double d );
90 void mLayerSpaceSpinBox_valueChanged(
double d );
91 void mSymbolSpaceSpinBox_valueChanged(
double d );
92 void mIconLabelSpaceSpinBox_valueChanged(
double d );
93 void mBoxSpaceSpinBox_valueChanged(
double d );
94 void mColumnSpaceSpinBox_valueChanged(
double d );
95 void mCheckBoxAutoUpdate_stateChanged(
int state,
bool userTriggered =
true );
97 void mCheckboxResizeContents_toggled(
bool checked );
99 void mRasterStrokeGroupBox_toggled(
bool state );
100 void mRasterStrokeWidthSpinBox_valueChanged(
double d );
101 void mRasterStrokeColorButton_colorChanged(
const QColor &newColor );
104 void mMoveDownToolButton_clicked();
105 void mMoveUpToolButton_clicked();
106 void mRemoveToolButton_clicked();
107 void mAddToolButton_clicked();
108 void mEditPushButton_clicked();
109 void mCountToolButton_clicked(
bool checked );
110 void mExpressionFilterButton_toggled(
bool checked );
111 void mFilterByMapCheckBox_toggled(
bool checked );
112 void mUpdateAllPushButton_clicked();
113 void mAddGroupToolButton_clicked();
114 void mLayerExpressionButton_clicked();
116 void mFilterLegendByAtlasCheckBox_toggled(
bool checked );
118 void selectedChanged(
const QModelIndex ¤t,
const QModelIndex &previous );
120 void setLegendMapViewData();
124 void setGuiElements();
127 void updateFilterLegendByAtlasButton();
129 void mItemTreeView_doubleClicked(
const QModelIndex &index );
130 void titleFontChanged();
131 void groupFontChanged();
132 void layerFontChanged();
133 void itemFontChanged();
135 void titleAlignmentChanged();
136 void groupAlignmentChanged();
137 void subgroupAlignmentChanged();
138 void itemAlignmentChanged();
139 void arrangementChanged();
141 void spaceBelowSubGroupHeadingChanged(
double space );
142 void spaceBelowGroupHeadingChanged(
double space );
144 void spaceGroupSideChanged(
double space );
145 void spaceSubGroupSideChanged(
double space );
147 void spaceSymbolSideChanged(
double space );
150 QgsLayoutLegendWidget() =
delete;
151 void blockAllSignals(
bool b );
153 QPointer< QgsLayoutItemLegend > mLegend;
157 QPointer< QgsLayoutLegendMapFilteringWidget > mMapFilteringWidget;
172 QgsLayoutLegendMenuProvider(
QgsLayerTreeView *view, QgsLayoutLegendWidget *w );
174 QMenu *createContextMenu()
override;
178 QgsLayoutLegendWidget *mWidget =
nullptr;
181#include "ui_qgslayoutlegendnodewidgetbase.h"
190class GUI_EXPORT QgsLayoutLegendNodeWidget:
public QgsPanelWidget,
private Ui::QgsLayoutLegendNodeWidgetBase
204 void insertExpression();
205 void sizeChanged(
double );
206 void customSymbolChanged();
207 void colorRampLegendChanged();
208 void columnBreakToggled(
bool checked );
209 void columnSplitChanged();
217 int mOriginalLegendNodeIndex = -1;
229class GUI_EXPORT QgsLayoutLegendMapFilteringModel :
public QSortFilterProxyModel
237 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
238 QVariant data(
const QModelIndex &index,
int role )
const override;
239 bool setData(
const QModelIndex &index,
const QVariant &value,
int role )
override;
240 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
244 bool filterAcceptsRow(
int source_row,
const QModelIndex &source_parent )
const override;
248 QPointer< QgsLayoutItemLegend > mLegendItem;
259class GUI_EXPORT QgsLayoutLegendMapFilteringWidget:
public QgsLayoutItemBaseWidget,
private Ui::QgsLayoutLegendMapFilteringWidgetBase
271 void updateGuiElements();
274 QPointer< QgsLayoutItemLegend > mLegendItem;
275 bool mBlockUpdates =
false;
Abstract interface for generating an expression context.
virtual QgsExpressionContext createExpressionContext() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Layer tree node points to a map layer.
The QgsLegendRendererItem class is abstract interface for legend items returned from QgsMapLayerLegen...
This class is a base class for nodes in a layer tree.
The QgsLayerTreeView class extends QTreeView and provides some additional functionality when working ...
A common interface for layout designer dialogs and widgets.
A layout item subclass for map legends.
Base class for graphical items within a QgsLayout.
A model for items attached to a layout.
Map canvas is a class for displaying all GIS data types on a canvas.
Interface for master layout type objects, such as print layouts and reports.
QgsLayerTreeModelLegendNode * legendNode(const QString &rule, QgsLayerTreeModel &model)
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