summaryrefslogtreecommitdiffstats
path: root/src/animations
diff options
context:
space:
mode:
Diffstat (limited to 'src/animations')
-rw-r--r--src/animations/animations.pri26
-rw-r--r--src/animations/axisanimation.cpp136
-rw-r--r--src/animations/axisanimation_p.h62
-rw-r--r--src/animations/baranimation.cpp82
-rw-r--r--src/animations/baranimation_p.h59
-rw-r--r--src/animations/boxplotanimation.cpp97
-rw-r--r--src/animations/boxplotanimation_p.h64
-rw-r--r--src/animations/boxwhiskersanimation.cpp110
-rw-r--r--src/animations/boxwhiskersanimation_p.h69
-rw-r--r--src/animations/chartanimation.cpp46
-rw-r--r--src/animations/chartanimation_p.h57
-rw-r--r--src/animations/pieanimation.cpp110
-rw-r--r--src/animations/pieanimation_p.h62
-rw-r--r--src/animations/piesliceanimation.cpp128
-rw-r--r--src/animations/piesliceanimation_p.h60
-rw-r--r--src/animations/scatteranimation.cpp50
-rw-r--r--src/animations/scatteranimation_p.h50
-rw-r--r--src/animations/splineanimation.cpp210
-rw-r--r--src/animations/splineanimation_p.h62
-rw-r--r--src/animations/xyanimation.cpp155
-rw-r--r--src/animations/xyanimation_p.h67
21 files changed, 0 insertions, 1762 deletions
diff --git a/src/animations/animations.pri b/src/animations/animations.pri
deleted file mode 100644
index 28b6db1e..00000000
--- a/src/animations/animations.pri
+++ /dev/null
@@ -1,26 +0,0 @@
-INCLUDEPATH += $$PWD
-DEPENDPATH += $$PWD
-
-SOURCES += \
- $$PWD/axisanimation.cpp \
- $$PWD/xyanimation.cpp \
- $$PWD/pieanimation.cpp \
- $$PWD/piesliceanimation.cpp \
- $$PWD/splineanimation.cpp \
- $$PWD/baranimation.cpp \
- $$PWD/scatteranimation.cpp \
- $$PWD/boxplotanimation.cpp \
- $$PWD/boxwhiskersanimation.cpp \
- $$PWD/chartanimation.cpp
-
-PRIVATE_HEADERS += \
- $$PWD/axisanimation_p.h \
- $$PWD/chartanimation_p.h \
- $$PWD/xyanimation_p.h \
- $$PWD/pieanimation_p.h \
- $$PWD/piesliceanimation_p.h \
- $$PWD/splineanimation_p.h \
- $$PWD/baranimation_p.h \
- $$PWD/scatteranimation_p.h \
- $$PWD/boxplotanimation_p.h \
- $$PWD/boxwhiskersanimation_p.h
diff --git a/src/animations/axisanimation.cpp b/src/animations/axisanimation.cpp
deleted file mode 100644
index 63514238..00000000
--- a/src/animations/axisanimation.cpp
+++ /dev/null
@@ -1,136 +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 "axisanimation_p.h"
-#include "chartaxiselement_p.h"
-#include "qabstractaxis_p.h"
-
-Q_DECLARE_METATYPE(QVector<qreal>)
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-
-AxisAnimation::AxisAnimation(ChartAxisElement *axis)
- : ChartAnimation(axis),
- m_axis(axis),
- m_type(DefaultAnimation)
-{
- setDuration(ChartAnimationDuration);
- setEasingCurve(QEasingCurve::OutQuart);
-}
-
-AxisAnimation::~AxisAnimation()
-{
-}
-
-void AxisAnimation::setAnimationType(Animation type)
-{
- if (state() != QAbstractAnimation::Stopped)
- stop();
- m_type = type;
-}
-
-void AxisAnimation::setAnimationPoint(const QPointF &point)
-{
- if (state() != QAbstractAnimation::Stopped)
- stop();
- m_point = point;
-}
-
-void AxisAnimation::setValues(QVector<qreal> &oldLayout, QVector<qreal> &newLayout)
-{
- if (state() != QAbstractAnimation::Stopped) stop();
-
- switch (m_type) {
- case ZoomOutAnimation: {
- QRectF rect = m_axis->gridGeometry();
- oldLayout.resize(newLayout.count());
-
- for (int i = 0, j = oldLayout.count() - 1; i < (oldLayout.count() + 1) / 2; ++i, --j) {
- oldLayout[i] = m_axis->axis()->orientation() == Qt::Horizontal ? rect.left() : rect.bottom();
- oldLayout[j] = m_axis->axis()->orientation() == Qt::Horizontal ? rect.right() : rect.top();
- }
- }
- break;
- case ZoomInAnimation: {
- int index = qMin(oldLayout.count() * (m_axis->axis()->orientation() == Qt::Horizontal ? m_point.x() : (1 - m_point.y())), newLayout.count() - (qreal)1.0);
- oldLayout.resize(newLayout.count());
-
- for (int i = 0; i < oldLayout.count(); i++)
- oldLayout[i] = oldLayout[index];
- }
- break;
- case MoveForwardAnimation: {
- oldLayout.resize(newLayout.count());
-
- for (int i = 0, j = i + 1; i < oldLayout.count() - 1; ++i, ++j)
- oldLayout[i] = oldLayout[j];
- }
- break;
- case MoveBackwordAnimation: {
- oldLayout.resize(newLayout.count());
-
- for (int i = oldLayout.count() - 1, j = i - 1; i > 0; --i, --j)
- oldLayout[i] = oldLayout[j];
- }
- break;
- default: {
- oldLayout.resize(newLayout.count());
- QRectF rect = m_axis->gridGeometry();
- for (int i = 0, j = oldLayout.count() - 1; i < oldLayout.count(); ++i, --j)
- oldLayout[i] = m_axis->axis()->orientation() == Qt::Horizontal ? rect.left() : rect.top();
- }
- break;
- }
-
- QVariantAnimation::KeyValues value;
- setKeyValues(value); //workaround for wrong interpolation call
- setKeyValueAt(0.0, qVariantFromValue(oldLayout));
- setKeyValueAt(1.0, qVariantFromValue(newLayout));
-}
-
-QVariant AxisAnimation::interpolated(const QVariant &start, const QVariant &end, qreal progress) const
-{
- QVector<qreal> startVector = qvariant_cast<QVector<qreal> >(start);
- QVector<qreal> endVecotr = qvariant_cast<QVector<qreal> >(end);
- QVector<qreal> result;
-
- Q_ASSERT(startVector.count() == endVecotr.count()) ;
-
- for (int i = 0; i < startVector.count(); i++) {
- qreal value = startVector[i] + ((endVecotr[i] - startVector[i]) * progress); //qBound(0.0, progress, 1.0));
- result << value;
- }
- return qVariantFromValue(result);
-}
-
-
-void AxisAnimation::updateCurrentValue(const QVariant &value)
-{
- if (state() != QAbstractAnimation::Stopped) { //workaround
- QVector<qreal> vector = qvariant_cast<QVector<qreal> >(value);
-// Q_ASSERT(vector.count() != 0);
- m_axis->setLayout(vector);
- m_axis->updateGeometry();
- }
-
-}
-
-QTCOMMERCIALCHART_END_NAMESPACE
diff --git a/src/animations/axisanimation_p.h b/src/animations/axisanimation_p.h
deleted file mode 100644
index 1bdc9f57..00000000
--- a/src/animations/axisanimation_p.h
+++ /dev/null
@@ -1,62 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef AXISANIMATION_H
-#define AXISANIMATION_H
-
-#include "chartanimation_p.h"
-#include <QPointF>
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class ChartAxisElement;
-
-class AxisAnimation: public ChartAnimation
-{
-public:
- enum Animation { DefaultAnimation, ZoomOutAnimation, ZoomInAnimation, MoveForwardAnimation, MoveBackwordAnimation};
- AxisAnimation(ChartAxisElement *axis);
- ~AxisAnimation();
- void setAnimationType(Animation type);
- void setAnimationPoint(const QPointF &point);
- void setValues(QVector<qreal> &oldLayout, QVector<qreal> &newLayout);
-protected:
- QVariant interpolated(const QVariant &from, const QVariant &to, qreal progress) const;
- void updateCurrentValue(const QVariant &value);
-private:
- ChartAxisElement *m_axis;
- Animation m_type;
- QPointF m_point;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-
-
-#endif /* AXISANIMATION_H */
diff --git a/src/animations/baranimation.cpp b/src/animations/baranimation.cpp
deleted file mode 100644
index cd38ea9f..00000000
--- a/src/animations/baranimation.cpp
+++ /dev/null
@@ -1,82 +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 "baranimation_p.h"
-#include "abstractbarchartitem_p.h"
-
-Q_DECLARE_METATYPE(QVector<QRectF>)
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-BarAnimation::BarAnimation(AbstractBarChartItem *item)
- : ChartAnimation(item),
- m_item(item)
-{
- setDuration(ChartAnimationDuration);
- setEasingCurve(QEasingCurve::OutQuart);
-}
-
-BarAnimation::~BarAnimation()
-{
-}
-
-QVariant BarAnimation::interpolated(const QVariant &from, const QVariant &to, qreal progress) const
-{
- QVector<QRectF> startVector = qvariant_cast<QVector<QRectF> >(from);
- QVector<QRectF> endVector = qvariant_cast<QVector<QRectF> >(to);
- QVector<QRectF> result;
-
- Q_ASSERT(startVector.count() == endVector.count());
-
- for (int i = 0; i < startVector.count(); i++) {
- QRectF start = startVector[i].normalized();
- QRectF end = endVector[i].normalized();
- qreal x1 = start.left() + progress * (end.left() - start.left());
- qreal x2 = start.right() + progress * (end.right() - start.right());
- qreal y1 = start.top() + progress * (end.top() - start.top());
- qreal y2 = start.bottom() + progress * (end.bottom() - start.bottom());
-
- QRectF value(QPointF(x1, y1), QPointF(x2, y2));
- result << value.normalized();
- }
- return qVariantFromValue(result);
-}
-
-void BarAnimation::updateCurrentValue(const QVariant &value)
-{
- if (state() != QAbstractAnimation::Stopped) { //workaround
-
- QVector<QRectF> layout = qvariant_cast<QVector<QRectF> >(value);
- m_item->setLayout(layout);
- }
-}
-
-void BarAnimation::setup(const QVector<QRectF> &oldLayout, const QVector<QRectF> &newLayout)
-{
- QVariantAnimation::KeyValues value;
- setKeyValues(value); //workaround for wrong interpolation call
- setKeyValueAt(0.0, qVariantFromValue(oldLayout));
- setKeyValueAt(1.0, qVariantFromValue(newLayout));
-}
-
-#include "moc_baranimation_p.cpp"
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
diff --git a/src/animations/baranimation_p.h b/src/animations/baranimation_p.h
deleted file mode 100644
index 756d344a..00000000
--- a/src/animations/baranimation_p.h
+++ /dev/null
@@ -1,59 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef BARANIMATION_P_H
-#define BARANIMATION_P_H
-
-#include "chartanimation_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class AbstractBarChartItem;
-
-class BarAnimation : public ChartAnimation
-{
- Q_OBJECT
-
-public:
- BarAnimation(AbstractBarChartItem *item);
- ~BarAnimation();
-
-public: // from QVariantAnimation
- virtual QVariant interpolated(const QVariant &from, const QVariant &to, qreal progress) const;
- virtual void updateCurrentValue(const QVariant &value);
-
- void setup(const QVector<QRectF> &oldLayout, const QVector<QRectF> &newLayout);
-
-protected:
- AbstractBarChartItem *m_item;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif // BARANIMATION_P_H
diff --git a/src/animations/boxplotanimation.cpp b/src/animations/boxplotanimation.cpp
deleted file mode 100644
index fc9a9619..00000000
--- a/src/animations/boxplotanimation.cpp
+++ /dev/null
@@ -1,97 +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 "boxplotanimation_p.h"
-#include "boxplotchartitem_p.h"
-#include "boxwhiskersdata_p.h"
-#include "boxwhiskersanimation_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-BoxPlotAnimation::BoxPlotAnimation(BoxPlotChartItem *item)
- : QObject(item),
- m_item(item)
-{
-}
-
-BoxPlotAnimation::~BoxPlotAnimation()
-{
-}
-
-void BoxPlotAnimation::addBox(BoxWhiskers *box)
-{
- BoxWhiskersAnimation *animation = m_animations.value(box);
- if (!animation) {
- animation = new BoxWhiskersAnimation(box, this);
- m_animations.insert(box, animation);
- BoxWhiskersData start;
- start.m_lowerExtreme = box->m_data.m_median;
- start.m_lowerQuartile = box->m_data.m_median;
- start.m_median = box->m_data.m_median;
- start.m_upperQuartile = box->m_data.m_median;
- start.m_upperExtreme = box->m_data.m_median;
- animation->setup(start, box->m_data);
- } else {
- animation->stop();
- animation->setEndData(box->m_data);
- }
-}
-
-ChartAnimation *BoxPlotAnimation::boxAnimation(BoxWhiskers *box)
-{
- BoxWhiskersAnimation *animation = m_animations.value(box);
- if (animation)
- animation->m_changeAnimation = false;
-
- return animation;
-}
-
-ChartAnimation *BoxPlotAnimation::boxChangeAnimation(BoxWhiskers *box)
-{
- BoxWhiskersAnimation *animation = m_animations.value(box);
- animation->m_changeAnimation = true;
- animation->setEndData(box->m_data);
-
- return animation;
-}
-
-void BoxPlotAnimation::setAnimationStart(BoxWhiskers *box)
-{
- BoxWhiskersAnimation *animation = m_animations.value(box);
- animation->setStartData(box->m_data);
-}
-
-void BoxPlotAnimation::stopAll()
-{
- foreach (BoxWhiskers *box, m_animations.keys()) {
- BoxWhiskersAnimation *animation = m_animations.value(box);
- animation->stopAndDestroyLater();
- m_animations.remove(box);
- }
-}
-
-void BoxPlotAnimation::removeBoxAnimation(BoxWhiskers *box)
-{
- m_animations.remove(box);
-}
-
-#include "moc_boxplotanimation_p.cpp"
-
-QTCOMMERCIALCHART_END_NAMESPACE
diff --git a/src/animations/boxplotanimation_p.h b/src/animations/boxplotanimation_p.h
deleted file mode 100644
index f7da1f83..00000000
--- a/src/animations/boxplotanimation_p.h
+++ /dev/null
@@ -1,64 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef BOXPLOTANIMATION_P_H
-#define BOXPLOTANIMATION_P_H
-
-#include "chartanimation_p.h"
-#include "boxwhiskers_p.h"
-#include "boxwhiskersdata_p.h"
-#include "boxwhiskersanimation_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class BoxPlotChartItem;
-
-class BoxPlotAnimation : public QObject
-{
- Q_OBJECT
-public:
- BoxPlotAnimation(BoxPlotChartItem *item);
- ~BoxPlotAnimation();
-
- void addBox(BoxWhiskers *box);
- ChartAnimation *boxAnimation(BoxWhiskers *box);
- ChartAnimation *boxChangeAnimation(BoxWhiskers *box);
-
- void setAnimationStart(BoxWhiskers *box);
- void stopAll();
- void removeBoxAnimation(BoxWhiskers *box);
-
-protected:
- BoxPlotChartItem *m_item;
- QHash<BoxWhiskers *, BoxWhiskersAnimation *> m_animations;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif // BOXPLOTANIMATION_P_H
diff --git a/src/animations/boxwhiskersanimation.cpp b/src/animations/boxwhiskersanimation.cpp
deleted file mode 100644
index a8987173..00000000
--- a/src/animations/boxwhiskersanimation.cpp
+++ /dev/null
@@ -1,110 +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 "boxwhiskersanimation_p.h"
-#include "boxplotanimation_p.h"
-#include "boxplotchartitem_p.h"
-#include "boxwhiskersdata_p.h"
-
-Q_DECLARE_METATYPE(QVector<QRectF>)
-Q_DECLARE_METATYPE(QTCOMMERCIALCHART_NAMESPACE::BoxWhiskersData)
-Q_DECLARE_METATYPE(qreal)
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-BoxWhiskersAnimation::BoxWhiskersAnimation(BoxWhiskers *box, BoxPlotAnimation *boxPlotAnimation)
- : ChartAnimation(box),
- m_box(box),
- m_boxPlotAnimation(boxPlotAnimation)
-{
- setDuration(ChartAnimationDuration);
- setEasingCurve(QEasingCurve::OutQuart);
-}
-
-BoxWhiskersAnimation::~BoxWhiskersAnimation()
-{
- if (m_boxPlotAnimation)
- m_boxPlotAnimation->removeBoxAnimation(m_box);
-}
-
-QVariant BoxWhiskersAnimation::interpolated(const QVariant &from, const QVariant &to, qreal progress) const
-{
- BoxWhiskersData startData = qvariant_cast<BoxWhiskersData>(from);
- BoxWhiskersData endData = qvariant_cast<BoxWhiskersData>(to);
- BoxWhiskersData result;
-
- if (m_changeAnimation) {
- result.m_lowerExtreme = startData.m_lowerExtreme + progress * (endData.m_lowerExtreme - startData.m_lowerExtreme);
- result.m_lowerQuartile = startData.m_lowerQuartile + progress * (endData.m_lowerQuartile - startData.m_lowerQuartile);
- result.m_median = startData.m_median + progress * (endData.m_median - startData.m_median);
- result.m_upperQuartile = startData.m_upperQuartile + progress * (endData.m_upperQuartile - startData.m_upperQuartile);
- result.m_upperExtreme = startData.m_upperExtreme + progress * (endData.m_upperExtreme - startData.m_upperExtreme);
- } else {
- result.m_lowerExtreme = endData.m_median + progress * (endData.m_lowerExtreme - endData.m_median);
- result.m_lowerQuartile = endData.m_median + progress * (endData.m_lowerQuartile - endData.m_median);
- result.m_median = endData.m_median;
- result.m_upperQuartile = endData.m_median + progress * (endData.m_upperQuartile - endData.m_median);
- result.m_upperExtreme = endData.m_median + progress * (endData.m_upperExtreme - endData.m_median);
- }
- result.m_index = endData.m_index;
- result.m_boxItems = endData.m_boxItems;
-
- result.m_maxX = endData.m_maxX;
- result.m_minX = endData.m_minX;
- result.m_maxY = endData.m_maxY;
- result.m_minY = endData.m_minY;
- result.m_seriesIndex = endData.m_seriesIndex;
- result.m_seriesCount = endData.m_seriesCount;
-
- return qVariantFromValue(result);
-}
-
-void BoxWhiskersAnimation::updateCurrentValue(const QVariant &value)
-{
- BoxWhiskersData data = qvariant_cast<BoxWhiskersData>(value);
- m_box->setLayout(data);
-}
-
-void BoxWhiskersAnimation::setup(const BoxWhiskersData &startData, const BoxWhiskersData &endData)
-{
- setKeyValueAt(0.0, qVariantFromValue(startData));
- setKeyValueAt(1.0, qVariantFromValue(endData));
-}
-
-void BoxWhiskersAnimation::setEndData(const BoxWhiskersData &endData)
-{
- if (state() != QAbstractAnimation::Stopped)
- stop();
-
- setEndValue(qVariantFromValue(endData));
-}
-
-void BoxWhiskersAnimation::setStartData(const BoxWhiskersData &endData)
-{
- if (state() != QAbstractAnimation::Stopped)
- stop();
-
- setStartValue(qVariantFromValue(endData));
-}
-
-#include "moc_boxwhiskersanimation_p.cpp"
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
diff --git a/src/animations/boxwhiskersanimation_p.h b/src/animations/boxwhiskersanimation_p.h
deleted file mode 100644
index 4f3d4183..00000000
--- a/src/animations/boxwhiskersanimation_p.h
+++ /dev/null
@@ -1,69 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef BOXWHISKERSANIMATION_P_H
-#define BOXWHISKERSANIMATION_P_H
-
-#include "chartanimation_p.h"
-#include "boxwhiskers_p.h"
-#include "boxwhiskersdata_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class BoxPlotChartItem;
-class BoxPlotAnimation;
-
-class BoxWhiskersAnimation : public ChartAnimation
-{
- Q_OBJECT
-
-public:
- BoxWhiskersAnimation(BoxWhiskers *box, BoxPlotAnimation *boxPlotAnimation);
- ~BoxWhiskersAnimation();
-
-public: // from QVariantAnimation
- virtual QVariant interpolated(const QVariant &from, const QVariant &to, qreal progress) const;
- virtual void updateCurrentValue(const QVariant &value);
-
- void setup(const BoxWhiskersData &startData, const BoxWhiskersData &endData);
- void setEndData(const BoxWhiskersData &endData);
- void setStartData(const BoxWhiskersData &endData);
-
- void moveMedianLine(bool move);
-
-protected:
- friend class BoxPlotAnimation;
- BoxWhiskers *m_box;
- bool m_changeAnimation;
- BoxPlotAnimation *m_boxPlotAnimation;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif // BOXWHISKERSANIMATION_P_H
diff --git a/src/animations/chartanimation.cpp b/src/animations/chartanimation.cpp
deleted file mode 100644
index 2f739ab3..00000000
--- a/src/animations/chartanimation.cpp
+++ /dev/null
@@ -1,46 +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 "chartanimation_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-ChartAnimation::ChartAnimation(QObject *parent) :
- QVariantAnimation(parent),
- m_destructing(false)
-{
-}
-
-void ChartAnimation::stopAndDestroyLater()
-{
- m_destructing = true;
- stop();
- deleteLater();
-}
-
-void ChartAnimation::startChartAnimation()
-{
- if (!m_destructing)
- start();
-}
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-
diff --git a/src/animations/chartanimation_p.h b/src/animations/chartanimation_p.h
deleted file mode 100644
index d924aba7..00000000
--- a/src/animations/chartanimation_p.h
+++ /dev/null
@@ -1,57 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef CHARTANIMATION_H
-#define CHARTANIMATION_H
-
-#include "qchartglobal.h"
-#include <QVariantAnimation>
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-const static int ChartAnimationDuration = 1000;
-
-class ChartAnimation: public QVariantAnimation
-{
- Q_OBJECT
-public:
- ChartAnimation(QObject *parent = 0);
-
- void stopAndDestroyLater();
-
-public Q_SLOTS:
- void startChartAnimation();
-
-protected:
- bool m_destructing;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif /* CHARTANIMATION_H */
diff --git a/src/animations/pieanimation.cpp b/src/animations/pieanimation.cpp
deleted file mode 100644
index fa14419e..00000000
--- a/src/animations/pieanimation.cpp
+++ /dev/null
@@ -1,110 +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 "pieanimation_p.h"
-#include "piesliceanimation_p.h"
-#include "piechartitem_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-PieAnimation::PieAnimation(PieChartItem *item)
- : ChartAnimation(item),
- m_item(item)
-{
-}
-
-PieAnimation::~PieAnimation()
-{
-}
-
-ChartAnimation *PieAnimation::updateValue(PieSliceItem *sliceItem, const PieSliceData &sliceData)
-{
- PieSliceAnimation *animation = m_animations.value(sliceItem);
- if (!animation) {
- animation = new PieSliceAnimation(sliceItem);
- m_animations.insert(sliceItem, animation);
- } else {
- animation->stop();
- }
-
- animation->updateValue(sliceData);
- animation->setDuration(ChartAnimationDuration);
- animation->setEasingCurve(QEasingCurve::OutQuart);
-
- return animation;
-}
-
-ChartAnimation *PieAnimation::addSlice(PieSliceItem *sliceItem, const PieSliceData &sliceData, bool startupAnimation)
-{
- PieSliceAnimation *animation = new PieSliceAnimation(sliceItem);
- m_animations.insert(sliceItem, animation);
-
- PieSliceData startValue = sliceData;
- startValue.m_radius = 0;
- if (startupAnimation)
- startValue.m_startAngle = 0;
- else
- startValue.m_startAngle = sliceData.m_startAngle + (sliceData.m_angleSpan / 2);
- startValue.m_angleSpan = 0;
-
- if (sliceData.m_holeRadius > 0)
- startValue.m_radius = sliceData.m_holeRadius;
-
- animation->setValue(startValue, sliceData);
- animation->setDuration(ChartAnimationDuration);
- animation->setEasingCurve(QEasingCurve::OutQuart);
-
- return animation;
-}
-
-ChartAnimation *PieAnimation::removeSlice(PieSliceItem *sliceItem)
-{
- PieSliceAnimation *animation = m_animations.value(sliceItem);
- Q_ASSERT(animation);
- animation->stop();
-
- PieSliceData endValue = animation->currentSliceValue();
- if (endValue.m_holeRadius > 0)
- endValue.m_radius = endValue.m_holeRadius;
- else
- endValue.m_radius = 0;
- endValue.m_startAngle = endValue.m_startAngle + endValue.m_angleSpan;
- endValue.m_angleSpan = 0;
- endValue.m_isLabelVisible = false;
-
- animation->updateValue(endValue);
- animation->setDuration(ChartAnimationDuration);
- animation->setEasingCurve(QEasingCurve::OutQuart);
-
- // PieSliceItem is the parent of PieSliceAnimation so the animation will be deleted as well..
- connect(animation, SIGNAL(finished()), sliceItem, SLOT(deleteLater()));
- m_animations.remove(sliceItem);
-
- return animation;
-}
-
-void PieAnimation::updateCurrentValue(const QVariant &)
-{
- // nothing to do...
-}
-
-#include "moc_pieanimation_p.cpp"
-
-QTCOMMERCIALCHART_END_NAMESPACE
diff --git a/src/animations/pieanimation_p.h b/src/animations/pieanimation_p.h
deleted file mode 100644
index 9059e81a..00000000
--- a/src/animations/pieanimation_p.h
+++ /dev/null
@@ -1,62 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef PIEANIMATION_P_H
-#define PIEANIMATION_P_H
-
-#include "chartanimation_p.h"
-#include "piechartitem_p.h"
-#include "piesliceanimation_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class PieChartItem;
-
-class PieAnimation : public ChartAnimation
-{
- Q_OBJECT
-
-public:
- PieAnimation(PieChartItem *item);
- ~PieAnimation();
- ChartAnimation *updateValue(PieSliceItem *sliceItem, const PieSliceData &newValue);
- ChartAnimation *addSlice(PieSliceItem *sliceItem, const PieSliceData &endValue, bool startupAnimation);
- ChartAnimation *removeSlice(PieSliceItem *sliceItem);
-
-public: // from QVariantAnimation
- void updateCurrentValue(const QVariant &value);
-
-private:
- PieChartItem *m_item;
- QHash<PieSliceItem *, PieSliceAnimation *> m_animations;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif
diff --git a/src/animations/piesliceanimation.cpp b/src/animations/piesliceanimation.cpp
deleted file mode 100644
index deacda04..00000000
--- a/src/animations/piesliceanimation.cpp
+++ /dev/null
@@ -1,128 +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 "piesliceanimation_p.h"
-#include "piechartitem_p.h"
-
-Q_DECLARE_METATYPE(QTCOMMERCIALCHART_NAMESPACE::PieSliceData)
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-qreal linearPos(qreal start, qreal end, qreal pos)
-{
- return start + ((end - start) * pos);
-}
-
-QPointF linearPos(QPointF start, QPointF end, qreal pos)
-{
- qreal x = linearPos(start.x(), end.x(), pos);
- qreal y = linearPos(start.y(), end.y(), pos);
- return QPointF(x, y);
-}
-
-QPen linearPos(QPen start, QPen end, qreal pos)
-{
- QColor c;
- c.setRedF(linearPos(start.color().redF(), end.color().redF(), pos));
- c.setGreenF(linearPos(start.color().greenF(), end.color().greenF(), pos));
- c.setBlueF(linearPos(start.color().blueF(), end.color().blueF(), pos));
- end.setColor(c);
- return end;
-}
-
-QBrush linearPos(QBrush start, QBrush end, qreal pos)
-{
- QColor c;
- c.setRedF(linearPos(start.color().redF(), end.color().redF(), pos));
- c.setGreenF(linearPos(start.color().greenF(), end.color().greenF(), pos));
- c.setBlueF(linearPos(start.color().blueF(), end.color().blueF(), pos));
- end.setColor(c);
- return end;
-}
-
-PieSliceAnimation::PieSliceAnimation(PieSliceItem *sliceItem)
- : ChartAnimation(sliceItem),
- m_sliceItem(sliceItem),
- m_currentValue(m_sliceItem->m_data)
-{
-
-}
-
-PieSliceAnimation::~PieSliceAnimation()
-{
-}
-
-void PieSliceAnimation::setValue(const PieSliceData &startValue, const PieSliceData &endValue)
-{
- if (state() != QAbstractAnimation::Stopped)
- stop();
-
- m_currentValue = startValue;
-
- setKeyValueAt(0.0, qVariantFromValue(startValue));
- setKeyValueAt(1.0, qVariantFromValue(endValue));
-}
-
-void PieSliceAnimation::updateValue(const PieSliceData &endValue)
-{
- if (state() != QAbstractAnimation::Stopped)
- stop();
-
- setKeyValueAt(0.0, qVariantFromValue(m_currentValue));
- setKeyValueAt(1.0, qVariantFromValue(endValue));
-}
-
-PieSliceData PieSliceAnimation::currentSliceValue()
-{
- // NOTE:
- // We must use an internal current value because QVariantAnimation::currentValue() is updated
- // before the animation is actually started. So if we get 2 updateValue() calls in a row the currentValue()
- // will have the end value set from the first call and the second call will interpolate that instead of
- // the original current value as it was before the first call.
- return m_currentValue;
-}
-
-QVariant PieSliceAnimation::interpolated(const QVariant &start, const QVariant &end, qreal progress) const
-{
- PieSliceData startValue = qvariant_cast<PieSliceData>(start);
- PieSliceData endValue = qvariant_cast<PieSliceData>(end);
-
- PieSliceData result;
- result = endValue;
- result.m_center = linearPos(startValue.m_center, endValue.m_center, progress);
- result.m_radius = linearPos(startValue.m_radius, endValue.m_radius, progress);
- result.m_startAngle = linearPos(startValue.m_startAngle, endValue.m_startAngle, progress);
- result.m_angleSpan = linearPos(startValue.m_angleSpan, endValue.m_angleSpan, progress);
- result.m_slicePen = linearPos(startValue.m_slicePen, endValue.m_slicePen, progress);
- result.m_sliceBrush = linearPos(startValue.m_sliceBrush, endValue.m_sliceBrush, progress);
- result.m_holeRadius = linearPos(startValue.m_holeRadius, endValue.m_holeRadius, progress);
-
- return qVariantFromValue(result);
-}
-
-void PieSliceAnimation::updateCurrentValue(const QVariant &value)
-{
- if (state() != QAbstractAnimation::Stopped) { //workaround
- m_currentValue = qvariant_cast<PieSliceData>(value);
- m_sliceItem->setLayout(m_currentValue);
- }
-}
-
-QTCOMMERCIALCHART_END_NAMESPACE
diff --git a/src/animations/piesliceanimation_p.h b/src/animations/piesliceanimation_p.h
deleted file mode 100644
index 4abd2ada..00000000
--- a/src/animations/piesliceanimation_p.h
+++ /dev/null
@@ -1,60 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef PIESLICEANIMATION_P_H
-#define PIESLICEANIMATION_P_H
-
-#include "chartanimation_p.h"
-#include "piesliceitem_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class PieChartItem;
-
-class PieSliceAnimation : public ChartAnimation
-{
-public:
- PieSliceAnimation(PieSliceItem *sliceItem);
- ~PieSliceAnimation();
- void setValue(const PieSliceData &startValue, const PieSliceData &endValue);
- void updateValue(const PieSliceData &endValue);
- PieSliceData currentSliceValue();
-
-protected:
- QVariant interpolated(const QVariant &start, const QVariant &end, qreal progress) const;
- void updateCurrentValue(const QVariant &value);
-
-private:
- PieSliceItem *m_sliceItem;
- PieSliceData m_currentValue;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif
diff --git a/src/animations/scatteranimation.cpp b/src/animations/scatteranimation.cpp
deleted file mode 100644
index ca6acfd6..00000000
--- a/src/animations/scatteranimation.cpp
+++ /dev/null
@@ -1,50 +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 "scatteranimation_p.h"
-#include "scatterchartitem_p.h"
-#include <QDebug>
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-ScatterAnimation::ScatterAnimation(ScatterChartItem *item)
- : XYAnimation(item)
-{
-}
-
-ScatterAnimation::~ScatterAnimation()
-{
-}
-
-void ScatterAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
-{
- XYAnimation::updateState(newState, oldState);
-
- if (oldState == QAbstractAnimation::Running && newState == QAbstractAnimation::Stopped
- && animationType() == RemovePointAnimation) {
- // Removing a point from scatter chart will keep extra marker item after animation stops.
- // Also, if the removed point was not the last one in series, points after the removed one
- // will report wrong coordinates when clicked. To fix these issues, update geometry after
- // point removal animation has finished.
- chartItem()->updateGeometry();
- }
-}
-
-QTCOMMERCIALCHART_END_NAMESPACE
diff --git a/src/animations/scatteranimation_p.h b/src/animations/scatteranimation_p.h
deleted file mode 100644
index 294cdd0d..00000000
--- a/src/animations/scatteranimation_p.h
+++ /dev/null
@@ -1,50 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef SCATTERANIMATION_P_H
-#define SCATTERANIMATION_P_H
-#include "xyanimation_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class ScatterChartItem;
-
-class ScatterAnimation : public XYAnimation
-{
-public:
- ScatterAnimation(ScatterChartItem *item);
- ~ScatterAnimation();
-
-protected:
- void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState);
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif
diff --git a/src/animations/splineanimation.cpp b/src/animations/splineanimation.cpp
deleted file mode 100644
index de6efa11..00000000
--- a/src/animations/splineanimation.cpp
+++ /dev/null
@@ -1,210 +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 "splineanimation_p.h"
-#include "splinechartitem_p.h"
-#include <QDebug>
-
-Q_DECLARE_METATYPE(QVector<QPointF>)
-Q_DECLARE_METATYPE(SplineVector)
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-SplineAnimation::SplineAnimation(SplineChartItem *item)
- : XYAnimation(item),
- m_item(item),
- m_valid(false)
-{
-}
-
-SplineAnimation::~SplineAnimation()
-{
-}
-
-void SplineAnimation::setup(QVector<QPointF> &oldPoints, QVector<QPointF> &newPoints, QVector<QPointF> &oldControlPoints, QVector<QPointF> &newControlPoints, int index)
-{
- if (newPoints.count() * 2 - 2 != newControlPoints.count() || newControlPoints.count() < 2) {
- m_valid = false;
- m_dirty = false;
- m_item->setGeometryPoints(newPoints);
- m_item->setControlGeometryPoints(newControlPoints);
- m_item->setDirty(false);
- m_item->updateGeometry();
- return;
- }
-
- m_type = NewAnimation;
-
- if (state() != QAbstractAnimation::Stopped) {
- stop();
- m_dirty = false;
- }
-
- if (!m_dirty) {
- m_dirty = true;
- m_oldSpline.first = oldPoints;
- m_oldSpline.second = oldControlPoints;
- }
-
- m_newSpline.first = newPoints;
- m_newSpline.second = newControlPoints;
-
-
- int x = m_oldSpline.first.count();
- int y = m_newSpline.first.count();
-
- if (x - y == 1 && index >= 0 && y > 0) {
- //remove point
- if (index > 0) {
- m_newSpline.first.insert(index, newPoints[index - 1]);
- m_newSpline.second.insert((index - 1) * 2, newPoints[index - 1]);
- m_newSpline.second.insert((index - 1) * 2 + 1, newPoints[index - 1]);
- } else {
- m_newSpline.first.insert(0, newPoints[index]);
- m_newSpline.second.insert(0, newPoints[index]);
- m_newSpline.second.insert(1, newPoints[index]);
- }
- m_index = index;
- m_type = RemovePointAnimation;
- }
-
- if (x - y == -1 && index >= 0) {
- //add point
- if (index > 0) {
- m_oldSpline.first.insert(index, newPoints[index - 1]);
- m_oldSpline.second.insert((index - 1) * 2, newPoints[index - 1]);
- m_oldSpline.second.insert((index - 1) * 2 + 1, newPoints[index - 1]);
- } else {
- m_oldSpline.first.insert(0, newPoints[index]);
- m_oldSpline.second.insert(0, newPoints[index]);
- m_oldSpline.second.insert(1, newPoints[index]);
- }
- m_index = index;
- m_type = AddPointAnimation;
- }
-
- x = m_oldSpline.first.count();
- y = m_newSpline.first.count();
-
- if (x != y) {
- m_type = NewAnimation;
- } else if (m_type == NewAnimation) {
- m_type = ReplacePointAnimation;
- }
-
-
- setKeyValueAt(0.0, qVariantFromValue(m_oldSpline));
- setKeyValueAt(1.0, qVariantFromValue(m_newSpline));
-
- m_valid = true;
-
-}
-
-QVariant SplineAnimation::interpolated(const QVariant &start, const QVariant &end, qreal progress) const
-{
-
- SplineVector startPair = qvariant_cast< SplineVector >(start);
- SplineVector endPair = qvariant_cast< SplineVector >(end);
- SplineVector result;
-
- switch (animationType()) {
- case RemovePointAnimation:
- case AddPointAnimation:
- case ReplacePointAnimation: {
- if (startPair.first.count() != endPair.first.count())
- break;
- Q_ASSERT(startPair.first.count() * 2 - 2 == startPair.second.count());
- Q_ASSERT(endPair.first.count() * 2 - 2 == endPair.second.count());
- for (int i = 0; i < endPair.first.count(); i++) {
- qreal x = startPair.first[i].x() + ((endPair.first[i].x() - startPair.first[i].x()) * progress);
- qreal y = startPair.first[i].y() + ((endPair.first[i].y() - startPair.first[i].y()) * progress);
- result.first << QPointF(x, y);
- if (i + 1 >= endPair.first.count())
- continue;
- x = startPair.second[i * 2].x() + ((endPair.second[i * 2].x() - startPair.second[i * 2].x()) * progress);
- y = startPair.second[i * 2].y() + ((endPair.second[i * 2].y() - startPair.second[i * 2].y()) * progress);
- result.second << QPointF(x, y);
- x = startPair.second[i * 2 + 1].x() + ((endPair.second[i * 2 + 1].x() - startPair.second[i * 2 + 1].x()) * progress);
- y = startPair.second[i * 2 + 1].y() + ((endPair.second[i * 2 + 1].y() - startPair.second[i * 2 + 1].y()) * progress);
- result.second << QPointF(x, y);
- }
- }
- break;
- case NewAnimation: {
- Q_ASSERT(endPair.first.count() * 2 - 2 == endPair.second.count());
- int count = endPair.first.count() * qBound(qreal(0), progress, qreal(1));
- for (int i = 0; i < count; i++) {
- result.first << endPair.first[i];
- if (i + 1 == count)
- break;
- result.second << endPair.second[2 * i];
- result.second << endPair.second[2 * i + 1];
- }
- }
- break;
- default:
- qWarning() << "Unknown type of animation";
- break;
- }
-
- return qVariantFromValue(result);
-}
-
-void SplineAnimation::updateCurrentValue(const QVariant &value)
-{
- if (state() != QAbstractAnimation::Stopped && m_valid) { //workaround
- QPair<QVector<QPointF >, QVector<QPointF > > pair = qvariant_cast< QPair< QVector<QPointF>, QVector<QPointF> > >(value);
- m_item->setGeometryPoints(pair.first);
- m_item->setControlGeometryPoints(pair.second);
- m_item->updateGeometry();
- m_item->setDirty(true);
- m_dirty = false;
- }
-}
-
-void SplineAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
-{
- XYAnimation::updateState(newState, oldState);
-
- if (oldState == QAbstractAnimation::Running && newState == QAbstractAnimation::Stopped) {
- if (m_item->isDirty() && m_type == RemovePointAnimation) {
- if (!m_newSpline.first.isEmpty()) {
- if (m_index) {
- m_newSpline.first.remove(m_index);
- m_newSpline.second.remove((m_index - 1) * 2);
- m_newSpline.second.remove((m_index - 1) * 2);
- } else {
- m_newSpline.first.remove(0);
- m_newSpline.second.remove(0);
- m_newSpline.second.remove(0);
- }
- }
- m_item->setGeometryPoints(m_newSpline.first);
- m_item->setControlGeometryPoints(m_newSpline.second);
- }
- }
-
- if (oldState == QAbstractAnimation::Stopped && newState == QAbstractAnimation::Running) {
- if (!m_valid)
- stop();
- }
-}
-
-QTCOMMERCIALCHART_END_NAMESPACE
diff --git a/src/animations/splineanimation_p.h b/src/animations/splineanimation_p.h
deleted file mode 100644
index a316e392..00000000
--- a/src/animations/splineanimation_p.h
+++ /dev/null
@@ -1,62 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef SPLINEANIMATION_P_H
-#define SPLINEANIMATION_P_H
-#include "xyanimation_p.h"
-#include <QPointF>
-
-typedef QPair<QVector<QPointF >, QVector<QPointF > > SplineVector;
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class SplineChartItem;
-
-class SplineAnimation : public XYAnimation
-{
-public:
- SplineAnimation(SplineChartItem *item);
- ~SplineAnimation();
- void setup(QVector<QPointF> &oldPoints, QVector<QPointF> &newPoints, QVector<QPointF> &oldContorlPoints, QVector<QPointF> &newControlPoints, int index = -1);
-
-protected:
- QVariant interpolated(const QVariant &start, const QVariant &end, qreal progress) const;
- void updateCurrentValue(const QVariant &value);
- void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState);
-
-private:
- SplineVector m_oldSpline;
- SplineVector m_newSpline;
- SplineChartItem *m_item;
- bool m_valid;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif
diff --git a/src/animations/xyanimation.cpp b/src/animations/xyanimation.cpp
deleted file mode 100644
index 18e35cd6..00000000
--- a/src/animations/xyanimation.cpp
+++ /dev/null
@@ -1,155 +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 "xyanimation_p.h"
-#include "xychart_p.h"
-#include <QDebug>
-
-Q_DECLARE_METATYPE(QVector<QPointF>)
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-XYAnimation::XYAnimation(XYChart *item)
- : ChartAnimation(item),
- m_type(NewAnimation),
- m_dirty(false),
- m_index(-1),
- m_item(item)
-{
- setDuration(ChartAnimationDuration);
- setEasingCurve(QEasingCurve::OutQuart);
-}
-
-XYAnimation::~XYAnimation()
-{
-}
-
-void XYAnimation::setup(const QVector<QPointF> &oldPoints, const QVector<QPointF> &newPoints, int index)
-{
- m_type = NewAnimation;
-
- if (state() != QAbstractAnimation::Stopped) {
- stop();
- m_dirty = false;
- }
-
- if (!m_dirty) {
- m_dirty = true;
- m_oldPoints = oldPoints;
- }
-
- m_newPoints = newPoints;
-
- int x = m_oldPoints.count();
- int y = m_newPoints.count();
- int diff = x - y;
- int requestedDiff = oldPoints.count() - y;
-
- // m_oldPoints can be whatever between 0 and actual points count if new animation setup
- // interrupts a previous animation, so only do remove and add animations if both
- // stored diff and requested diff indicate add or remove. Also ensure that index is not
- // invalid.
- if (diff == 1 && requestedDiff == 1 && index >= 0 && y > 0 && index <= y) {
- //remove point
- m_newPoints.insert(index, index > 0 ? newPoints[index - 1] : newPoints[index]);
- m_index = index;
- m_type = RemovePointAnimation;
- }
-
- if (diff == -1 && requestedDiff == -1 && index >= 0 && index <= x) {
- //add point
- m_oldPoints.insert(index, index > 0 ? newPoints[index - 1] : newPoints[index]);
- m_index = index;
- m_type = AddPointAnimation;
- }
-
- x = m_oldPoints.count();
- y = m_newPoints.count();
-
- if (x != y)
- m_type = NewAnimation;
- else if (m_type == NewAnimation)
- m_type = ReplacePointAnimation;
-
- setKeyValueAt(0.0, qVariantFromValue(m_oldPoints));
- setKeyValueAt(1.0, qVariantFromValue(m_newPoints));
-}
-
-QVariant XYAnimation::interpolated(const QVariant &start, const QVariant &end, qreal progress) const
-{
- QVector<QPointF> startVector = qvariant_cast<QVector<QPointF> >(start);
- QVector<QPointF> endVector = qvariant_cast<QVector<QPointF> >(end);
- QVector<QPointF> result;
-
- switch (m_type) {
-
- case ReplacePointAnimation:
- case AddPointAnimation:
- case RemovePointAnimation: {
- if (startVector.count() != endVector.count())
- break;
-
- for (int i = 0; i < startVector.count(); i++) {
- qreal x = startVector[i].x() + ((endVector[i].x() - startVector[i].x()) * progress);
- qreal y = startVector[i].y() + ((endVector[i].y() - startVector[i].y()) * progress);
- result << QPointF(x, y);
- }
-
- }
- break;
- case NewAnimation: {
- for (int i = 0; i < endVector.count() * qBound(qreal(0), progress, qreal(1)); i++)
- result << endVector[i];
- }
- break;
- default:
- qWarning() << "Unknown type of animation";
- break;
- }
-
- return qVariantFromValue(result);
-}
-
-void XYAnimation::updateCurrentValue(const QVariant &value)
-{
- if (state() != QAbstractAnimation::Stopped) { //workaround
-
- QVector<QPointF> vector = qvariant_cast<QVector<QPointF> >(value);
- m_item->setGeometryPoints(vector);
- m_item->updateGeometry();
- m_item->setDirty(true);
- m_dirty = false;
-
- }
-}
-
-void XYAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
-{
- if (oldState == QAbstractAnimation::Running && newState == QAbstractAnimation::Stopped) {
- if (m_item->isDirty() && m_type == RemovePointAnimation) {
- if (!m_newPoints.isEmpty())
- m_newPoints.remove(m_index);
- m_item->setGeometryPoints(m_newPoints);
- }
- }
-}
-
-#include "moc_chartanimation_p.cpp"
-QTCOMMERCIALCHART_END_NAMESPACE
diff --git a/src/animations/xyanimation_p.h b/src/animations/xyanimation_p.h
deleted file mode 100644
index 875da1b9..00000000
--- a/src/animations/xyanimation_p.h
+++ /dev/null
@@ -1,67 +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$
-**
-****************************************************************************/
-
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt Enterprise Chart 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.
-
-#ifndef XYANIMATION_P_H
-#define XYANIMATION_P_H
-
-#include "chartanimation_p.h"
-#include <QPointF>
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-class XYChart;
-
-class XYAnimation : public ChartAnimation
-{
-protected:
- enum Animation { AddPointAnimation, RemovePointAnimation, ReplacePointAnimation, NewAnimation };
-public:
- XYAnimation(XYChart *item);
- ~XYAnimation();
- void setup(const QVector<QPointF> &oldPoints, const QVector<QPointF> &newPoints, int index = -1);
- Animation animationType() const { return m_type; };
-
-protected:
- QVariant interpolated(const QVariant &start, const QVariant &end, qreal progress) const;
- void updateCurrentValue(const QVariant &value);
- void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState);
- XYChart *chartItem() { return m_item; }
-protected:
- Animation m_type;
- bool m_dirty;
- int m_index;
-private:
- XYChart *m_item;
- QVector<QPointF> m_oldPoints;
- QVector<QPointF> m_newPoints;
-};
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-#endif