diff options
Diffstat (limited to 'examples/charts/chartsgallery/themewidget.h')
-rw-r--r-- | examples/charts/chartsgallery/themewidget.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/examples/charts/chartsgallery/themewidget.h b/examples/charts/chartsgallery/themewidget.h new file mode 100644 index 00000000..e630040c --- /dev/null +++ b/examples/charts/chartsgallery/themewidget.h @@ -0,0 +1,50 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef THEMEWIDGET_H +#define THEMEWIDGET_H + +#include "contentwidget.h" + +QT_FORWARD_DECLARE_CLASS(QChart) +QT_FORWARD_DECLARE_CLASS(QChartView) +QT_FORWARD_DECLARE_CLASS(Ui_ThemeWidgetForm); + +typedef QPair<QPointF, QString> Data; +typedef QList<Data> DataList; +typedef QList<DataList> DataTable; + +class ThemeWidget: public ContentWidget +{ + Q_OBJECT +public: + explicit ThemeWidget(QWidget *parent = nullptr); + ~ThemeWidget(); + +private slots: + void updateUI(); + +private: + DataTable generateRandomData(int listCount, int valueMax, int valueCount) const; + void populateThemeBox(); + void populateAnimationBox(); + void populateLegendBox(); + void connectSignals(); + QChart *createAreaChart() const; + QChart *createBarChart(int valueCount) const; + QChart *createPieChart() const; + QChart *createLineChart() const; + QChart *createSplineChart() const; + QChart *createScatterChart() const; + +private: + int m_listCount; + int m_valueMax; + int m_valueCount; + QList<QChartView *> m_charts; + DataTable m_dataTable; + + Ui_ThemeWidgetForm *m_ui; +}; + +#endif |