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();
74 void mWrapCharLineEdit_textChanged(
const QString &text );
75 void mTitleLineEdit_textChanged(
const QString &text );
76 void mColumnCountSpinBox_valueChanged(
int c );
77 void mSplitLayerCheckBox_toggled(
bool checked );
78 void mEqualColumnWidthCheckBox_toggled(
bool checked );
79 void mSymbolWidthSpinBox_valueChanged(
double d );
80 void mSymbolHeightSpinBox_valueChanged(
double d );
81 void mMaxSymbolSizeSpinBox_valueChanged(
double d );
82 void mMinSymbolSizeSpinBox_valueChanged(
double d );
83 void mWmsLegendWidthSpinBox_valueChanged(
double d );
84 void mWmsLegendHeightSpinBox_valueChanged(
double d );
85 void mTitleSpaceBottomSpinBox_valueChanged(
double d );
86 void mGroupSpaceSpinBox_valueChanged(
double d );
87 void mGroupIndentSpinBox_valueChanged(
double d );
88 void mSubgroupIndentSpinBox_valueChanged(
double d );
89 void mLayerSpaceSpinBox_valueChanged(
double d );
90 void mSymbolSpaceSpinBox_valueChanged(
double d );
91 void mIconLabelSpaceSpinBox_valueChanged(
double d );
92 void mBoxSpaceSpinBox_valueChanged(
double d );
93 void mColumnSpaceSpinBox_valueChanged(
double d );
94 void maxWidthChanged(
double width );
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();
122 void expandLegendTree();
123 void collapseLegendTree();
127 void setGuiElements();
130 void updateFilterLegendByAtlasButton();
132 void mItemTreeView_doubleClicked(
const QModelIndex &index );
133 void titleFontChanged();
134 void groupFontChanged();
135 void layerFontChanged();
136 void itemFontChanged();
138 void titleAlignmentChanged();
139 void groupAlignmentChanged();
140 void subgroupAlignmentChanged();
141 void itemAlignmentChanged();
142 void arrangementChanged();
144 void spaceBelowSubGroupHeadingChanged(
double space );
145 void spaceBelowGroupHeadingChanged(
double space );
147 void spaceGroupSideChanged(
double space );
148 void spaceSubGroupSideChanged(
double space );
150 void spaceSymbolSideChanged(
double space );
153 QgsLayoutLegendWidget() =
delete;
154 void blockAllSignals(
bool b );
156 QPointer<QgsLayoutItemLegend> mLegend;
160 QPointer<QgsLayoutLegendMapFilteringWidget> mMapFilteringWidget;
174 QgsLayoutLegendMenuProvider(
QgsLayerTreeView *view, QgsLayoutLegendWidget *w );
176 QMenu *createContextMenu()
override;
180 QgsLayoutLegendWidget *mWidget =
nullptr;
183#include "ui_qgslayoutlegendnodewidgetbase.h"
192class GUI_EXPORT QgsLayoutLegendNodeWidget :
public QgsPanelWidget,
private Ui::QgsLayoutLegendNodeWidgetBase
205 void insertExpression();
206 void sizeChanged(
double );
207 void customSymbolChanged();
208 void colorRampLegendChanged();
209 void columnBreakToggled(
bool checked );
210 void columnSplitChanged();
217 int mOriginalLegendNodeIndex = -1;
228class GUI_EXPORT QgsLayoutLegendMapFilteringModel :
public QSortFilterProxyModel
236 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
237 QVariant data(
const QModelIndex &index,
int role )
const override;
238 bool setData(
const QModelIndex &index,
const QVariant &value,
int role )
override;
239 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
242 bool filterAcceptsRow(
int source_row,
const QModelIndex &source_parent )
const override;
246 QPointer<QgsLayoutItemLegend> mLegendItem;
256class GUI_EXPORT QgsLayoutLegendMapFilteringWidget :
public QgsLayoutItemBaseWidget,
private Ui::QgsLayoutLegendMapFilteringWidgetBase
268 void updateGuiElements();
271 QPointer<QgsLayoutItemLegend> mLegendItem;
272 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.
An abstract interface for legend items returned from QgsMapLayerLegend implementation.
Base class for nodes in a layer tree.
Extends QTreeView and provides additional functionality when working with a layer tree.
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.
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