##// END OF EJS Templates
Added support for data from model to QBarSeries. Various fixes and small modifications to data from model support to other series
Added support for data from model to QBarSeries. Various fixes and small modifications to data from model support to other series

File last commit:

r629:54034d98d5c4
r630:dd8db9a3a988
Show More
piesliceanimation.cpp
77 lines | 2.2 KiB | text/x-c | CppLexer
/ src / animations / piesliceanimation.cpp
Michal Klocek
minor . compilation fix
r623 #include "piesliceanimation_p.h"
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 #include "piechartitem_p.h"
#include "qpieslice.h"
Q_DECLARE_METATYPE(QtCommercialChart::PieSliceLayout)
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);
}
Jani Honkonen
Getting rid of slice pointer in PieSliceLayout.
r629 PieSliceAnimation::PieSliceAnimation(PieChartItem *item, QPieSlice *slice)
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 :QVariantAnimation(item),
Jani Honkonen
Getting rid of slice pointer in PieSliceLayout.
r629 m_item(item),
m_slice(slice)
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 {
}
PieSliceAnimation::~PieSliceAnimation()
{
}
Jani Honkonen
Getting rid of slice pointer in PieSliceLayout.
r629 void PieSliceAnimation::setValue(const PieSliceLayout &startValue, const PieSliceLayout &endValue)
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 {
if (state() != QAbstractAnimation::Stopped)
stop();
setKeyValueAt(0.0, qVariantFromValue(startValue));
setKeyValueAt(1.0, qVariantFromValue(endValue));
}
Jani Honkonen
Getting rid of slice pointer in PieSliceLayout.
r629 void PieSliceAnimation::updateValue(const PieSliceLayout &endValue)
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 {
if (state() != QAbstractAnimation::Stopped)
stop();
setKeyValueAt(0.0, qVariantFromValue(currentSliceValue()));
setKeyValueAt(1.0, qVariantFromValue(endValue));
}
PieSliceLayout PieSliceAnimation::currentSliceValue()
{
return qVariantValue<PieSliceLayout>(currentValue());
}
QVariant PieSliceAnimation::interpolated(const QVariant &start, const QVariant &end, qreal progress) const
{
PieSliceLayout startValue = qVariantValue<PieSliceLayout>(start);
PieSliceLayout endValue = qVariantValue<PieSliceLayout>(end);
PieSliceLayout 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);
return qVariantFromValue(result);
}
void PieSliceAnimation::updateCurrentValue(const QVariant &value)
{
Jani Honkonen
mingw compiler fix for pie animations
r619 PieSliceLayout layout = qVariantValue<PieSliceLayout>(value);
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 if (state() != QAbstractAnimation::Stopped) //workaround
Jani Honkonen
Getting rid of slice pointer in PieSliceLayout.
r629 m_item->setLayout(m_slice, layout);
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 }
QTCOMMERCIALCHART_END_NAMESPACE