summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTitta Heikkala <titta.heikkala@theqtcompany.com>2015-09-14 10:46:29 +0300
committerTitta Heikkala <titta.heikkala@theqtcompany.com>2015-09-15 09:04:38 +0000
commit2db41b8cb90bf26d1c7b4021b730bcb1f8e6ac4c (patch)
tree327c83c6e9207f213325f03998510b187c886810 /src
parent3922a511f022703868f35f799349de4a96537e8b (diff)
Added grid color property for value axis
Added possibility to set the color of the grid lines for value axes. Change-Id: I38b634410e7f1cb996d80f5ac1650a1be844ca01 Task-number: QTRD-3319 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/charts/axis/cartesianchartaxis.cpp20
-rw-r--r--src/charts/axis/cartesianchartaxis_p.h2
-rw-r--r--src/charts/axis/chartaxiselement.cpp4
-rw-r--r--src/charts/axis/chartaxiselement_p.h2
-rw-r--r--src/charts/axis/polarchartaxisangular.cpp20
-rw-r--r--src/charts/axis/polarchartaxisangular_p.h2
-rw-r--r--src/charts/axis/polarchartaxisradial.cpp20
-rw-r--r--src/charts/axis/polarchartaxisradial_p.h2
-rw-r--r--src/charts/axis/qabstractaxis.cpp50
-rw-r--r--src/charts/axis/qabstractaxis.h8
-rw-r--r--src/chartsqml2/plugins.qmltypes10
11 files changed, 140 insertions, 0 deletions
diff --git a/src/charts/axis/cartesianchartaxis.cpp b/src/charts/axis/cartesianchartaxis.cpp
index 374d846a..93865228 100644
--- a/src/charts/axis/cartesianchartaxis.cpp
+++ b/src/charts/axis/cartesianchartaxis.cpp
@@ -225,6 +225,26 @@ void CartesianChartAxis::handleMinorGridPenChanged(const QPen &pen)
static_cast<QGraphicsLineItem *>(item)->setPen(pen);
}
+void CartesianChartAxis::handleGridLineColorChanged(const QColor &color)
+{
+ foreach (QGraphicsItem *item, gridItems()) {
+ QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem *>(item);
+ QPen pen = lineItem->pen();
+ pen.setColor(color);
+ lineItem->setPen(pen);
+ }
+}
+
+void CartesianChartAxis::handleMinorGridLineColorChanged(const QColor &color)
+{
+ foreach (QGraphicsItem *item, minorGridItems()) {
+ QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem *>(item);
+ QPen pen = lineItem->pen();
+ pen.setColor(color);
+ lineItem->setPen(pen);
+ }
+}
+
void CartesianChartAxis::handleShadesBrushChanged(const QBrush &brush)
{
foreach (QGraphicsItem *item, shadeItems())
diff --git a/src/charts/axis/cartesianchartaxis_p.h b/src/charts/axis/cartesianchartaxis_p.h
index d26d0b35..f8779b0c 100644
--- a/src/charts/axis/cartesianchartaxis_p.h
+++ b/src/charts/axis/cartesianchartaxis_p.h
@@ -62,6 +62,8 @@ public Q_SLOTS:
virtual void handleShadesPenChanged(const QPen &pen);
virtual void handleMinorArrowPenChanged(const QPen &pen);
virtual void handleMinorGridPenChanged(const QPen &pen);
+ virtual void handleGridLineColorChanged(const QColor &color);
+ virtual void handleMinorGridLineColorChanged(const QColor &color);
private:
void createItems(int count);
diff --git a/src/charts/axis/chartaxiselement.cpp b/src/charts/axis/chartaxiselement.cpp
index 34d7e840..d8dcaad6 100644
--- a/src/charts/axis/chartaxiselement.cpp
+++ b/src/charts/axis/chartaxiselement.cpp
@@ -106,6 +106,10 @@ void ChartAxisElement::connectSlots()
this, SLOT(handleMinorGridVisibleChanged(bool)));
QObject::connect(axis(), SIGNAL(minorGridLinePenChanged(const QPen&)),
this, SLOT(handleMinorGridPenChanged(const QPen&)));
+ QObject::connect(axis(), SIGNAL(gridLineColorChanged(const QColor&)),
+ this, SLOT(handleGridLineColorChanged(const QColor&)));
+ QObject::connect(axis(), SIGNAL(minorGridLineColorChanged(const QColor&)),
+ this, SLOT(handleMinorGridLineColorChanged(const QColor&)));
if (axis()->type() == QAbstractAxis::AxisTypeCategory) {
QCategoryAxis *categoryAxis = static_cast<QCategoryAxis *>(axis());
diff --git a/src/charts/axis/chartaxiselement_p.h b/src/charts/axis/chartaxiselement_p.h
index 8edbd4d7..85ae2ed3 100644
--- a/src/charts/axis/chartaxiselement_p.h
+++ b/src/charts/axis/chartaxiselement_p.h
@@ -122,6 +122,8 @@ public Q_SLOTS:
virtual void handleGridPenChanged(const QPen &pen) = 0;
virtual void handleMinorArrowPenChanged(const QPen &pen) = 0;
virtual void handleMinorGridPenChanged(const QPen &pen) = 0;
+ virtual void handleMinorGridLineColorChanged(const QColor &color) = 0;
+ virtual void handleGridLineColorChanged(const QColor &color) = 0;
void handleLabelsBrushChanged(const QBrush &brush);
void handleLabelsFontChanged(const QFont &font);
void handleTitleBrushChanged(const QBrush &brush);
diff --git a/src/charts/axis/polarchartaxisangular.cpp b/src/charts/axis/polarchartaxisangular.cpp
index d1e6547d..1a8cb1fd 100644
--- a/src/charts/axis/polarchartaxisangular.cpp
+++ b/src/charts/axis/polarchartaxisangular.cpp
@@ -356,6 +356,26 @@ void PolarChartAxisAngular::handleMinorGridPenChanged(const QPen &pen)
static_cast<QGraphicsLineItem *>(item)->setPen(pen);
}
+void PolarChartAxisAngular::handleGridLineColorChanged(const QColor &color)
+{
+ foreach (QGraphicsItem *item, gridItems()) {
+ QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem *>(item);
+ QPen pen = lineItem->pen();
+ pen.setColor(color);
+ lineItem->setPen(pen);
+ }
+}
+
+void PolarChartAxisAngular::handleMinorGridLineColorChanged(const QColor &color)
+{
+ foreach (QGraphicsItem *item, minorGridItems()) {
+ QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem *>(item);
+ QPen pen = lineItem->pen();
+ pen.setColor(color);
+ lineItem->setPen(pen);
+ }
+}
+
QSizeF PolarChartAxisAngular::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
{
Q_UNUSED(which);
diff --git a/src/charts/axis/polarchartaxisangular_p.h b/src/charts/axis/polarchartaxisangular_p.h
index c8ac9655..4cbb930b 100644
--- a/src/charts/axis/polarchartaxisangular_p.h
+++ b/src/charts/axis/polarchartaxisangular_p.h
@@ -54,6 +54,8 @@ public Q_SLOTS:
virtual void handleGridPenChanged(const QPen &pen);
virtual void handleMinorArrowPenChanged(const QPen &pen);
virtual void handleMinorGridPenChanged(const QPen &pen);
+ virtual void handleGridLineColorChanged(const QColor &color);
+ virtual void handleMinorGridLineColorChanged(const QColor &color);
private:
QRectF moveLabelToPosition(qreal angularCoordinate, QPointF labelPoint, QRectF labelRect) const;
diff --git a/src/charts/axis/polarchartaxisradial.cpp b/src/charts/axis/polarchartaxisradial.cpp
index 8cff0c27..3f9cacb1 100644
--- a/src/charts/axis/polarchartaxisradial.cpp
+++ b/src/charts/axis/polarchartaxisradial.cpp
@@ -332,6 +332,26 @@ void PolarChartAxisRadial::handleMinorGridPenChanged(const QPen &pen)
static_cast<QGraphicsEllipseItem *>(item)->setPen(pen);
}
+void PolarChartAxisRadial::handleGridLineColorChanged(const QColor &color)
+{
+ foreach (QGraphicsItem *item, gridItems()) {
+ QGraphicsEllipseItem *ellipseItem = static_cast<QGraphicsEllipseItem *>(item);
+ QPen pen = ellipseItem->pen();
+ pen.setColor(color);
+ ellipseItem->setPen(pen);
+ }
+}
+
+void PolarChartAxisRadial::handleMinorGridLineColorChanged(const QColor &color)
+{
+ foreach (QGraphicsItem *item, minorGridItems()) {
+ QGraphicsEllipseItem *ellipseItem = static_cast<QGraphicsEllipseItem *>(item);
+ QPen pen = ellipseItem->pen();
+ pen.setColor(color);
+ ellipseItem->setPen(pen);
+ }
+}
+
QSizeF PolarChartAxisRadial::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
{
Q_UNUSED(which);
diff --git a/src/charts/axis/polarchartaxisradial_p.h b/src/charts/axis/polarchartaxisradial_p.h
index 21a32a55..34a79557 100644
--- a/src/charts/axis/polarchartaxisradial_p.h
+++ b/src/charts/axis/polarchartaxisradial_p.h
@@ -54,6 +54,8 @@ public Q_SLOTS:
virtual void handleGridPenChanged(const QPen &pen);
virtual void handleMinorArrowPenChanged(const QPen &pen);
virtual void handleMinorGridPenChanged(const QPen &pen);
+ virtual void handleGridLineColorChanged(const QColor &color);
+ virtual void handleMinorGridLineColorChanged(const QColor &color);
};
QT_CHARTS_END_NAMESPACE
diff --git a/src/charts/axis/qabstractaxis.cpp b/src/charts/axis/qabstractaxis.cpp
index eab95cd5..e286ba51 100644
--- a/src/charts/axis/qabstractaxis.cpp
+++ b/src/charts/axis/qabstractaxis.cpp
@@ -142,6 +142,16 @@ QT_CHARTS_BEGIN_NAMESPACE
*/
/*!
+ \property QAbstractAxis::gridLineColor
+ The color of the grid line.
+*/
+
+/*!
+ \property QAbstractAxis::minorGridLineColor
+ The color of the minor grid line. Applies only to QValueAxis.
+*/
+
+/*!
\property QAbstractAxis::labelsFont
The font of the axis labels.
*/
@@ -359,6 +369,16 @@ QT_CHARTS_BEGIN_NAMESPACE
*/
/*!
+ \fn void QAbstractAxis::gridLineColorChanged(const QColor &color)
+ The color of the pen of the grid line has changed to \a color.
+*/
+
+/*!
+ \fn void QAbstractAxis::minorGridLineColorChanged(const QColor &color)
+ The color of the pen of the minor grid line has changed to \a color.
+*/
+
+/*!
\fn void QAbstractAxis::colorChanged(QColor color)
Emitted if the \a color of the axis is changed.
*/
@@ -584,6 +604,36 @@ QPen QAbstractAxis::minorGridLinePen() const
return d_ptr->m_minorGridLinePen;
}
+void QAbstractAxis::setGridLineColor(const QColor &color)
+{
+ QPen pen = d_ptr->m_gridLinePen;
+ if (color != pen.color()) {
+ pen.setColor(color);
+ d_ptr->m_gridLinePen = pen;
+ emit gridLineColorChanged(color);
+ }
+}
+
+QColor QAbstractAxis::gridLineColor()
+{
+ return d_ptr->m_gridLinePen.color();
+}
+
+void QAbstractAxis::setMinorGridLineColor(const QColor &color)
+{
+ QPen pen = d_ptr->m_minorGridLinePen;
+ if (color != pen.color()) {
+ pen.setColor(color);
+ d_ptr->m_minorGridLinePen = pen;
+ emit minorGridLineColorChanged(color);
+ }
+}
+
+QColor QAbstractAxis::minorGridLineColor()
+{
+ return d_ptr->m_minorGridLinePen.color();
+}
+
void QAbstractAxis::setLabelsVisible(bool visible)
{
if (d_ptr->m_labelsVisible != visible) {
diff --git a/src/charts/axis/qabstractaxis.h b/src/charts/axis/qabstractaxis.h
index 48a16a72..dba1023d 100644
--- a/src/charts/axis/qabstractaxis.h
+++ b/src/charts/axis/qabstractaxis.h
@@ -48,6 +48,8 @@ class QT_CHARTS_EXPORT QAbstractAxis : public QObject
Q_PROPERTY(QPen gridLinePen READ gridLinePen WRITE setGridLinePen NOTIFY gridLinePenChanged)
Q_PROPERTY(bool minorGridVisible READ isMinorGridLineVisible WRITE setMinorGridLineVisible NOTIFY minorGridVisibleChanged)
Q_PROPERTY(QPen minorGridLinePen READ minorGridLinePen WRITE setMinorGridLinePen NOTIFY minorGridLinePenChanged)
+ Q_PROPERTY(QColor gridLineColor READ gridLineColor WRITE setGridLineColor NOTIFY gridLineColorChanged)
+ Q_PROPERTY(QColor minorGridLineColor READ minorGridLineColor WRITE setMinorGridLineColor NOTIFY minorGridLineColorChanged)
//shades
Q_PROPERTY(bool shadesVisible READ shadesVisible WRITE setShadesVisible NOTIFY shadesVisibleChanged)
Q_PROPERTY(QColor shadesColor READ shadesColor WRITE setShadesColor NOTIFY shadesColorChanged)
@@ -109,6 +111,10 @@ public:
void setMinorGridLineVisible(bool visible = true);
void setMinorGridLinePen(const QPen &pen);
QPen minorGridLinePen() const;
+ void setGridLineColor(const QColor &color);
+ QColor gridLineColor();
+ void setMinorGridLineColor(const QColor &color);
+ QColor minorGridLineColor();
//labels handling
bool labelsVisible() const;
@@ -168,6 +174,8 @@ Q_SIGNALS:
void gridVisibleChanged(bool visible);
void minorGridVisibleChanged(bool visible);
void minorGridLinePenChanged(const QPen &pen);
+ void gridLineColorChanged(const QColor &color);
+ void minorGridLineColorChanged(const QColor &color);
void colorChanged(QColor color);
void labelsColorChanged(QColor color);
void titleTextChanged(const QString &title);
diff --git a/src/chartsqml2/plugins.qmltypes b/src/chartsqml2/plugins.qmltypes
index 91953068..af019e2d 100644
--- a/src/chartsqml2/plugins.qmltypes
+++ b/src/chartsqml2/plugins.qmltypes
@@ -2027,6 +2027,8 @@ Module {
Property { name: "gridLinePen"; type: "QPen" }
Property { name: "minorGridVisible"; type: "bool" }
Property { name: "minorGridLinePen"; type: "QPen" }
+ Property { name: "gridLineColor"; type: "QColor" }
+ Property { name: "minorGridLineColor"; type: "QColor" }
Property { name: "shadesVisible"; type: "bool" }
Property { name: "shadesColor"; type: "QColor" }
Property { name: "shadesBorderColor"; type: "QColor" }
@@ -2084,6 +2086,14 @@ Module {
Parameter { name: "pen"; type: "QPen" }
}
Signal {
+ name: "gridLineColorChanged"
+ Parameter { name: "color"; type: "QColor" }
+ }
+ Signal {
+ name: "minorGridLineColorChanged"
+ Parameter { name: "color"; type: "QColor" }
+ }
+ Signal {
name: "colorChanged"
Parameter { name: "color"; type: "QColor" }
}