##// END OF EJS Templates
Refactors internals...
Refactors internals * rewrite axisUpdated signal handling * create handlers for each property of axis * decouple chartdataset, presenter, theme * adds theme manager * adds axis add/remove/attach/detach handling * refactors createGraphics * add initializers (graphics,domain,theme,animations) * refactor the way the charts are constructed (decouple form presenter) * fix initialization issues with qchart * refactor domain logic to handle also geometry size for charts * delegate xyseries geometry calculation to domian * fix lazy initialization of animations * remove hadnleGeomoetryChanged * add shared pointers to handle reference count for domain * moves nice number algorithm to domain * adds applyNiceNumbers(), depreciate setNiceNumbers * refactor multiple charts handling * domain is shared object * each domain can have multiple axis for controlling * multiple charts share now the same domain

File last commit:

r2273:1c49aa901cb2
r2273:1c49aa901cb2
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