legendmarker_p.h
81 lines
| 1.8 KiB
| text/x-c
|
CLexer
/ src / legendmarker_p.h
sauimone
|
r547 | #ifndef LEGENDMARKER_P_H | ||
#define LEGENDMARKER_P_H | ||||
#include "qchartglobal.h" | ||||
#include <QGraphicsObject> | ||||
#include <QBrush> | ||||
sauimone
|
r724 | #include <QPen> | ||
sauimone
|
r626 | #include <QGraphicsSimpleTextItem> | ||
sauimone
|
r547 | |||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
class QSeries; | ||||
sauimone
|
r565 | class QBarSet; | ||
class QPieSlice; | ||||
sauimone
|
r547 | |||
sauimone
|
r565 | // TODO: split this to 3 different markers for series, barset and pieslice. Current implementation is easier to misuse... | ||
sauimone
|
r547 | class LegendMarker : public QGraphicsObject | ||
{ | ||||
Q_OBJECT | ||||
sauimone
|
r565 | |||
enum LegendMarkerType { | ||||
LegendMarkerTypeSeries, | ||||
LegendMarkerTypeBarset, | ||||
LegendMarkerTypePieslice | ||||
}; | ||||
sauimone
|
r547 | public: | ||
LegendMarker(QSeries* series, QGraphicsItem *parent = 0); | ||||
sauimone
|
r576 | LegendMarker(QSeries* series, QBarSet* barset, QGraphicsItem *parent = 0); | ||
LegendMarker(QSeries* series, QPieSlice* pieslice, QGraphicsItem *parent = 0); | ||||
sauimone
|
r626 | |||
void setPos(qreal x, qreal y); | ||||
sauimone
|
r565 | |||
sauimone
|
r724 | void setPen(const QPen pen); | ||
QPen pen() const; | ||||
sauimone
|
r547 | void setBrush(const QBrush brush); | ||
sauimone
|
r565 | QBrush brush() const; | ||
sauimone
|
r547 | void setName(const QString name); | ||
QString name() const; | ||||
sauimone
|
r576 | QSeries* series() const; | ||
sauimone
|
r547 | void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); | ||
QRectF boundingRect() const; | ||||
sauimone
|
r626 | void layoutChanged(); | ||
sauimone
|
r547 | public: | ||
// From QGraphicsObject | ||||
void mousePressEvent(QGraphicsSceneMouseEvent *event); | ||||
Q_SIGNALS: | ||||
sauimone
|
r567 | void clicked(QSeries* series, Qt::MouseButton button); | ||
void clicked(QBarSet* barset, Qt::MouseButton button); | ||||
void clicked(QPieSlice* pieslice, Qt::MouseButton button); | ||||
sauimone
|
r547 | |||
sauimone
|
r587 | public Q_SLOTS: | ||
void changed(); | ||||
sauimone
|
r547 | private: | ||
sauimone
|
r626 | QPointF mPos; | ||
QSize mSize; | ||||
sauimone
|
r547 | QRectF mBoundingRect; | ||
sauimone
|
r585 | QRectF mMarkerBoundingRect; | ||
sauimone
|
r547 | QBrush mBrush; | ||
sauimone
|
r724 | QPen mPen; | ||
sauimone
|
r547 | QSeries* mSeries; | ||
sauimone
|
r565 | QBarSet* mBarset; | ||
QPieSlice* mPieslice; | ||||
LegendMarkerType mType; | ||||
sauimone
|
r585 | QGraphicsSimpleTextItem mTextItem; | ||
sauimone
|
r547 | }; | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||
#endif // LEGENDMARKER_P_H | ||||