summaryrefslogtreecommitdiffstats
path: root/examples/charts/chartsgallery/themewidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/charts/chartsgallery/themewidget.h')
-rw-r--r--examples/charts/chartsgallery/themewidget.h50
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