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