##// END OF EJS Templates
Change includes in public headers from #include "xxx" -> #include <xxx>
Change includes in public headers from #include "xxx" -> #include <xxx>

File last commit:

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