1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QBARCATEGORYAXIS_H
5#define QBARCATEGORYAXIS_H
6
7#include <QtCharts/QAbstractAxis>
8
9QT_BEGIN_NAMESPACE
10
11class QBarCategoryAxisPrivate;
12
13class Q_CHARTS_EXPORT QBarCategoryAxis : public QAbstractAxis
14{
15 Q_OBJECT
16 Q_PROPERTY(QStringList categories READ categories WRITE setCategories NOTIFY categoriesChanged)
17 Q_PROPERTY(QString min READ min WRITE setMin NOTIFY minChanged)
18 Q_PROPERTY(QString max READ max WRITE setMax NOTIFY maxChanged)
19 Q_PROPERTY(int count READ count NOTIFY countChanged)
20
21public:
22 explicit QBarCategoryAxis(QObject *parent = nullptr);
23 ~QBarCategoryAxis();
24
25protected:
26 QBarCategoryAxis(QBarCategoryAxisPrivate &d, QObject *parent = nullptr);
27
28public:
29 AxisType type() const override;
30 void append(const QStringList &categories);
31 void append(const QString &category);
32 void remove(const QString &category);
33 void insert(int index, const QString &category);
34 void replace(const QString &oldCategory, const QString &newCategory);
35 Q_INVOKABLE void clear();
36 void setCategories(const QStringList &categories);
37 QStringList categories();
38 int count() const;
39 QString at(int index) const;
40
41 //range handling
42 void setMin(const QString &minCategory);
43 QString min() const;
44 void setMax(const QString &maxCategory);
45 QString max() const;
46 void setRange(const QString &minCategory, const QString &maxCategory);
47
48Q_SIGNALS:
49 void categoriesChanged();
50 void minChanged(const QString &min);
51 void maxChanged(const QString &max);
52 void rangeChanged(const QString &min, const QString &max);
53 void countChanged();
54
55private:
56 Q_DECLARE_PRIVATE(QBarCategoryAxis)
57 Q_DISABLE_COPY(QBarCategoryAxis)
58 friend class ChartBarCategoryAxisX;
59 friend class ChartBarCategoryAxisY;
60};
61
62QT_END_NAMESPACE
63
64#endif // QBARCATEGORYAXIS_H
65

source code of qtcharts/src/charts/axis/barcategoryaxis/qbarcategoryaxis.h