##// END OF EJS Templates
Fix crash when signals connected to deleted PieChartItem are emitted...
Fix crash when signals connected to deleted PieChartItem are emitted Disconnect all signals connected to the PieChartItem when it is destroyed. Reviewed-by: Mika Salmela

File last commit:

r2273:1c49aa901cb2
r2423:5eb5ce9ed083
Show More
scatterchartitem_p.h
146 lines | 3.7 KiB | text/x-c | CLexer
Jani Honkonen
Add license headers
r794 /****************************************************************************
**
** Copyright (C) 2012 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
unknown
Added missing warning about private implementation
r1366 // W A R N I N G
// -------------
//
// This file is not part of the QtCommercial Chart API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
Michal Klocek
Fixes header guard style issues
r969 #ifndef SCATTERCHARTITEM_H
#define SCATTERCHARTITEM_H
Michal Klocek
Refactor scatter chart to fit the other classes...
r470
#include "qchartglobal.h"
Michal Klocek
Refactor xychartitem -> xychart
r1218 #include "xychart_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
Refactors internals...
r2273 class ScatterChartItem : public XYChart
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 {
Q_OBJECT
Jani Honkonen
scatterchart: get rid of a warning...
r1232 Q_INTERFACES(QGraphicsItem)
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 public:
Michal Klocek
Refactors internals...
r2273 explicit ScatterChartItem(QScatterSeries *series, QGraphicsItem* item = 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);
sauimone
minor code review issues. indent, spaces, brackets etc.
r743 void setPen(const QPen &pen);
void setBrush(const QBrush &brush);
Michal Klocek
Refactor scatter chart to fit the other classes...
r470
Michal Klocek
Bugfixes for scatter series...
r1763 void markerSelected(QGraphicsItem *item);
Marek Rosa
Added hovered support to scatter series
r2261 void markerHovered(QGraphicsItem *item, bool state);
Michal Klocek
Adds missing scatter intercation implementation...
r541
sauimone
Q_SIGNALS and Q_SLOTS
r775 public Q_SLOTS:
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 void handleUpdated();
private:
void createPoints(int count);
void deletePoints(int count);
protected:
Michal Klocek
Refactors animation handling for xyseries
r1217 void updateGeometry();
Michal Klocek
Refactor scatter chart to fit the other classes...
r470
private:
QScatterSeries *m_series;
QGraphicsItemGroup m_items;
Tero Ahola
Fixed isVisible implementation in XY series
r1346 bool m_visible;
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 int m_shape;
int m_size;
QRectF m_rect;
Michal Klocek
Bugfixes for scatter series...
r1763 QMap<QGraphicsItem *, QPointF> m_markerMap;
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 };
Michal Klocek
Bugfixes for scatter series...
r1763 class CircleMarker: public QGraphicsEllipseItem
Michal Klocek
Adds missing scatter intercation implementation...
r541 {
public:
Jani Honkonen
more coding style fixes for src-folder...
r2104 CircleMarker(qreal x, qreal y, qreal w, qreal h, ScatterChartItem *parent)
: QGraphicsEllipseItem(x, y, w, h, parent),
m_parent(parent)
{
Marek Rosa
Added hovered support to scatter series
r2261 setAcceptHoverEvents(true);
Jani Honkonen
more coding style fixes for src-folder...
r2104 }
Michal Klocek
Adds missing scatter intercation implementation...
r541
Michal Klocek
Bugfixes for scatter series...
r1763 protected:
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 void mousePressEvent(QGraphicsSceneMouseEvent *event)
{
m_parent->markerSelected(this);
QGraphicsEllipseItem::mousePressEvent(event);
}
Marek Rosa
Added hovered support to scatter series
r2261 void hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{
m_parent->markerHovered(this, true);
QGraphicsEllipseItem::hoverEnterEvent(event);
}
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
{
m_parent->markerHovered(this, false);
QGraphicsEllipseItem::hoverLeaveEvent(event);
}
Michal Klocek
Adds missing scatter intercation implementation...
r541
Michal Klocek
Bugfixes for scatter series...
r1763 private:
Jani Honkonen
more coding style fixes for src-folder...
r2104 ScatterChartItem *m_parent;
Michal Klocek
Bugfixes for scatter series...
r1763 };
Michal Klocek
Adds missing scatter intercation implementation...
r541
Michal Klocek
Bugfixes for scatter series...
r1763 class RectangleMarker: public QGraphicsRectItem
{
Michal Klocek
Adds missing scatter intercation implementation...
r541
Michal Klocek
Bugfixes for scatter series...
r1763 public:
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 RectangleMarker(qreal x, qreal y, qreal w, qreal h, ScatterChartItem *parent)
: QGraphicsRectItem(x, y, w, h, parent),
m_parent(parent)
{
Marek Rosa
Added hovered support to scatter series
r2261 setAcceptHoverEvents(true);
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 }
Michal Klocek
Adds missing scatter intercation implementation...
r541
protected:
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 void mousePressEvent(QGraphicsSceneMouseEvent *event)
{
m_parent->markerSelected(this);
QGraphicsRectItem::mousePressEvent(event);
}
Marek Rosa
Added hovered support to scatter series
r2261 void hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{
m_parent->markerHovered(this, true);
QGraphicsRectItem::hoverEnterEvent(event);
}
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
{
m_parent->markerHovered(this, false);
QGraphicsRectItem::hoverLeaveEvent(event);
}
Michal Klocek
Adds missing scatter intercation implementation...
r541
private:
Jani Honkonen
more coding style fixes for src-folder...
r2104 ScatterChartItem *m_parent;
Michal Klocek
Adds missing scatter intercation implementation...
r541 };
Michal Klocek
Refactor scatter chart to fit the other classes...
r470 QTCOMMERCIALCHART_END_NAMESPACE
#endif // SCATTERPRESENTER_H