##// END OF EJS Templates
Set the first pie slice exploded and label visible in chartthemes demo
Set the first pie slice exploded and label visible in chartthemes demo

File last commit:

r693:1d2255713343
r699:367aeb7897cf
Show More
baranimation.cpp
52 lines | 1.4 KiB | text/x-c | CppLexer
sauimone
Animation framework for barchart.
r671 #include "baranimation_p.h"
#include "barchartitem_p.h"
#include <QParallelAnimationGroup>
#include <QTimer>
sauimone
barchart animation mechanics working. still some todo
r681 Q_DECLARE_METATYPE(QVector<QRectF>)
//Q_DECLARE_METATYPE(BarLayout) // TODO?
sauimone
Animation framework for barchart.
r671
QTCOMMERCIALCHART_BEGIN_NAMESPACE
BarAnimation::BarAnimation(BarChartItem *item)
:ChartAnimation(item),
m_item(item)
{
}
BarAnimation::~BarAnimation()
{
}
QVariant BarAnimation::interpolated(const QVariant &from, const QVariant &to, qreal progress) const
{
sauimone
barchart animation mechanics working. still some todo
r681 QVector<QRectF> startVector = qVariantValue<QVector<QRectF> > (from);
QVector<QRectF> endVector = qVariantValue<QVector<QRectF> > (to);
QVector<QRectF> result;
sauimone
Animation framework for barchart.
r671
Q_ASSERT(startVector.count() == endVector.count()) ;
for(int i =0 ;i< startVector.count();i++){
sauimone
barchart animation fix
r693 qreal w = endVector[i].width();
qreal h = startVector[i].height() + ((endVector[i].height() - startVector[i].height()) * progress);
qreal x = endVector[i].topLeft().x();
qreal y = endVector[i].topLeft().y() + endVector[i].height() - h;
QPointF topLeft(x,y);
QSizeF size(w,h);
sauimone
barchart animation mechanics working. still some todo
r681 QRectF value(topLeft,size);
result << value;
sauimone
Animation framework for barchart.
r671 }
return qVariantFromValue(result);
}
sauimone
barchart animation mechanics working. still some todo
r681 void BarAnimation::updateCurrentValue(const QVariant &value)
sauimone
Animation framework for barchart.
r671 {
sauimone
barchart animation mechanics working. still some todo
r681 QVector<QRectF> layout = qVariantValue<QVector<QRectF> >(value);
m_item->setLayout(layout);
sauimone
Animation framework for barchart.
r671 }
#include "moc_baranimation_p.cpp"
QTCOMMERCIALCHART_END_NAMESPACE