1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QTGRAPHS_QVALUEAXIS_H
5#define QTGRAPHS_QVALUEAXIS_H
6
7#include <QtGraphs/qabstractaxis.h>
8#include <QtGraphs/qgraphsglobal.h>
9#include <QtQml/qqmlengine.h>
10
11QT_BEGIN_NAMESPACE
12
13class QValueAxisPrivate;
14
15class Q_GRAPHS_EXPORT QValueAxis : public QAbstractAxis
16{
17 Q_OBJECT
18 Q_PROPERTY(qreal min READ min WRITE setMin NOTIFY minChanged FINAL)
19 Q_PROPERTY(qreal max READ max WRITE setMax NOTIFY maxChanged FINAL)
20 Q_PROPERTY(
21 QString labelFormat READ labelFormat WRITE setLabelFormat NOTIFY labelFormatChanged FINAL)
22 Q_PROPERTY(int labelDecimals READ labelDecimals WRITE setLabelDecimals NOTIFY
23 labelDecimalsChanged FINAL)
24 Q_PROPERTY(qsizetype subTickCount READ subTickCount WRITE setSubTickCount NOTIFY
25 subTickCountChanged FINAL)
26 Q_PROPERTY(qreal tickAnchor READ tickAnchor WRITE setTickAnchor NOTIFY tickAnchorChanged FINAL)
27 Q_PROPERTY(
28 qreal tickInterval READ tickInterval WRITE setTickInterval NOTIFY tickIntervalChanged FINAL)
29 QML_NAMED_ELEMENT(ValueAxis)
30
31public:
32 explicit QValueAxis(QObject *parent = nullptr);
33 ~QValueAxis() override;
34
35protected:
36 QValueAxis(QValueAxisPrivate &d, QObject *parent = nullptr);
37
38public:
39 AxisType type() const override;
40
41 //range handling
42 void setMin(qreal min);
43 qreal min() const;
44 void setMax(qreal max);
45 qreal max() const;
46 void setRange(qreal min, qreal max);
47
48 //ticks handling
49 void setSubTickCount(qsizetype count);
50 qsizetype subTickCount() const;
51 void setTickAnchor(qreal anchor);
52 qreal tickAnchor() const;
53 void setTickInterval(qreal interval);
54 qreal tickInterval() const;
55
56 //label formatting
57 void setLabelFormat(const QString &format);
58 QString labelFormat() const;
59 void setLabelDecimals(int decimals);
60 int labelDecimals() const;
61
62Q_SIGNALS:
63 void minChanged(qreal min);
64 void maxChanged(qreal max);
65 void rangeChanged(qreal min, qreal max);
66 void subTickCountChanged(qsizetype subTickCount);
67 void labelFormatChanged(const QString &format);
68 void labelDecimalsChanged(int decimals);
69 void tickAnchorChanged(qreal tickAnchor);
70 void tickIntervalChanged(qreal tickInterval);
71
72private:
73 Q_DECLARE_PRIVATE(QValueAxis)
74 Q_DISABLE_COPY(QValueAxis)
75};
76
77QT_END_NAMESPACE
78
79#endif // QTGRAPHS_QVALUEAXIS_H
80

Provided by KDAB

Privacy Policy
Start learning QML with our Intro Training
Find out more

source code of qtgraphs/src/graphs2d/axis/valueaxis/qvalueaxis.h