diff options
Diffstat (limited to 'src/datavis3d/axis')
-rw-r--r-- | src/datavis3d/axis/axis.pri | 12 | ||||
-rw-r--r-- | src/datavis3d/axis/qabstractaxis.cpp | 84 | ||||
-rw-r--r-- | src/datavis3d/axis/qabstractaxis.h | 86 | ||||
-rw-r--r-- | src/datavis3d/axis/qabstractaxis_p.h | 61 | ||||
-rw-r--r-- | src/datavis3d/axis/qcategoryaxis.cpp | 60 | ||||
-rw-r--r-- | src/datavis3d/axis/qcategoryaxis.h | 54 | ||||
-rw-r--r-- | src/datavis3d/axis/qcategoryaxis_p.h | 49 | ||||
-rw-r--r-- | src/datavis3d/axis/qvalueaxis.cpp | 235 | ||||
-rw-r--r-- | src/datavis3d/axis/qvalueaxis.h | 77 | ||||
-rw-r--r-- | src/datavis3d/axis/qvalueaxis_p.h | 67 |
10 files changed, 785 insertions, 0 deletions
diff --git a/src/datavis3d/axis/axis.pri b/src/datavis3d/axis/axis.pri new file mode 100644 index 00000000..7d5a1c6f --- /dev/null +++ b/src/datavis3d/axis/axis.pri @@ -0,0 +1,12 @@ +HEADERS += \ + $$PWD/qabstractaxis.h \ + $$PWD/qabstractaxis_p.h \ + $$PWD/qvalueaxis.h \ + $$PWD/qvalueaxis_p.h \ + $$PWD/qcategoryaxis.h \ + $$PWD/qcategoryaxis_p.h + +SOURCES += \ + $$PWD/qabstractaxis.cpp \ + $$PWD/qvalueaxis.cpp \ + $$PWD/qcategoryaxis.cpp diff --git a/src/datavis3d/axis/qabstractaxis.cpp b/src/datavis3d/axis/qabstractaxis.cpp new file mode 100644 index 00000000..71b9effd --- /dev/null +++ b/src/datavis3d/axis/qabstractaxis.cpp @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#include "qabstractaxis.h" +#include "qabstractaxis_p.h" + +QT_DATAVIS3D_BEGIN_NAMESPACE + +QAbstractAxis::QAbstractAxis(QAbstractAxisPrivate *d) : + QObject(0), + d_ptr(d) +{ +} + +QAbstractAxis::~QAbstractAxis() +{ +} + +QString QAbstractAxis::title() const +{ + return d_ptr->m_title; +} + +QStringList QAbstractAxis::labels() const +{ + return d_ptr->m_labels; +} + +QAbstractAxis::AxisOrientation QAbstractAxis::orientation() const +{ + return d_ptr->m_orientation; +} + +QAbstractAxis::AxisType QAbstractAxis::type() const +{ + return d_ptr->m_type; +} + +void QAbstractAxis::setTitle(QString title) +{ + if (d_ptr->m_title != title) { + d_ptr->m_title = title; + emit titleChanged(title); + } +} + +// QAbstractAxisPrivate + +QAbstractAxisPrivate::QAbstractAxisPrivate(QAbstractAxis *q, QAbstractAxis::AxisType type) + : QObject(0), + q_ptr(q), + m_orientation(QAbstractAxis::AxisOrientationNone), + m_type(type) +{ +} + +QAbstractAxisPrivate::~QAbstractAxisPrivate() +{ +} + +void QAbstractAxisPrivate::setOrientation(QAbstractAxis::AxisOrientation orientation) +{ + if (m_orientation == QAbstractAxis::AxisOrientationNone) + m_orientation = orientation; + else + Q_ASSERT("Attempted to reset axis orientation."); +} + +QT_DATAVIS3D_END_NAMESPACE diff --git a/src/datavis3d/axis/qabstractaxis.h b/src/datavis3d/axis/qabstractaxis.h new file mode 100644 index 00000000..4bc0ac16 --- /dev/null +++ b/src/datavis3d/axis/qabstractaxis.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#ifndef QABSTRACTAXIS_H +#define QABSTRACTAXIS_H + +#include <QtDataVis3D/qdatavis3denums.h> +#include <QObject> +#include <QScopedPointer> +#include <QVector> +#include <QStringList> + +QT_DATAVIS3D_BEGIN_NAMESPACE + +class QAbstractAxisPrivate; + +class QT_DATAVIS3D_EXPORT QAbstractAxis : public QObject +{ + Q_OBJECT + Q_ENUMS(AxisOrientation) + Q_ENUMS(AxisType) + Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged) + Q_PROPERTY(QStringList labels READ labels NOTIFY labelsChanged) + Q_PROPERTY(AxisOrientation orientation READ orientation) + Q_PROPERTY(AxisType type READ type) + +public: + enum AxisOrientation { + AxisOrientationNone = 0, + AxisOrientationX = 1, + AxisOrientationY = 2, + AxisOrientationZ = 4 + }; + + enum AxisType { + AxisTypeNone = 0, + AxisTypeCategory = 1, + AxisTypeValue = 2 + //AxisTypeLogValue = 6 // inherits valueaxis (4 + 2) // TODO + }; + +protected: + explicit QAbstractAxis(QAbstractAxisPrivate *d); +public: + virtual ~QAbstractAxis(); + + QString title() const; + QStringList labels() const; + + AxisOrientation orientation() const; + AxisType type() const; + +public slots: + void setTitle(QString title); + +signals: + void titleChanged(QString newTitle); + void labelsChanged(); + +protected: + QScopedPointer<QAbstractAxisPrivate> d_ptr; + +private: + Q_DISABLE_COPY(QAbstractAxis) + + friend class Abstract3DController; +}; + +QT_DATAVIS3D_END_NAMESPACE + +#endif // QABSTRACTAXIS_H diff --git a/src/datavis3d/axis/qabstractaxis_p.h b/src/datavis3d/axis/qabstractaxis_p.h new file mode 100644 index 00000000..3866ee75 --- /dev/null +++ b/src/datavis3d/axis/qabstractaxis_p.h @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the QtDataVis3D API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#include "datavis3dglobal_p.h" +#include "qabstractaxis.h" + +#ifndef QABSTRACTAXIS_P_H +#define QABSTRACTAXIS_P_H + +QT_DATAVIS3D_BEGIN_NAMESPACE + +class QAbstractAxisPrivate : public QObject +{ + Q_OBJECT +public: + QAbstractAxisPrivate(QAbstractAxis *q, QAbstractAxis::AxisType type); + virtual ~QAbstractAxisPrivate(); + + void setOrientation(QAbstractAxis::AxisOrientation orientation); + +protected: + QAbstractAxis *q_ptr; + + QString m_title; + QStringList m_labels; + QAbstractAxis::AxisOrientation m_orientation; + QAbstractAxis::AxisType m_type; + + friend class QAbstractAxis; + friend class QValueAxis; + friend class QCategoryAxis; +}; + +QT_DATAVIS3D_END_NAMESPACE + +#endif // QABSTRACTAXIS_P_H diff --git a/src/datavis3d/axis/qcategoryaxis.cpp b/src/datavis3d/axis/qcategoryaxis.cpp new file mode 100644 index 00000000..c20eb80f --- /dev/null +++ b/src/datavis3d/axis/qcategoryaxis.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#include "qcategoryaxis.h" +#include "qcategoryaxis_p.h" + +QT_DATAVIS3D_BEGIN_NAMESPACE + +QCategoryAxis::QCategoryAxis() : + QAbstractAxis(new QCategoryAxisPrivate(this)) +{ +} + +QCategoryAxis::~QCategoryAxis() +{ +} + +QStringList QCategoryAxis::categoryLabels() const +{ + return labels(); +} + +void QCategoryAxis::setCategoryLabels(const QStringList &labels) +{ + if (d_ptr->m_labels != labels) { + d_ptr->m_labels = labels; + emit labelsChanged(); + } +} + +QCategoryAxisPrivate *QCategoryAxis::dptr() +{ + return static_cast<QCategoryAxisPrivate *>(d_ptr.data()); +} + +QCategoryAxisPrivate::QCategoryAxisPrivate(QCategoryAxis *q) + : QAbstractAxisPrivate(q, QAbstractAxis::AxisTypeCategory) +{ +} + +QCategoryAxisPrivate::~QCategoryAxisPrivate() +{ +} + +QT_DATAVIS3D_END_NAMESPACE diff --git a/src/datavis3d/axis/qcategoryaxis.h b/src/datavis3d/axis/qcategoryaxis.h new file mode 100644 index 00000000..8d1e3f57 --- /dev/null +++ b/src/datavis3d/axis/qcategoryaxis.h @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#ifndef QCATEGORYAXIS_H +#define QCATEGORYAXIS_H + +#include <QtDataVis3D/qabstractaxis.h> + +QT_DATAVIS3D_BEGIN_NAMESPACE + +class QCategoryAxisPrivate; + +class QT_DATAVIS3D_EXPORT QCategoryAxis : public QAbstractAxis +{ + Q_OBJECT + // Note: categoryLabels actually reads/writes the labels property in abstract axis, + // which is read only there. Since subclass cannot have property with same name, + // this partially duplicate property is necessary. + Q_PROPERTY(QStringList categoryLabels READ categoryLabels WRITE setCategoryLabels) +public: + explicit QCategoryAxis(); + ~QCategoryAxis(); + + QStringList categoryLabels() const; + +public slots: + void setCategoryLabels(const QStringList &labels); + +protected: + QCategoryAxisPrivate *dptr(); + +private: + + Q_DISABLE_COPY(QCategoryAxis) +}; + +QT_DATAVIS3D_END_NAMESPACE + +#endif // QCATEGORYAXIS_H diff --git a/src/datavis3d/axis/qcategoryaxis_p.h b/src/datavis3d/axis/qcategoryaxis_p.h new file mode 100644 index 00000000..3ca79c64 --- /dev/null +++ b/src/datavis3d/axis/qcategoryaxis_p.h @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the QtDataVis3D API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#include "qcategoryaxis.h" +#include "qabstractaxis_p.h" +#include "qbardataitem.h" + +#ifndef QCATEGORYAXIS_P_H +#define QCATEGORYAXIS_P_H + +QT_DATAVIS3D_BEGIN_NAMESPACE + +class QCategoryAxisPrivate : public QAbstractAxisPrivate +{ + Q_OBJECT + +public: + QCategoryAxisPrivate(QCategoryAxis *q); + virtual ~QCategoryAxisPrivate(); +}; + +QT_DATAVIS3D_END_NAMESPACE + +#endif // QCATEGORYAXIS_P_H diff --git a/src/datavis3d/axis/qvalueaxis.cpp b/src/datavis3d/axis/qvalueaxis.cpp new file mode 100644 index 00000000..cee8a5c7 --- /dev/null +++ b/src/datavis3d/axis/qvalueaxis.cpp @@ -0,0 +1,235 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#include "qvalueaxis.h" +#include "qvalueaxis_p.h" + +QT_DATAVIS3D_BEGIN_NAMESPACE + +QValueAxis::QValueAxis() : + QAbstractAxis(new QValueAxisPrivate(this)) +{ +} + +QValueAxis::~QValueAxis() +{ +} + +void QValueAxis::setRange(qreal min, qreal max) +{ + dptr()->setRange(min, max); + setAutoAdjustRange(false); +} + +void QValueAxis::setMin(qreal min) +{ + dptr()->setMin(min); + setAutoAdjustRange(false); +} + +void QValueAxis::setMax(qreal max) +{ + dptr()->setMax(max); + setAutoAdjustRange(false); +} + +qreal QValueAxis::min() const +{ + return dptrc()->m_min; +} + +qreal QValueAxis::max() const +{ + return dptrc()->m_max; +} + +void QValueAxis::setSegmentCount(int count) +{ + if (count <= 0) { + qWarning() << "Warning: Illegal segment count automatically adjusted to a legal one:" + << count << "-> 1"; + count = 1; + } + if (dptr()->m_segmentCount != count){ + dptr()->m_segmentCount = count; + dptr()->recreateLabels(); + emit segmentCountChanged(count); + } +} + +int QValueAxis::segmentCount() const +{ + return dptrc()->m_segmentCount; +} + +void QValueAxis::setSubSegmentCount(int count) +{ + if (count <= 0) { + qWarning() << "Warning: Illegal subsegment count automatically adjusted to a legal one:" + << count << "-> 1"; + count = 1; + } + if (dptr()->m_subSegmentCount != count) { + dptr()->m_subSegmentCount = count; + emit subSegmentCountChanged(count); + } +} + +int QValueAxis::subSegmentCount() const +{ + return dptrc()->m_subSegmentCount; +} + +void QValueAxis::setAutoAdjustRange(bool autoAdjust) +{ + if (dptr()->m_autoAdjust != autoAdjust) { + dptr()->m_autoAdjust = autoAdjust; + emit autoAdjustRangeChanged(autoAdjust); + } +} + +bool QValueAxis::isAutoAdjustRange() const +{ + return dptrc()->m_autoAdjust; +} + +void QValueAxis::setLabelFormat(const QString &format) +{ + if (dptr()->m_labelFormat != format) { + dptr()->m_labelFormat = format; + dptr()->recreateLabels(); + emit labelFormatChanged(format); + } +} + +QString QValueAxis::labelFormat() const +{ + return dptrc()->m_labelFormat; +} + +QValueAxisPrivate *QValueAxis::dptr() +{ + return static_cast<QValueAxisPrivate *>(d_ptr.data()); +} + +const QValueAxisPrivate *QValueAxis::dptrc() const +{ + return static_cast<const QValueAxisPrivate *>(d_ptr.data()); +} + +QValueAxisPrivate::QValueAxisPrivate(QValueAxis *q) + : QAbstractAxisPrivate(q, QAbstractAxis::AxisTypeValue), + m_min(0.0), + m_max(10.0), + m_segmentCount(5), + m_subSegmentCount(1), + m_autoAdjust(true) +{ +} + +QValueAxisPrivate::~QValueAxisPrivate() +{ +} + +void QValueAxisPrivate::setRange(qreal min, qreal max) +{ + // If min >= max, we adjust ranges so that + // m_max becomes (min + 1.0) + // as axes need some kind of valid range. + // TODO: Make "reverse" axes work (i.e. min > max) + bool dirty = false; + if (m_min != min) { + m_min = min; + dirty = true; + } + if (m_max != max) { + if (min >= max) { + m_max = min + 1.0; + qWarning() << "Warning: Tried to set invalid range for value axis." + " Range automatically adjusted to a valid one:" + << min << "-" << max << "-->" << m_min << "-" << m_max; + } else { + m_max = max; + } + dirty = true; + } + if (dirty) { + recreateLabels(); + emit qptr()->rangeChanged(min, max); + } +} + +void QValueAxisPrivate::setMin(qreal min) +{ + if (m_min != min) { + if (min >= m_max) { + qreal oldMax = m_max; + m_max = min + 1.0; + qWarning() << "Warning: Tried to set minimum to equal or larger than maximum for" + " value axis. Maximum automatically adjusted to a valid one:" + << oldMax << "-->" << m_max; + } + m_min = min; + recreateLabels(); + emit qptr()->rangeChanged(m_min, m_max); + } +} + +void QValueAxisPrivate::setMax(qreal max) +{ + if (m_max != max) { + if (max <= m_min) { + qreal oldMin = m_min; + m_min = max - 1.0; + qWarning() << "Warning: Tried to set maximum to equal or smaller than minimum for" + " value axis. Minimum automatically adjusted to a valid one:" + << oldMin << "-->" << m_min; + } + m_max = max; + recreateLabels(); + emit qptr()->rangeChanged(m_min, m_max); + } +} + +void QValueAxisPrivate::recreateLabels() +{ + QStringList newLabels; + newLabels.reserve(m_segmentCount + 1); + + // First label is at axis min, which is an extra segment + qreal segmentStep = (m_max - m_min) / m_segmentCount; + + for (int i = 0; i < m_segmentCount; i++) { + // TODO Actually do proper formatting + newLabels.append(QString::number(m_min + (segmentStep * i))); + } + // Ensure max label doesn't suffer from any rounding errors + newLabels.append(QString::number(m_max)); + + if (m_labels != newLabels) { + m_labels = newLabels; + emit q_ptr->labelsChanged(); + } +} + +QValueAxis *QValueAxisPrivate::qptr() +{ + return static_cast<QValueAxis *>(q_ptr); +} + +QT_DATAVIS3D_END_NAMESPACE diff --git a/src/datavis3d/axis/qvalueaxis.h b/src/datavis3d/axis/qvalueaxis.h new file mode 100644 index 00000000..c9658f37 --- /dev/null +++ b/src/datavis3d/axis/qvalueaxis.h @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#ifndef QVALUEAXIS_H +#define QVALUEAXIS_H + +#include <QtDataVis3D/qabstractaxis.h> + +QT_DATAVIS3D_BEGIN_NAMESPACE + +class QValueAxisPrivate; + +class QT_DATAVIS3D_EXPORT QValueAxis : public QAbstractAxis +{ + Q_OBJECT + Q_PROPERTY(qreal min READ min WRITE setMin NOTIFY rangeChanged) + Q_PROPERTY(qreal max READ max WRITE setMax NOTIFY rangeChanged) + Q_PROPERTY(int segmentCount READ segmentCount WRITE setSegmentCount NOTIFY segmentCountChanged) + Q_PROPERTY(int subSegmentCount READ subSegmentCount WRITE setSubSegmentCount NOTIFY subSegmentCountChanged) + Q_PROPERTY(bool autoAdjustRange READ isAutoAdjustRange WRITE setAutoAdjustRange NOTIFY autoAdjustRangeChanged) + Q_PROPERTY(QString labelFormat READ labelFormat WRITE setLabelFormat NOTIFY labelFormatChanged) + +public: + explicit QValueAxis(); + ~QValueAxis(); + + qreal min() const; + qreal max() const; + int segmentCount() const; + int subSegmentCount() const; + bool isAutoAdjustRange() const; + QString labelFormat() const; + +public slots: + void setRange(qreal min, qreal max); + void setMin(qreal min); + void setMax(qreal max); + void setSegmentCount(int count); + void setSubSegmentCount(int count); + void setAutoAdjustRange(bool autoAdjust); + void setLabelFormat(const QString &format); + +signals: + void rangeChanged(qreal min, qreal max); + void segmentCountChanged(int count); + void subSegmentCountChanged(int count); + void autoAdjustRangeChanged(bool autoAdjust); + void labelFormatChanged(QString format); + +protected: + QValueAxisPrivate *dptr(); + const QValueAxisPrivate *dptrc() const; + +private: + Q_DISABLE_COPY(QValueAxis) + friend class Bars3dController; + friend class Scatter3DController; +}; + +QT_DATAVIS3D_END_NAMESPACE + +#endif // QVALUEAXIS_H diff --git a/src/datavis3d/axis/qvalueaxis_p.h b/src/datavis3d/axis/qvalueaxis_p.h new file mode 100644 index 00000000..f730d0c0 --- /dev/null +++ b/src/datavis3d/axis/qvalueaxis_p.h @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVis3D module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the QtDataVis3D API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#include "qvalueaxis.h" +#include "qabstractaxis_p.h" + +#ifndef QVALUEAXIS_P_H +#define QVALUEAXIS_P_H + +QT_DATAVIS3D_BEGIN_NAMESPACE + +class QValueAxisPrivate : public QAbstractAxisPrivate +{ + Q_OBJECT + +public: + QValueAxisPrivate(QValueAxis *q); + virtual ~QValueAxisPrivate(); + + void setRange(qreal min, qreal max); + void setMin(qreal min); + void setMax (qreal max); + +protected: + void recreateLabels(); + + qreal m_min; + qreal m_max; + int m_segmentCount; + int m_subSegmentCount; + bool m_autoAdjust; + QString m_labelFormat; + +private: + QValueAxis *qptr(); + + friend class QValueAxis; +}; + +QT_DATAVIS3D_END_NAMESPACE + +#endif // QVALUEAXIS_P_H |