From 847ff650439d01ffba1652eb328d6dcb5a07b83c 2012-03-22 09:33:50 From: Michal Klocek Date: 2012-03-22 09:33:50 Subject: [PATCH] Bugfix : black line drawn during areachart paint --- diff --git a/src/areachart/areachartitem.cpp b/src/areachart/areachartitem.cpp index 9bd7365..b4aa36c 100644 --- a/src/areachart/areachartitem.cpp +++ b/src/areachart/areachartitem.cpp @@ -17,9 +17,9 @@ m_lower(0), m_pointsVisible(false) { setZValue(ChartPresenter::LineChartZValue); - m_upper = new AreaBoundItem(this,m_series->upperSeries(),presenter); + m_upper = new AreaBoundItem(this,m_series->upperSeries()); if(m_series->lowerSeries()){ - m_lower = new AreaBoundItem(this,m_series->lowerSeries(),presenter); + m_lower = new AreaBoundItem(this,m_series->lowerSeries()); } QObject::connect(areaSeries,SIGNAL(updated()),this,SLOT(handleUpdated())); @@ -48,7 +48,8 @@ void AreaChartItem::updatePath() { QPainterPath path; - path.connectPath(m_upper->shape()); + path = m_upper->shape(); + if(m_lower){ path.connectPath(m_lower->shape().toReversed()); } @@ -99,12 +100,8 @@ void AreaChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt Q_UNUSED(option) painter->save(); - QPen pen; - pen.setCosmetic(false); - pen.setWidth(4); - pen.setColor(qRgb(200,0,250)); - painter->setPen(pen); - //painter->setBrush(m_brush); + painter->setPen(m_linePen); + painter->setBrush(m_brush); painter->setClipRect(m_clipRect); painter->drawPath(m_path); if(m_pointsVisible){ diff --git a/src/areachart/areachartitem_p.h b/src/areachart/areachartitem_p.h index 17374cb..00dc6d4 100644 --- a/src/areachart/areachartitem_p.h +++ b/src/areachart/areachartitem_p.h @@ -55,8 +55,9 @@ private: class AreaBoundItem : public LineChartItem { public: - AreaBoundItem(AreaChartItem* item,QLineSeries* lineSeries,ChartPresenter *presenter):LineChartItem(lineSeries,presenter), - m_item(item){}; + AreaBoundItem(AreaChartItem* item,QLineSeries* lineSeries):LineChartItem(lineSeries,0), + m_item(item){ + }; ~AreaBoundItem(){}; diff --git a/src/chartitem_p.h b/src/chartitem_p.h index 7bf7fa5..f03b64e 100644 --- a/src/chartitem_p.h +++ b/src/chartitem_p.h @@ -11,7 +11,7 @@ class ChartItem : public QGraphicsItem, public Chart { enum ChartItemTypes{ AXIS_ITEM = UserType+1, XYLINE_ITEM}; public: - ChartItem(ChartPresenter *presenter):QGraphicsItem(presenter->rootItem()),Chart(presenter){}; + ChartItem(ChartPresenter *presenter):QGraphicsItem(presenter?presenter->rootItem():0),Chart(presenter){}; }; QTCOMMERCIALCHART_END_NAMESPACE