summaryrefslogtreecommitdiffstats
path: root/examples/charts/gallery/mainwidget.h
blob: 8082812cc90e3262544c88530dce8078690906db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#ifndef MAINWIDGET_H
#define MAINWIDGET_H

#include <QHash>
#include <QWidget>

QT_FORWARD_DECLARE_CLASS(QListView)
QT_FORWARD_DECLARE_CLASS(QStringListModel)

class ContentWidget;

class MainWidget : public QWidget
{
    Q_OBJECT
public:
    explicit MainWidget(QWidget *parent = nullptr);

protected:
    void resizeEvent(QResizeEvent *) override;

private:
    enum Example {
        AreaChart,
        BarModelMapper,
        BarChart,
        BarChartPercent,
        BarChartStacked,
        BarChartHorizontal,
        BarChartHorizontalPercent,
        BarChartHorizontalStacked,
        BoxPlotChart,
        Callout,
        CandleStickChart,
        ChartInteractions,
        ChartThemes,
        CustomChart,
        DateTimeAxis,
        Donut,
        DonutBreakdown,
        DynamicSplineChart,
        Legend,
        LegendMarkers,
        LightMarkersPointSelection,
        LineAndBarChart,
        LineChart,
        LogAxis,
        ModelData,
        MultiAxis,
        NestedDonuts,
        PieChartCustomization,
        PieDrilldown,
        PieChart,
        PointConfiguration,
        PolarChart,
        ScatterChart,
        ScatterInteractions,
        SelectedBar,
        SplineChart,
        StackedDrilldown,
        TemperatureRecords
    };

    void setActiveExample(Example example);

    QListView *m_listView = nullptr;
    QStringListModel *m_listModel = nullptr;
    QWidget *m_contentArea = nullptr;
    ContentWidget *m_activeWidget = nullptr;
    QHash<QString, Example> m_exampleMap;
};

#endif