diff options
Diffstat (limited to 'src/charts/PieChartScene.cpp')
-rw-r--r-- | src/charts/PieChartScene.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/charts/PieChartScene.cpp b/src/charts/PieChartScene.cpp new file mode 100644 index 0000000..135a0e4 --- /dev/null +++ b/src/charts/PieChartScene.cpp @@ -0,0 +1,30 @@ +#include <cstdlib> +#include <cmath> +#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<DataPoint>& 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; +} |