#ifndef PIE_LEGEND_H #define PIE_LEGEND_H #include #include "DataPoint.h" class PieChartScene; class PieLegend: public QGraphicsItem { public: static const int Width = 150; static const int SquareSide = 20; static const int LabelSpacing = 10; static const int LabelTextSpacing = 10; public: PieLegend(const QPointF& pos, const PieChartScene* scene); QRectF boundingRect() const; void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget* = 0) {} private: void addLabels(); QPointF getLabelPos(int index) const; void addLabel(int index, const QPointF& pos); QPointF getTextPos(const QPointF& squarePos, const QGraphicsSimpleTextItem* textItem) const; private: const PieChartScene* scene; }; #endif