##// END OF EJS Templates
Added possibility to set duration and easing curve for chart animation...
Added possibility to set duration and easing curve for chart animation Changed the animation API so that it's possible to change the duration and easing curve of the chart animation. Change-Id: I2ab3e0664a7f30bc2bb7085daa1d97181edb90ba Task-number: QTRD-3496 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>

File last commit:

r2804:97642714ab1e
r2804:97642714ab1e
Show More
boxplotanimation.cpp
98 lines | 2.8 KiB | text/x-c | CppLexer
/ src / charts / animations / boxplotanimation.cpp
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 /****************************************************************************
**
Titta Heikkala
Copyright header changes...
r2776 ** Copyright (C) 2015 The Qt Company Ltd
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 ** All rights reserved.
Titta Heikkala
Copyright header changes...
r2776 ** For any questions to The Qt Company, please use contact form at http://qt.io
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 **
Titta Heikkala
Updated license headers...
r2740 ** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
Titta Heikkala
Copyright header changes...
r2776 ** agreement between you and The Qt Company.
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 **
****************************************************************************/
Titta Heikkala
Fix include syntax...
r2714 #include <private/boxplotanimation_p.h>
#include <private/boxplotchartitem_p.h>
#include <private/boxwhiskersdata_p.h>
#include <private/boxwhiskersanimation_p.h>
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_BEGIN_NAMESPACE
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548
Titta Heikkala
Added possibility to set duration and easing curve for chart animation...
r2804 BoxPlotAnimation::BoxPlotAnimation(BoxPlotChartItem *item, int duration, QEasingCurve &curve)
Miikka Heikkinen
Fix box-and-whiskers animations...
r2560 : QObject(item),
Titta Heikkala
Added possibility to set duration and easing curve for chart animation...
r2804 m_item(item),
m_animationDuration(duration),
m_animationCurve(curve)
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 {
}
BoxPlotAnimation::~BoxPlotAnimation()
{
}
void BoxPlotAnimation::addBox(BoxWhiskers *box)
{
BoxWhiskersAnimation *animation = m_animations.value(box);
if (!animation) {
Titta Heikkala
Added possibility to set duration and easing curve for chart animation...
r2804 animation = new BoxWhiskersAnimation(box, this, m_animationDuration, m_animationCurve);
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 m_animations.insert(box, animation);
BoxWhiskersData start;
Miikka Heikkinen
Fix animation artifact with boxplots....
r2564 start.m_lowerExtreme = box->m_data.m_median;
start.m_lowerQuartile = box->m_data.m_median;
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 start.m_median = box->m_data.m_median;
Miikka Heikkinen
Fix animation artifact with boxplots....
r2564 start.m_upperQuartile = box->m_data.m_median;
start.m_upperExtreme = box->m_data.m_median;
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 animation->setup(start, box->m_data);
Titta Heikkala
Added possibility to set duration and easing curve for chart animation...
r2804
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 } else {
animation->stop();
animation->setEndData(box->m_data);
}
}
ChartAnimation *BoxPlotAnimation::boxAnimation(BoxWhiskers *box)
{
BoxWhiskersAnimation *animation = m_animations.value(box);
if (animation)
Miikka Heikkinen
Fix animation artifact with boxplots....
r2564 animation->m_changeAnimation = false;
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548
return animation;
}
ChartAnimation *BoxPlotAnimation::boxChangeAnimation(BoxWhiskers *box)
{
BoxWhiskersAnimation *animation = m_animations.value(box);
Miikka Heikkinen
Fix animation artifact with boxplots....
r2564 animation->m_changeAnimation = true;
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548 animation->setEndData(box->m_data);
return animation;
}
void BoxPlotAnimation::setAnimationStart(BoxWhiskers *box)
{
BoxWhiskersAnimation *animation = m_animations.value(box);
animation->setStartData(box->m_data);
}
Miikka Heikkinen
Fix box-and-whiskers animations...
r2560 void BoxPlotAnimation::stopAll()
{
Miikka Heikkinen
Further crash fixes to boxplot...
r2561 foreach (BoxWhiskers *box, m_animations.keys()) {
BoxWhiskersAnimation *animation = m_animations.value(box);
Miikka Heikkinen
Fix box-and-whiskers animations...
r2560 animation->stopAndDestroyLater();
Miikka Heikkinen
Further crash fixes to boxplot...
r2561 m_animations.remove(box);
}
Miikka Heikkinen
Fix box-and-whiskers animations...
r2560 }
Miikka Heikkinen
Further crash fixes to boxplot...
r2561 void BoxPlotAnimation::removeBoxAnimation(BoxWhiskers *box)
{
m_animations.remove(box);
}
Mika Salmela
A new box-and-whiskers series type added to charts....
r2548
Mika Salmela
Compile issues...
r2563 #include "moc_boxplotanimation_p.cpp"
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_END_NAMESPACE