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 Q_PROPERTY(qreal zoom READ zoom WRITE setZoom NOTIFY zoomChanged REVISION(6, 9))
30 Q_PROPERTY(qreal pan READ pan WRITE setPan NOTIFY panChanged REVISION(6, 9))
31 QML_NAMED_ELEMENT(ValueAxis)
32
33public:
34 explicit QValueAxis(QObject *parent = nullptr);
35 ~QValueAxis() override;
36
37protected:
38 QValueAxis(QValueAxisPrivate &d, QObject *parent = nullptr);
39
40public:
41 AxisType type() const override;
42
43 //range handling
44 void setMin(qreal min);
45 qreal min() const;
46 void setMax(qreal max);
47 qreal max() const;
48 void setRange(qreal min, qreal max);
49
50 //ticks handling
51 void setSubTickCount(qsizetype count);
52 qsizetype subTickCount() const;
53 void setTickAnchor(qreal anchor);
54 qreal tickAnchor() const;
55 void setTickInterval(qreal interval);
56 qreal tickInterval() const;
57
58 //label formatting
59 void setLabelFormat(const QString &format);
60 QString labelFormat() const;
61 void setLabelDecimals(int decimals);
62 int labelDecimals() const;
63
64 void setZoom(qreal zoom);
65 qreal zoom() const;
66
67 void setPan(qreal pan);
68 qreal pan() const;
69
70Q_SIGNALS:
71 void minChanged(qreal min);
72 void maxChanged(qreal max);
73 void rangeChanged(qreal min, qreal max);
74 void subTickCountChanged(qsizetype subTickCount);
75 void labelFormatChanged(const QString &format);
76 void labelDecimalsChanged(int decimals);
77 void tickAnchorChanged(qreal tickAnchor);
78 void tickIntervalChanged(qreal tickInterval);
79 Q_REVISION(6, 9) void zoomChanged(qreal zoom);
80 Q_REVISION(6, 9) void panChanged(qreal pan);
81
82private:
83 Q_DECLARE_PRIVATE(QValueAxis)
84 Q_DISABLE_COPY(QValueAxis)
85};
86
87QT_END_NAMESPACE
88
89#endif // QTGRAPHS_QVALUEAXIS_H
90

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