#include #include #include "PieChartScene.h" #include "PieRound.h" #include "PieLegend.h" const QSizeF PieChartScene::Margin(20, 20); const QSizeF PieChartScene::Size(500, 230); PieChartScene::PieChartScene(PieChart* chart): QGraphicsScene(chart), chart(chart) { setSceneRect(0, 0, Size.width(), Size.height()); } void PieChartScene::setDataSet(const QList& dataSet) { clear(); this->dataSet = dataSet; int centerPos = PieRound::Margin + PieRound::Radius; QPointF roundPos(QPointF(Margin.width(), Margin.height()) + QPointF(centerPos, centerPos)); addItem(new PieRound(roundPos, this)); addItem(new PieLegend(roundPos + QPointF(LegendDistance, 0), this)); } void PieChartScene::setColors(const QStringList& colors) { this->colors = colors; }