summaryrefslogtreecommitdiffstats
path: root/src/charts/animations/scatteranimation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/charts/animations/scatteranimation.cpp')
-rw-r--r--src/charts/animations/scatteranimation.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/charts/animations/scatteranimation.cpp b/src/charts/animations/scatteranimation.cpp
new file mode 100644
index 00000000..faf66d11
--- /dev/null
+++ b/src/charts/animations/scatteranimation.cpp
@@ -0,0 +1,50 @@
+/****************************************************************************
+ **
+ ** 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>
+
+QT_CHARTS_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();
+ }
+}
+
+QT_CHARTS_END_NAMESPACE