##// END OF EJS Templates
Adaptive layout to legend. Tries to fit all items inside given maximum size
Adaptive layout to legend. Tries to fit all items inside given maximum size

File last commit:

r621:f4b980d7defa
r626:b05202e4f2ef
Show More
piechartitem_p.h
56 lines | 1.5 KiB | text/x-c | CLexer
Jani Honkonen
Rename piepresenter -> piechartitem
r568 #ifndef PIECHARTITEM_H
#define PIECHARTITEM_H
Jani Honkonen
Pie chart refactoring
r142
#include "qpieseries.h"
Jani Honkonen
Refactoring the pie for animations (no actual animations yet)
r566 #include "chartitem_p.h"
#include "pieslice_p.h"
Jani Honkonen
Pie chart refactoring
r142
class QGraphicsItem;
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Jani Honkonen
Refactoring the pie for animations (no actual animations yet)
r566 class QPieSlice;
Jani Honkonen
Pie chart refactoring
r142
Jani Honkonen
Rename piepresenter -> piechartitem
r568 class PieChartItem : public QObject, public ChartItem
Jani Honkonen
Pie chart refactoring
r142 {
Q_OBJECT
public:
// TODO: use a generic data class instead of x and y
Jani Honkonen
Rename piepresenter -> piechartitem
r568 PieChartItem(QGraphicsItem *parent, QPieSeries *series);
~PieChartItem();
Jani Honkonen
Pie chart refactoring
r142
Jani Honkonen
Use signals from pieseries, visible hover and exploding slices
r157 public: // from QGraphicsItem
Jani Honkonen
Pie chart refactoring
r142 QRectF boundingRect() const { return m_rect; }
Jani Honkonen
Refactoring piechart API (and internals)
r174 void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
Jani Honkonen
Pie chart refactoring
r142
public Q_SLOTS:
Jani Honkonen
Refactoring pie series and animations.
r621 void initialize();
void handleSlicesAdded(QList<QPieSlice*> slices);
void handleSlicesRemoved(QList<QPieSlice*> slices);
void handlePieLayoutChanged();
Jani Honkonen
Refactoring the pie for animations (no actual animations yet)
r566 void handleSliceChanged();
void handleDomainChanged(qreal, qreal, qreal, qreal);
Jani Honkonen
Pie chart refactoring
r142 void handleGeometryChanged(const QRectF& rect);
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 public:
Jani Honkonen
Refactoring pie series and animations.
r621 void calculatePieLayout();
PieSliceLayout calculateSliceLayout(QPieSlice *slice);
Jani Honkonen
Refactoring the pie for animations (no actual animations yet)
r566 QVector<PieSliceLayout> calculateLayout();
Jani Honkonen
Add animations to pie. Works but has some visual issues when adding slices.
r618 void applyLayout(QVector<PieSliceLayout> &layout);
void updateLayout(PieSliceLayout &layout);
void setLayout(QVector<PieSliceLayout> &layout);
void setLayout(PieSliceLayout &layout);
void destroySlice(QPieSlice *slice);
Jani Honkonen
Refactoring piechart API (and internals)
r174
Jani Honkonen
Pie chart refactoring
r142 private:
friend class PieSlice;
Jani Honkonen
Refactor pie (again). QPieSlice's now emit signals and no id's anymore. Just pointers in the interface.
r203 QHash<QPieSlice*, PieSlice*> m_slices;
Jani Honkonen
Refactoring piechart API (and internals)
r174 QPieSeries *m_series;
Jani Honkonen
Pie chart refactoring
r142 QRectF m_rect;
Jani Honkonen
Introducing vertical and horizontal factors to control the position of the pie.
r454 QPointF m_pieCenter;
qreal m_pieRadius;
Jani Honkonen
Added a pie chart customization example and refactoring the pie interface.
r437 QRectF m_debugRect;
Jani Honkonen
Pie chart refactoring
r142 };
QTCOMMERCIALCHART_END_NAMESPACE
Jani Honkonen
Rename piepresenter -> piechartitem
r568 #endif // PIECHARTITEM_H