splinepresenter.cpp
72 lines
| 1.9 KiB
| text/x-c
|
CppLexer
Marek Rosa
|
r295 | #include "splinepresenter_p.h" | ||
Marek Rosa
|
r401 | #include <QPainter> | ||
Marek Rosa
|
r295 | |||
Marek Rosa
|
r401 | QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||
SplinePresenter::SplinePresenter(QSplineSeries* series, QGraphicsObject *parent) : | ||||
Marek Rosa
|
r417 | LineChartItem(this, parent),m_series(series)//,m_boundingRect() | ||
Marek Rosa
|
r295 | { | ||
Marek Rosa
|
r417 | // if (parent) | ||
// m_boundingRect = parent->boundingRect(); | ||||
// else | ||||
// m_boundingRect = QRectF(10,50, 250, 250); | ||||
Marek Rosa
|
r295 | } | ||
Marek Rosa
|
r417 | //void SplinePresenter::handleGeometryChanged(const QRectF&) | ||
//{ | ||||
// update(); | ||||
//} | ||||
Marek Rosa
|
r295 | |||
Marek Rosa
|
r417 | //void SplinePresenter::handleDomainChanged(const Domain& domain) | ||
//{ | ||||
// // | ||||
//} | ||||
Marek Rosa
|
r401 | |||
Marek Rosa
|
r417 | void SplinePresenter::updateGeometry() | ||
Marek Rosa
|
r401 | { | ||
Marek Rosa
|
r417 | |||
if(m_data.size()==0) return; | ||||
prepareGeometryChange(); | ||||
QPainterPath path; | ||||
const QPointF& point = m_data.at(0); | ||||
path.moveTo(point); | ||||
foreach( const QPointF& point , m_data) { | ||||
path.lineTo(point); | ||||
} | ||||
m_path = path; | ||||
m_rect = path.boundingRect(); | ||||
Marek Rosa
|
r401 | } | ||
Marek Rosa
|
r417 | //void SplinePresenter::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) | ||
//{ | ||||
// Q_UNUSED(widget); | ||||
// Q_UNUSED(option); | ||||
// painter->save(); | ||||
// painter->setPen(Qt::SolidLine); | ||||
// QPainterPath splinePath; | ||||
// splinePath.moveTo(m_series->at(0)); | ||||
// for (int i = 0; i < m_series->count() - 1; i++) | ||||
// { | ||||
// painter->setPen(Qt::red); | ||||
// splinePath.cubicTo(m_series->controlPoint(2 * i), m_series->controlPoint(2 * i + 1), m_series->at(i + 1)); | ||||
// painter->drawEllipse(m_series->at(i), 4, 4); | ||||
// painter->setPen(Qt::blue); | ||||
// painter->drawLine(m_series->at(i), m_series->controlPoint(2 * i)); | ||||
// painter->drawLine(m_series->at(i + 1), m_series->controlPoint(2 * i + 1)); | ||||
// painter->drawEllipse(m_series->controlPoint(2 * i), 4, 4); | ||||
// painter->drawEllipse(m_series->controlPoint(2 * i + 1), 4, 4); | ||||
// } | ||||
// painter->setPen(Qt::red); | ||||
// painter->drawPath(splinePath); | ||||
// painter->restore(); | ||||
//} | ||||
Marek Rosa
|
r401 | #include "moc_splinepresenter_p.cpp" | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||