##// END OF EJS Templates
Adds owvership to domain
Adds owvership to domain

File last commit:

r778:5dd3677a0f14
r787:e08865d3185f
Show More
legendmarker_p.h
81 lines | 1.9 KiB | text/x-c | CLexer
#ifndef LEGENDMARKER_P_H
#define LEGENDMARKER_P_H
#include "qchartglobal.h"
#include <QGraphicsObject>
#include <QBrush>
#include <QPen>
#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 setPen(const QPen &pen);
QPen pen() const;
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 m_pos;
QSize m_size;
QRectF m_boundingRect;
QRectF m_markerBoundingRect;
QBrush m_brush;
QPen m_pen;
QSeries *m_series;
QBarSet *m_barset;
QPieSlice *m_pieslice;
LegendMarkerType m_type;
QGraphicsSimpleTextItem *m_textItem;
};
QTCOMMERCIALCHART_END_NAMESPACE
#endif // LEGENDMARKER_P_H