##// END OF EJS Templates
added labels to series, intergrated with test app. minor hack to test app
added labels to series, intergrated with test app. minor hack to test app

File last commit:

r145:251cad7c49ee
r167:023d2c8150a8
Show More
linechartanimationitem.cpp
63 lines | 1.7 KiB | text/x-c | CppLexer
/ src / linechart / linechartanimationitem.cpp
#include "linechartanimationitem_p.h"
#include "linechartitem_p.h"
#include <QPropertyAnimation>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
const static int duration = 500;
LineChartAnimationItem::LineChartAnimationItem(ChartPresenter* presenter, QLineChartSeries* series,QGraphicsItem *parent):
LineChartItem(presenter,series,parent)
{
}
LineChartAnimationItem::~LineChartAnimationItem()
{
}
void LineChartAnimationItem::addPoints(const QVector<QPointF>& points)
{
m_data=points;
clearView();
QPropertyAnimation *animation = new QPropertyAnimation(this, "a_addPoints", parent());
animation->setDuration(duration);
//animation->setEasingCurve(QEasingCurve::InOutBack);
animation->setKeyValueAt(0.0, 0);
animation->setKeyValueAt(1.0, m_data.size());
animation->start(QAbstractAnimation::DeleteWhenStopped);
}
void LineChartAnimationItem::setPoint(int index,const QPointF& point)
{
AnimationHelper* helper = new AnimationHelper(this,index);
QPropertyAnimation *animation = new QPropertyAnimation(helper, "point", parent());
animation->setDuration(duration);
//animation->setEasingCurve(QEasingCurve::InOutBack);
animation->setKeyValueAt(0.0, points().value(index));
animation->setKeyValueAt(1.0, point);
animation->start(QAbstractAnimation::DeleteWhenStopped);
}
void LineChartAnimationItem::aw_addPoints(int points)
{
int index = count();
for(int i = index;i< points ;i++){
LineChartItem::addPoint(m_data.at(i));
}
updateGeometry();
update();
}
void LineChartAnimationItem::aw_setPoint(int index,const QPointF& point)
{
LineChartItem::setPoint(index,point);
updateGeometry();
update();
}
#include "moc_linechartanimationitem_p.cpp"
QTCOMMERCIALCHART_END_NAMESPACE