##// END OF EJS Templates
combined clicked and rightclicked events of legend to one event with parameter
combined clicked and rightclicked events of legend to one event with parameter

File last commit:

r567:17f0257049a1
r567:17f0257049a1
Show More
qlegend.h
60 lines | 1.4 KiB | text/x-c | CLexer
#ifndef QLEGEND_H
#define QLEGEND_H
#include "qchartglobal.h"
#include "qseries.h"
#include <QGraphicsObject>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class Domain;
class LegendMarker;
class QPieSlice;
class QXYSeries;
class QBarSet;
class QBarSeries;
class QPieSeries;
class QTCOMMERCIALCHART_EXPORT QLegend : public QGraphicsObject
{
Q_OBJECT
public:
explicit QLegend(QGraphicsItem *parent = 0);
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
QRectF boundingRect() const;
void setBackgroundBrush(const QBrush& brush);
QBrush backgroundBrush() const;
signals:
// for interactions.
void clicked(QSeries* series, Qt::MouseButton button);
void clicked(QBarSet* barset, Qt::MouseButton button);
void clicked(QPieSlice* slice, Qt::MouseButton button);
public slots:
void handleSeriesAdded(QSeries* series,Domain* domain);
void handleSeriesRemoved(QSeries* series);
void handleGeometryChanged(const QRectF& size);
private:
// PIMPL --->
void createMarker(QXYSeries* series);
void createMarkers(QBarSeries* series);
void createMarkers(QPieSeries* series);
void layoutChanged();
// <--- PIMPL
QRectF mBoundingRect;
QList<QSeries*> mSeriesList;
QList<LegendMarker*> mMarkers;
QBrush mBackgroundBrush;
};
QTCOMMERCIALCHART_END_NAMESPACE
#endif // QLEGEND_H