##// END OF EJS Templates
First version of legend. Simple markers and serie names. Using drilldown as example for now.
First version of legend. Simple markers and serie names. Using drilldown as example for now.

File last commit:

r464:407de0c5cf5b
r529:73dc1554f5c7
Show More
areachartitem_p.h
66 lines | 1.4 KiB | text/x-c | CLexer
#ifndef AREACHARTITEM_H
#define AREACHARTITEM_H
#include "qchartglobal.h"
#include "linechartitem_p.h"
#include <QPen>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class ChartPresenter;
class QAreaSeries;
class AreaChartItem;
class AreaChartItem : public QObject ,public ChartItem
{
Q_OBJECT
public:
AreaChartItem(QAreaSeries* areaSeries, QGraphicsItem *parent = 0);
~ AreaChartItem();
//from QGraphicsItem
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
QPainterPath shape() const;
void setPen(const QPen& pen);
void setBrush(const QBrush& brush);
void setPointsVisible(bool visible);
void updatePath();
public slots:
void handleUpdated();
void handleDomainChanged(qreal minX, qreal maxX, qreal minY, qreal maxY);
void handleGeometryChanged(const QRectF& size);
private:
QAreaSeries* m_series;
LineChartItem* m_upper;
LineChartItem* m_lower;
QPainterPath m_path;
QRectF m_rect;
QRectF m_clipRect;
QPen m_pen;
QBrush m_brush;
};
class AreaBoundItem : public LineChartItem
{
public:
AreaBoundItem(AreaChartItem* item,QLineSeries* lineSeries):LineChartItem(lineSeries),
m_item(item){};
~AreaBoundItem(){};
void setGeometry(QVector<QPointF>& points){
LineChartItem::setGeometry(points);
m_item->updatePath();
}
private:
AreaChartItem* m_item;
};
QTCOMMERCIALCHART_END_NAMESPACE
#endif