QGIS API Documentation 3.99.0-Master (c22de0620c0)
Loading...
Searching...
No Matches
qgslayoutchartwidget.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayoutchartwidget.h
3 --------------------------
4 begin : August 2025
5 copyright : (C) 2025 by Mathieu
6 email : mathieu at opengis dot ch
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSLAYOUTCHARTWIDGET_H
19#define QGSLAYOUTCHARTWIDGET_H
20
21// We don't want to expose this in the public API
22
23#include "ui_qgslayoutchartwidgetbase.h"
24
25#include "qgis_gui.h"
26#include "qgslayoutitemwidget.h"
27
28#define SIP_NO_FILE
29
31
39class GUI_EXPORT QgsLayoutChartWidget : public QgsLayoutItemBaseWidget, private Ui::QgsLayoutChartWidgetBase
40{
41 Q_OBJECT
42
43 public:
45 explicit QgsLayoutChartWidget( QgsLayoutItemChart *chartItem );
46 void setMasterLayout( QgsMasterLayoutInterface *masterLayout ) override;
47
48 protected:
49 bool setNewItem( QgsLayoutItem *item ) override;
50
51 private slots:
52 void changeLayer( QgsMapLayer *layer );
53 void changeSortExpression( const QString &expression, bool valid );
54
55 void mChartTypeComboBox_currentIndexChanged( int index );
56 void mChartPropertiesButton_clicked();
57 void mFlipAxesCheckBox_stateChanged( int state );
58
59 void mSortCheckBox_stateChanged( int state );
60 void mSortDirectionButton_clicked();
61
62 void mSeriesListWidget_currentItemChanged( QListWidgetItem *current, QListWidgetItem *previous );
63 void mSeriesListWidget_itemChanged( QListWidgetItem *item );
64 void mAddSeriesPushButton_clicked();
65 void mRemoveSeriesPushButton_clicked();
66 void mSeriesPropertiesButton_clicked();
67
68 void mLinkedMapComboBox_itemChanged( QgsLayoutItem *item );
69 void mFilterOnlyVisibleFeaturesCheckBox_stateChanged( int state );
70 void mIntersectAtlasCheckBox_stateChanged( int state );
71
72 private:
74 void setGuiElementValues();
75
77 void updateButtonsState();
78
80 QListWidgetItem *addSeriesListItem( const QString &name );
81
82 QPointer<QgsLayoutItemChart> mChartItem;
83 QgsLayoutItemPropertiesWidget *mItemPropertiesWidget = nullptr;
84};
85
86#endif // QGSLAYOUTCHARTWIDGET_H
QgsLayoutChartWidget(QgsLayoutItemChart *chartItem)
constructor
virtual bool setNewItem(QgsLayoutItem *item)
Attempts to update the widget to show the properties for the specified item.
virtual void setMasterLayout(QgsMasterLayoutInterface *masterLayout)
Sets the master layout associated with the item.
QgsLayoutItemBaseWidget(QWidget *parent SIP_TRANSFERTHIS, QgsLayoutObject *layoutObject)
Constructor for QgsLayoutItemBaseWidget, linked with the specified layoutObject.
A layout item subclass that renders chart plots.
A widget for controlling the common properties of layout items (e.g.
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition qgsmaplayer.h:83
Interface for master layout type objects, such as print layouts and reports.