##// END OF EJS Templates
Bugfix: chart scrolling effect on OSX
Bugfix: chart scrolling effect on OSX

File last commit:

r612:bc455d9d24c8
r665:39ddc1d3b915
Show More
scatterchartitem_p.h
120 lines | 2.1 KiB | text/x-c | CLexer
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 #ifndef SCATTERPRESENTER_H
#define SCATTERPRESENTER_H
#include "qchartglobal.h"
#include "xychartitem_p.h"
Michal Klocek
Fix sctter series wrong points offset issue
r536 #include <QGraphicsEllipseItem>
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 #include <QPen>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class QScatterSeries;
Michal Klocek
Adds missing scatter intercation implementation...
r541 class Marker;
Michal Klocek
Refactor scatter chart to fit the other classes...
r470
class ScatterChartItem : public XYChartItem
{
Q_OBJECT
public:
Michal Klocek
Refactor animation to fit line,spline,scatter...
r476 explicit ScatterChartItem(QScatterSeries *series, QGraphicsItem *parent = 0);
Michal Klocek
Refactor scatter chart to fit the other classes...
r470
public:
//from QGraphicsItem
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
void setPen(const QPen& pen);
void setBrush(const QBrush& brush);
Michal Klocek
Adds missing scatter intercation implementation...
r541 void markerSelected(Marker* item);
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 public slots:
void handleUpdated();
private:
void createPoints(int count);
void deletePoints(int count);
protected:
Michal Klocek
Unify naming setGeometry -> setLayout
r557 void setLayout(QVector<QPointF>& points);
Michal Klocek
Refactor scatter chart to fit the other classes...
r470
private:
QScatterSeries *m_series;
QGraphicsItemGroup m_items;
int m_shape;
int m_size;
QRectF m_rect;
Michal Klocek
Refactor animation to fit line,spline,scatter...
r476
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 };
Michal Klocek
Adds missing scatter intercation implementation...
r541
class Marker: public QAbstractGraphicsShapeItem
{
public:
Marker(QAbstractGraphicsShapeItem* item , ScatterChartItem* parent):QAbstractGraphicsShapeItem(0),m_item(item),m_parent(parent)
{
};
~Marker()
{
delete m_item;
}
void setIndex(int index)
{
m_index=index;
}
int index() const
{
return m_index;
}
QPainterPath shape() const
{
return m_item->shape();
}
QRectF boundingRect() const
{
return m_item->boundingRect();
}
bool contains(const QPointF &point) const
{
return m_item->contains(point);
}
void setPen(const QPen& pen)
{
m_item->setPen(pen);
}
void setBrush(const QBrush& brush)
{
m_item->setBrush(brush);
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
m_item->paint(painter,option,widget);
}
protected:
Tero Ahola
Squashed bunch of warnings
r611 void mousePressEvent(QGraphicsSceneMouseEvent *event)
Michal Klocek
Adds missing scatter intercation implementation...
r541 {
Tero Ahola
Squashed bunch of warnings
r611 Q_UNUSED(event)
Michal Klocek
Adds missing scatter intercation implementation...
r541 m_parent->markerSelected(this);
}
private:
QAbstractGraphicsShapeItem* m_item;
ScatterChartItem* m_parent;
int m_index;
};
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 QTCOMMERCIALCHART_END_NAMESPACE
#endif // SCATTERPRESENTER_H