summaryrefslogtreecommitdiffstats
path: root/src/axis/datetimeaxis/qdatetimeaxis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/axis/datetimeaxis/qdatetimeaxis.cpp')
-rw-r--r--src/axis/datetimeaxis/qdatetimeaxis.cpp393
1 files changed, 0 insertions, 393 deletions
diff --git a/src/axis/datetimeaxis/qdatetimeaxis.cpp b/src/axis/datetimeaxis/qdatetimeaxis.cpp
deleted file mode 100644
index 83c09fbb..00000000
--- a/src/axis/datetimeaxis/qdatetimeaxis.cpp
+++ /dev/null
@@ -1,393 +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 "qdatetimeaxis.h"
-#include "qdatetimeaxis_p.h"
-#include "chartdatetimeaxisx_p.h"
-#include "chartdatetimeaxisy_p.h"
-#include "polarchartdatetimeaxisangular_p.h"
-#include "polarchartdatetimeaxisradial_p.h"
-#include "abstractdomain_p.h"
-#include "qchart.h"
-#include <float.h>
-#include <cmath>
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-/*!
- \class QDateTimeAxis
- \inmodule Qt Charts
- \brief The QDateTimeAxis class is used for manipulating chart's axis.
- \mainclass
-
- The labels can be configured by setting an appropriate DateTime format.
- QDateTimeAxis works correctly with dates from 4714 BCE to 287396 CE.
- There are also other limitiation related to QDateTime. Please refer to QDateTime documentation.
- QDateTimeAxis can be setup to show axis line with tick marks, grid lines and shades.
-
- Note: QDateTimeAxis is disabled on ARM architecture.
-
- \image api_datatime_axis.png
-
- QDateTimeAxis can be used with any QXYSeries.
- To add a data point to the series QDateTime::toMSecsSinceEpoch() is used.
- \code
- QLineSeries *series = new QLineSeries;
-
- QDateTime xValue;
- xValue.setDate(QDate(2012, 1 , 18));
- xValue.setTime(QTime(9, 34));
- qreal yValue = 12;
- series->append(xValue.toMSecsSinceEpoch(), yValue);
-
- xValue.setDate(QDate(2013, 5 , 11));
- xValue.setTime(QTime(11, 14));
- qreal yValue = 22;
- series->append(xValue.toMSecsSinceEpoch(), yValue);
- \endcode
-
- Adding the series to the chart and setting up the QDateTimeAxis.
- \code
- QChartView *chartView = new QChartView;
- chartView->chart()->addSeries(series);
-
- // ...
- QDateTimeAxis *axisX = new QDateTimeAxis;
- axisX->setFormat("dd-MM-yyyy h:mm");
- chartView->chart()->setAxisX(axisX, series);
- \endcode
-*/
-
-#ifdef QDOC_QT5
-/*!
- \qmltype DateTimeAxis
- \instantiates QDateTimeAxis
- \inqmlmodule QtCommercial.Chart
-
- \include doc/src/datetimeaxis.qdocinc
-*/
-#else
-/*!
- \qmlclass DateTimeAxis QDateTimeAxis
-
- \include ../doc/src/datetimeaxis.qdocinc
-*/
-#endif
-
-/*!
- \property QDateTimeAxis::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 datetime DateTimeAxis::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 QDateTimeAxis::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 datetime DateTimeAxis::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.
-*/
-
-/*!
- \fn void QDateTimeAxis::minChanged(QDateTime min)
- Axis emits signal when \a min of axis has changed.
-*/
-/*!
- \qmlsignal DateTimeAxis::onMinChanged(datetime min)
- Axis emits signal when \a min of axis has changed.
-*/
-
-/*!
- \fn void QDateTimeAxis::maxChanged(QDateTime max)
- Axis emits signal when \a max of axis has changed.
-*/
-/*!
- \qmlsignal DateTimeAxis::onMaxChanged(datetime max)
- Axis emits signal when \a max of axis has changed.
-*/
-
-/*!
- \fn void QDateTimeAxis::rangeChanged(QDateTime min, QDateTime max)
- Axis emits signal when \a min or \a max of axis has changed.
-*/
-
-/*!
- \property QDateTimeAxis::tickCount
- The number of tick marks for the axis.
-*/
-
-/*!
- \qmlproperty int DateTimeAxis::tickCount
- The number of tick marks for the axis.
-*/
-
-/*!
- \property QDateTimeAxis::format
- The format string that is used when creating label for the axis out of a QDateTime object.
- Check QDateTime documentation for information on how the string should be defined.
-
- \sa QChart::locale
-*/
-/*!
- \qmlproperty string DateTimeAxis::format
- The format string that is used when creating label for the axis out of a QDateTime object.
- Check QDateTime documentation for information on how the string should be defined.
-*/
-
-/*!
- \fn void QDateTimeAxis::tickCountChanged(int tickCount)
- Axis emits signal when \a tickCount number on axis have changed.
-*/
-/*!
- \qmlsignal DateTimeAxis::tickCountChanged(int tickCount)
- Axis emits signal when \a tickCount number on axis have changed.
-*/
-
-/*!
- \fn void QDateTimeAxis::formatChanged(QString format)
- Axis emits signal when \a format of the axis has changed.
-*/
-/*!
- \qmlsignal DateTimeAxis::onFormatChanged(string format)
- Axis emits signal when \a format of the axis has changed.
-*/
-
-/*!
- Constructs an axis object which is a child of \a parent.
-*/
-QDateTimeAxis::QDateTimeAxis(QObject *parent) :
- QAbstractAxis(*new QDateTimeAxisPrivate(this), parent)
-{
-
-}
-
-/*!
- \internal
-*/
-QDateTimeAxis::QDateTimeAxis(QDateTimeAxisPrivate &d, QObject *parent) : QAbstractAxis(d, parent)
-{
-
-}
-
-/*!
- Destroys the object.
-*/
-QDateTimeAxis::~QDateTimeAxis()
-{
- Q_D(QDateTimeAxis);
- if (d->m_chart)
- d->m_chart->removeAxis(this);
-}
-
-void QDateTimeAxis::setMin(QDateTime min)
-{
- Q_D(QDateTimeAxis);
- if (min.isValid())
- d->setRange(min.toMSecsSinceEpoch(), qMax(d->m_max, qreal(min.toMSecsSinceEpoch())));
-}
-
-QDateTime QDateTimeAxis::min() const
-{
- Q_D(const QDateTimeAxis);
- return QDateTime::fromMSecsSinceEpoch(d->m_min);
-}
-
-void QDateTimeAxis::setMax(QDateTime max)
-{
- Q_D(QDateTimeAxis);
- if (max.isValid())
- d->setRange(qMin(d->m_min, qreal(max.toMSecsSinceEpoch())), max.toMSecsSinceEpoch());
-}
-
-QDateTime QDateTimeAxis::max() const
-{
- Q_D(const QDateTimeAxis);
- return QDateTime::fromMSecsSinceEpoch(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 QDateTimeAxis::setRange(QDateTime min, QDateTime max)
-{
- Q_D(QDateTimeAxis);
- if (!min.isValid() || !max.isValid() || min > max)
- return;
-
- d->setRange(min.toMSecsSinceEpoch(),max.toMSecsSinceEpoch());
-}
-
-void QDateTimeAxis::setFormat(QString format)
-{
- Q_D(QDateTimeAxis);
- if (d->m_format != format) {
- d->m_format = format;
- emit formatChanged(format);
- }
-}
-
-QString QDateTimeAxis::format() const
-{
- Q_D(const QDateTimeAxis);
- return d->m_format;
-}
-
-/*!
- Sets \a count for ticks on the axis.
-*/
-void QDateTimeAxis::setTickCount(int count)
-{
- Q_D(QDateTimeAxis);
- if (d->m_tickCount != count && count >= 2) {
- d->m_tickCount = count;
- emit tickCountChanged(count);
- }
-}
-
-/*!
- \fn int QDateTimeAxis::tickCount() const
- Return number of ticks on the axis.
-*/
-int QDateTimeAxis::tickCount() const
-{
- Q_D(const QDateTimeAxis);
- return d->m_tickCount;
-}
-
-/*!
- Returns the type of the axis.
-*/
-QAbstractAxis::AxisType QDateTimeAxis::type() const
-{
- return AxisTypeDateTime;
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-QDateTimeAxisPrivate::QDateTimeAxisPrivate(QDateTimeAxis *q)
- : QAbstractAxisPrivate(q),
- m_min(0),
- m_max(0),
- m_tickCount(5)
-{
- m_format = "dd-MM-yyyy\nh:mm";
-}
-
-QDateTimeAxisPrivate::~QDateTimeAxisPrivate()
-{
-
-}
-
-void QDateTimeAxisPrivate::setRange(qreal min,qreal max)
-{
- Q_Q(QDateTimeAxis);
-
- bool changed = false;
-
- if (m_min != min) {
- m_min = min;
- changed = true;
- emit q->minChanged(QDateTime::fromMSecsSinceEpoch(min));
- }
-
- if (m_max != max) {
- m_max = max;
- changed = true;
- emit q->maxChanged(QDateTime::fromMSecsSinceEpoch(max));
- }
-
- if (changed) {
- emit q->rangeChanged(QDateTime::fromMSecsSinceEpoch(min), QDateTime::fromMSecsSinceEpoch(max));
- emit rangeChanged(m_min,m_max);
- }
-}
-
-
-void QDateTimeAxisPrivate::setMin(const QVariant &min)
-{
- Q_Q(QDateTimeAxis);
- if (min.canConvert(QVariant::DateTime))
- q->setMin(min.toDateTime());
-}
-
-void QDateTimeAxisPrivate::setMax(const QVariant &max)
-{
-
- Q_Q(QDateTimeAxis);
- if (max.canConvert(QVariant::DateTime))
- q->setMax(max.toDateTime());
-}
-
-void QDateTimeAxisPrivate::setRange(const QVariant &min, const QVariant &max)
-{
- Q_Q(QDateTimeAxis);
- if (min.canConvert(QVariant::DateTime) && max.canConvert(QVariant::DateTime))
- q->setRange(min.toDateTime(), max.toDateTime());
-}
-
-void QDateTimeAxisPrivate::initializeGraphics(QGraphicsItem* parent)
-{
- Q_Q(QDateTimeAxis);
- ChartAxisElement *axis(0);
- if (m_chart->chartType() == QChart::ChartTypeCartesian) {
- if (orientation() == Qt::Vertical)
- axis = new ChartDateTimeAxisY(q,parent);
- if (orientation() == Qt::Horizontal)
- axis = new ChartDateTimeAxisX(q,parent);
- }
-
- if (m_chart->chartType() == QChart::ChartTypePolar) {
- if (orientation() == Qt::Vertical)
- axis = new PolarChartDateTimeAxisRadial(q, parent);
- if (orientation() == Qt::Horizontal)
- axis = new PolarChartDateTimeAxisAngular(q, parent);
- }
-
- m_item.reset(axis);
- QAbstractAxisPrivate::initializeGraphics(parent);
-}
-
-void QDateTimeAxisPrivate::initializeDomain(AbstractDomain *domain)
-{
- if (m_max == m_min) {
- if (orientation() == Qt::Vertical)
- setRange(domain->minY(), domain->maxY());
- else
- setRange(domain->minX(), domain->maxX());
- } else {
- if (orientation() == Qt::Vertical)
- domain->setRangeY(m_min, m_max);
- else
- domain->setRangeX(m_min, m_max);
- }
-}
-
-#include "moc_qdatetimeaxis.cpp"
-#include "moc_qdatetimeaxis_p.cpp"
-
-QTCOMMERCIALCHART_END_NAMESPACE