summaryrefslogtreecommitdiffstats
path: root/src/axis/valueaxis/qvalueaxis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/axis/valueaxis/qvalueaxis.cpp')
-rw-r--r--src/axis/valueaxis/qvalueaxis.cpp451
1 files changed, 0 insertions, 451 deletions
diff --git a/src/axis/valueaxis/qvalueaxis.cpp b/src/axis/valueaxis/qvalueaxis.cpp
deleted file mode 100644
index 8656ebd4..00000000
--- a/src/axis/valueaxis/qvalueaxis.cpp
+++ /dev/null
@@ -1,451 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 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 Qt Enterprise Charts Add-on.
-**
-** $QT_BEGIN_LICENSE$
-** 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
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qvalueaxis.h"
-#include "qvalueaxis_p.h"
-#include "chartvalueaxisx_p.h"
-#include "chartvalueaxisy_p.h"
-#include "abstractdomain_p.h"
-#include "polarchartvalueaxisangular_p.h"
-#include "polarchartvalueaxisradial_p.h"
-#include "chartdataset_p.h"
-#include "chartpresenter_p.h"
-#include "charttheme_p.h"
-
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-/*!
- \class QValueAxis
- \inmodule Qt Charts
- \brief The QValueAxis class is used for manipulating chart's axis.
- \mainclass
-
- ValueAxis can be setup to show axis line with tick marks, grid lines and shades.
- Values of axis are drawn to position of ticks.
-
- Example code on how to use QValueAxis.
- \code
- QChartView *chartView = new QChartView;
- QLineSeries *series = new QLineSeries;
- // ...
- chartView->chart()->addSeries(series);
-
- QValueAxis *axisX = new QValueAxis;
- axisX->setRange(10, 20.5);
- axisX->setTickCount(10);
- axisX->setLabelFormat("%.2f");
- chartView->chart()->setAxisX(axisX, series);
- \endcode
-*/
-#ifdef QDOC_QT5
-/*!
- \qmltype ValueAxis
- \instantiates QValueAxis
- \inqmlmodule QtCommercial.Chart
-
- \include doc/src/valueaxis.qdocinc
-*/
-#else
-/*!
- \qmlclass ValueAxis QValueAxis
-
- \include ../doc/src/valueaxis.qdocinc
-*/
-#endif
-
-/*!
- \property QValueAxis::min
- Defines the minimum value on the axis.
- When setting this property the max is adjusted if necessary, to ensure that the range remains valid.
-*/
-/*!
- \qmlproperty real ValueAxis::min
- Defines the minimum value on the axis.
- When setting this property the max is adjusted if necessary, to ensure that the range remains valid.
-*/
-
-/*!
- \property QValueAxis::max
- Defines the maximum value on the axis.
- When setting this property the min is adjusted if necessary, to ensure that the range remains valid.
-*/
-/*!
- \qmlproperty real ValueAxis::max
- Defines the maximum value on the axis.
- When setting this property the min is adjusted if necessary, to ensure that the range remains valid.
-*/
-
-/*!
- \property QValueAxis::tickCount
- Defines the number of ticks on the axis. This indicates how many grid lines are draw on the chart.
- The default value is 5, and it can not be below 2.
-*/
-/*!
- \qmlproperty real ValueAxis::tickCount
- Defines the number of ticks on the axis. This indicates how many grid lines are draw on the chart.
- The default value is 5, and it can not be below 2.
-*/
-
-/*!
- \property QValueAxis::labelFormat
- Defines the label format of the axis.
- Supported specifiers are: d, i, o, x, X, f, F, e, E, g, G, and c.
- See QString::sprintf() for additional details.
-
- If the QChart::localizeNumbers is \c{true}, the supported specifiers are limited to: d, e, E, f,
- g, G, and i. Also, only the precision modifier is supported. The rest of the formatting comes from
- the default QLocale of the application.
-*/
-/*!
- \qmlproperty real ValueAxis::labelFormat
- Defines the label format of the axis.
- Supported specifiers are: d, i, o, x, X, f, F, e, E, g, G, and c.
- See QString::sprintf() for additional details.
-
- If the ChartView::localizeNumbers is \c{true}, the supported specifiers are limited to: d, e, E, f,
- g, G, and i. Also, only the precision modifier is supported. The rest of the formatting comes from
- the default QLocale of the application.
-*/
-
-/*!
- \fn void QValueAxis::minChanged(qreal min)
- Axis emits signal when \a min of axis has changed.
-*/
-/*!
- \qmlsignal ValueAxis::onMinChanged(real min)
- Axis emits signal when \a min of axis has changed.
-*/
-
-/*!
- \fn void QValueAxis::maxChanged(qreal max)
- Axis emits signal when \a max of axis has changed.
-*/
-/*!
- \qmlsignal ValueAxis::onMaxChanged(real max)
- Axis emits signal when \a max of axis has changed.
-*/
-
-/*!
- \fn void QValueAxis::tickCountChanged(int tickCount)
- Axis emits signal when \a tickCount of axis has changed.
-*/
-/*!
- \qmlsignal ValueAxis::tickCountChanged(int tickCount)
- Axis emits signal when \a tickCount of axis has changed.
-*/
-
-/*!
- \fn void QValueAxis::rangeChanged(qreal min, qreal max)
- Axis emits signal when \a min or \a max of axis has changed.
-*/
-
-/*!
- \fn void QValueAxis::labelFormatChanged(const QString &format)
- Axis emits signal when \a format of axis labels has changed.
-*/
-/*!
- \qmlsignal ValueAxis::labelFormatChanged(const QString &format)
- Axis emits signal when \a format of axis labels has changed.
-*/
-
-/*!
- \property QValueAxis::niceNumbersEnabled
- \obsolete
- Using this function can lead to unexpected behavior. Use applyNiceNumbers() instead.
-*/
-
-/*!
- \qmlproperty bool ValueAxis::niceNumbersEnabled
- Deprecated; Using this function can lead to unexpected behavior. Use applyNiceNumbers() instead.
-*/
-
-/*!
- Constructs an axis object which is a child of \a parent.
-*/
-QValueAxis::QValueAxis(QObject *parent) :
- QAbstractAxis(*new QValueAxisPrivate(this), parent)
-{
-
-}
-
-/*!
- \internal
-*/
-QValueAxis::QValueAxis(QValueAxisPrivate &d, QObject *parent)
- : QAbstractAxis(d, parent)
-{
-
-}
-
-/*!
- Destroys the object
-*/
-QValueAxis::~QValueAxis()
-{
- Q_D(QValueAxis);
- if (d->m_chart)
- d->m_chart->removeAxis(this);
-}
-
-void QValueAxis::setMin(qreal min)
-{
- Q_D(QValueAxis);
- setRange(min, qMax(d->m_max, min));
-}
-
-qreal QValueAxis::min() const
-{
- Q_D(const QValueAxis);
- return d->m_min;
-}
-
-void QValueAxis::setMax(qreal max)
-{
- Q_D(QValueAxis);
- setRange(qMin(d->m_min, max), max);
-}
-
-qreal QValueAxis::max() const
-{
- Q_D(const QValueAxis);
- return d->m_max;
-}
-
-/*!
- Sets range from \a min to \a max on the axis.
- If min is greater than max then this function returns without making any changes.
-*/
-void QValueAxis::setRange(qreal min, qreal max)
-{
- Q_D(QValueAxis);
- d->setRange(min,max);
-}
-
-void QValueAxis::setTickCount(int count)
-{
- Q_D(QValueAxis);
- if (d->m_tickCount != count && count >= 2) {
- d->m_tickCount = count;
- emit tickCountChanged(count);
- }
-}
-
-int QValueAxis::tickCount() const
-{
- Q_D(const QValueAxis);
- return d->m_tickCount;
-}
-
-void QValueAxis::setNiceNumbersEnabled(bool enable)
-{
- Q_D(QValueAxis);
- qWarning() << "Deprecated; Using this function can lead to unexpected behavior. " \
- "Use applyNiceNumbers() instead.";
- if(enable) {
- QObject::connect(this,SIGNAL(rangeChanged(qreal,qreal)),this,SLOT(applyNiceNumbers()));
- QObject::connect(this,SIGNAL(tickCountChanged(int)),this,SLOT(applyNiceNumbers()));
- applyNiceNumbers();
- }
- else {
- QObject::disconnect(this,SIGNAL(rangeChanged(qreal,qreal)),this,SLOT(applyNiceNumbers()));
- QObject::disconnect(this,SIGNAL(tickCountChanged(int)),this,SLOT(applyNiceNumbers()));
- }
- d->m_niceNumbersEnabled=enable;
-}
-
-bool QValueAxis::niceNumbersEnabled() const
-{
- Q_D(const QValueAxis);
- qWarning() << "Deprecated; Using this function can lead to unexpected behavior. " \
- "Use applyNiceNumbers() instead.";
- return d->m_niceNumbersEnabled;
-}
-
-void QValueAxis::setLabelFormat(const QString &format)
-{
- Q_D(QValueAxis);
- d->m_format = format;
- emit labelFormatChanged(format);
-}
-
-QString QValueAxis::labelFormat() const
-{
- Q_D(const QValueAxis);
- return d->m_format;
-}
-
-/*!
- Returns the type of the axis
-*/
-QAbstractAxis::AxisType QValueAxis::type() const
-{
- return AxisTypeValue;
-}
-
-/*!
- This method modifies range and number of ticks on the axis to look "nice". Algorithm considers numbers that
- can be expressed as form of 1*10^n, 2* 10^n or 5*10^n as a nice numbers. These numbers are used for spacing the ticks.
- This method will modify the current range and number of ticks.
- \sa setRange(), setTickCount()
-*/
-void QValueAxis::applyNiceNumbers()
-{
- Q_D(QValueAxis);
- if(d->m_applying) return;
- qreal min = d->m_min;
- qreal max = d->m_max;
- int ticks = d->m_tickCount;
- AbstractDomain::looseNiceNumbers(min,max,ticks);
- d->m_applying=true;
- d->setRange(min,max);
- setTickCount(ticks);
- d->m_applying=false;
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-QValueAxisPrivate::QValueAxisPrivate(QValueAxis *q)
- : QAbstractAxisPrivate(q),
- m_min(0),
- m_max(0),
- m_tickCount(5),
- m_format(QString::null),
- m_applying(false),
- m_niceNumbersEnabled(false)
-{
-
-}
-
-QValueAxisPrivate::~QValueAxisPrivate()
-{
-
-}
-
-void QValueAxisPrivate::setMin(const QVariant &min)
-{
- Q_Q(QValueAxis);
- bool ok;
- qreal value = min.toReal(&ok);
- if (ok)
- q->setMin(value);
-}
-
-void QValueAxisPrivate::setMax(const QVariant &max)
-{
- Q_Q(QValueAxis);
- bool ok;
- qreal value = max.toReal(&ok);
- if (ok)
- q->setMax(value);
-}
-
-void QValueAxisPrivate::setRange(const QVariant &min, const QVariant &max)
-{
- Q_Q(QValueAxis);
- bool ok1;
- bool ok2;
- qreal value1 = min.toReal(&ok1);
- qreal value2 = max.toReal(&ok2);
- if (ok1 && ok2)
- q->setRange(value1, value2);
-}
-
-void QValueAxisPrivate::setRange(qreal min, qreal max)
-{
- Q_Q(QValueAxis);
- bool changed = false;
-
- if (min > max)
- return;
-
- bool changeMin = false;
- if (m_min == 0 || min == 0)
- changeMin = !qFuzzyCompare(1 + m_min, 1 + min);
- else
- changeMin = !qFuzzyCompare(m_min, min);
-
- bool changeMax = false;
- if (m_max == 0 || max == 0)
- changeMax = !qFuzzyCompare(1 + m_max, 1 + max);
- else
- changeMax = !qFuzzyCompare(m_max, max);
-
- if (changeMin) {
- m_min = min;
- changed = true;
- emit q->minChanged(min);
- }
-
- if (changeMax) {
- m_max = max;
- changed = true;
- emit q->maxChanged(max);
- }
-
- if (changed) {
- emit rangeChanged(min,max);
- emit q->rangeChanged(min, max);
- }
-}
-
-void QValueAxisPrivate::initializeGraphics(QGraphicsItem *parent)
-{
- Q_Q(QValueAxis);
- ChartAxisElement *axis(0);
-
- if (m_chart->chartType() == QChart::ChartTypeCartesian) {
- if (orientation() == Qt::Vertical)
- axis = new ChartValueAxisY(q,parent);
- if (orientation() == Qt::Horizontal)
- axis = new ChartValueAxisX(q,parent);
- }
-
- if (m_chart->chartType() == QChart::ChartTypePolar) {
- if (orientation() == Qt::Vertical)
- axis = new PolarChartValueAxisRadial(q, parent);
- if (orientation() == Qt::Horizontal)
- axis = new PolarChartValueAxisAngular(q, parent);
- }
-
- m_item.reset(axis);
- QAbstractAxisPrivate::initializeGraphics(parent);
-}
-
-
-void QValueAxisPrivate::initializeDomain(AbstractDomain *domain)
-{
- if (orientation() == Qt::Vertical) {
- if (!qFuzzyIsNull(m_max - m_min))
- domain->setRangeY(m_min, m_max);
- else
- setRange(domain->minY(), domain->maxY());
- }
- if (orientation() == Qt::Horizontal) {
- if (!qFuzzyIsNull(m_max - m_min))
- domain->setRangeX(m_min, m_max);
- else
- setRange(domain->minX(), domain->maxX());
- }
-}
-
-#include "moc_qvalueaxis.cpp"
-#include "moc_qvalueaxis_p.cpp"
-
-QTCOMMERCIALCHART_END_NAMESPACE