From 9e8d1d9c7f49bbc9efcfb5d6217f3effa0815774 2012-03-13 14:52:48 From: Tero Ahola Date: 2012-03-13 14:52:48 Subject: [PATCH] Now using either vertical or horizontal grid shades --- diff --git a/src/chartpresenter.cpp b/src/chartpresenter.cpp index 54ab20d..d193015 100644 --- a/src/chartpresenter.cpp +++ b/src/chartpresenter.cpp @@ -118,9 +118,8 @@ void ChartPresenter::handleAxisAdded(QChartAxis* axis,Domain* domain) QObject::connect(this,SIGNAL(geometryChanged(const QRectF&)),item,SLOT(handleGeometryChanged(const QRectF&))); //initialize item->handleGeometryChanged(m_rect); - m_chartTheme->decorate(axis,item); - m_axisItems.insert(axis,item); - + m_chartTheme->decorate(axis, m_chart); + m_axisItems.insert(axis, item); } void ChartPresenter::handleAxisRemoved(QChartAxis* axis) diff --git a/src/charttheme.cpp b/src/charttheme.cpp index ebf037c..43927f9 100644 --- a/src/charttheme.cpp +++ b/src/charttheme.cpp @@ -218,18 +218,18 @@ void ChartTheme::decorate(SplineChartItem* item, QSplineSeries* series, int inde // presenter->m_markerPen = pen; } -void ChartTheme::decorate(QChartAxis* axis, AxisItem* item) +void ChartTheme::decorate(QChartAxis* axis, QChart* parent) { Q_ASSERT(axis); - Q_ASSERT(item); + Q_ASSERT(parent); if (axis->isAxisVisible()) { axis->setLabelsBrush(m_axisLabelBrush); axis->setLabelsPen(m_axisLabelPen); // TODO: check the axis type (x or y) should define whether to show the shades or not if (m_backgroundShades == BackgroundShadesBoth - || m_backgroundShades == BackgroundShadesVertical /*&& x axis ?*/ - || m_backgroundShades == BackgroundShadesHorizontal /* && y axis*/) { + || (m_backgroundShades == BackgroundShadesVertical && parent->axisX() == axis) + || (m_backgroundShades == BackgroundShadesHorizontal && parent->axisY() == axis)) { axis->setShadesPen(m_backgroundShadesPen); axis->setShadesBrush(m_backgroundShadesBrush); } else { diff --git a/src/charttheme_p.h b/src/charttheme_p.h index 37972df..6500f3d 100644 --- a/src/charttheme_p.h +++ b/src/charttheme_p.h @@ -53,7 +53,7 @@ public: void decorate(ScatterChartItem* presenter, QScatterSeries* series, int index); void decorate(PiePresenter* item, QPieSeries* series, int index); void decorate(SplineChartItem* presenter, QSplineSeries* series, int index); - void decorate(QChartAxis* axis, AxisItem* item); + void decorate(QChartAxis* axis, QChart* parent); public: // utils void generateSeriesGradients(); diff --git a/src/themes/chartthemescientific_p.h b/src/themes/chartthemescientific_p.h index fb2cd1b..69184f3 100644 --- a/src/themes/chartthemescientific_p.h +++ b/src/themes/chartthemescientific_p.h @@ -28,6 +28,9 @@ public: m_axisLabelBrush = QBrush(QRgb(0x3f3f3f)); m_axisLabelPen = Qt::NoPen; // NoPen for performance reasons m_backgroundShadesPen = Qt::NoPen; +// m_backgroundShadesBrush = QBrush(QColor(0x0f, 0x0f, 0x0f, 0x80)); + m_backgroundShadesBrush = QBrush(QColor(0xff, 0xad, 0x00, 0x50)); + m_backgroundShades = BackgroundShadesHorizontal; m_gridLinePen = QPen(QRgb(0x0f0f0f)); m_gridLinePen.setWidth(2); }