diff --git a/src/axis/chartaxis.cpp b/src/axis/chartaxis.cpp index 9bbb3f5..061b2fb 100644 --- a/src/axis/chartaxis.cpp +++ b/src/axis/chartaxis.cpp @@ -260,30 +260,42 @@ void ChartAxis::handleAxisUpdated() if (isEmpty()) return; - if (m_chartAxis->isAxisVisible()) { - setAxisOpacity(100); - } else { + if (!m_chartAxis->isVisible()) { setAxisOpacity(0); - } - - if (m_chartAxis->isGridLineVisible()) { - setGridOpacity(100); - } else { setGridOpacity(0); - } - - if (m_chartAxis->labelsVisible()) { - setLabelsOpacity(100); - } else { setLabelsOpacity(0); - } - - if (m_chartAxis->shadesVisible()) { - setShadesOpacity(100); - } else { setShadesOpacity(0); } + else { + + if (m_chartAxis->isAxisVisible()) { + setAxisOpacity(100); + } + else { + setAxisOpacity(0); + } + if (m_chartAxis->isGridLineVisible()) { + setGridOpacity(100); + } + else { + setGridOpacity(0); + } + + if (m_chartAxis->labelsVisible()) { + setLabelsOpacity(100); + } + else { + setLabelsOpacity(0); + } + + if (m_chartAxis->shadesVisible()) { + setShadesOpacity(100); + } + else { + setShadesOpacity(0); + } + } setLabelsAngle(m_chartAxis->labelsAngle()); setAxisPen(m_chartAxis->axisPen()); setLabelsPen(m_chartAxis->labelsPen()); diff --git a/src/axis/qabstractaxis.cpp b/src/axis/qabstractaxis.cpp index ca38fec..d8bc4d3 100644 --- a/src/axis/qabstractaxis.cpp +++ b/src/axis/qabstractaxis.cpp @@ -519,28 +519,35 @@ QColor QAbstractAxis::shadesBorderColor() const } +bool QAbstractAxis::isVisible() const +{ + return d_ptr->m_visible; +} + /*! Sets axis, shades, labels and grid lines to be visible. */ -void QAbstractAxis::show() +void QAbstractAxis::setVisible(bool visible) { - d_ptr->m_axisVisible=true; - d_ptr->m_gridLineVisible=true; - d_ptr->m_labelsVisible=true; - d_ptr->m_shadesVisible=true; + d_ptr->m_visible=visible; emit d_ptr->updated(); } + +/*! + Sets axis, shades, labels and grid lines to be visible. +*/ +void QAbstractAxis::show() +{ + setVisible(true); +} + /*! Sets axis, shades, labels and grid lines to not be visible. */ void QAbstractAxis::hide() { - d_ptr->m_axisVisible = false; - d_ptr->m_gridLineVisible = false; - d_ptr->m_labelsVisible = false; - d_ptr->m_shadesVisible = false; - emit d_ptr->updated(); + setVisible(false); } @@ -561,6 +568,7 @@ void QAbstractAxis::setRange(const QVariant &min, const QVariant &max) QAbstractAxisPrivate::QAbstractAxisPrivate(QAbstractAxis* q): q_ptr(q), + m_visible(true), m_axisVisible(true), m_gridLineVisible(true), m_labelsVisible(true), diff --git a/src/axis/qabstractaxis.h b/src/axis/qabstractaxis.h index e980178..62fcd6d 100644 --- a/src/axis/qabstractaxis.h +++ b/src/axis/qabstractaxis.h @@ -33,8 +33,8 @@ class QAbstractAxisPrivate; class QTCOMMERCIALCHART_EXPORT QAbstractAxis : public QObject { Q_OBJECT - - Q_PROPERTY(bool visible READ isAxisVisible WRITE setAxisVisible NOTIFY visibleChanged) + Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged) + Q_PROPERTY(bool axisVisible READ isAxisVisible WRITE setAxisVisible NOTIFY visibleChanged) Q_PROPERTY(QColor color READ axisPenColor WRITE setAxisPenColor NOTIFY colorChanged) Q_PROPERTY(bool labelsVisible READ labelsVisible WRITE setLabelsVisible NOTIFY labelsVisibleChanged) Q_PROPERTY(int labelsAngle READ labelsAngle WRITE setLabelsAngle) @@ -63,6 +63,11 @@ public: virtual AxisType type() const = 0; + //visibilty hadnling + bool isVisible() const; + void setVisible(bool visible = true); + + //axis handling bool isAxisVisible() const; void setAxisVisible(bool visible = true); @@ -113,6 +118,7 @@ public: Q_SIGNALS: void visibleChanged(bool visible); + void axisVisibleChanged(bool visible); void labelsVisibleChanged(bool visible); void gridVisibleChanged(bool visible); void colorChanged(QColor color); diff --git a/src/axis/qabstractaxis_p.h b/src/axis/qabstractaxis_p.h index 71de189..f79f41f 100644 --- a/src/axis/qabstractaxis_p.h +++ b/src/axis/qabstractaxis_p.h @@ -59,6 +59,7 @@ protected: public: QAbstractAxis *q_ptr; + bool m_visible; bool m_axisVisible; QPen m_axisPen;