@@ -516,8 +516,11 bool QAbstractAxis::isVisible() const | |||||
516 | */ |
|
516 | */ | |
517 | void QAbstractAxis::setVisible(bool visible) |
|
517 | void QAbstractAxis::setVisible(bool visible) | |
518 | { |
|
518 | { | |
519 |
d_ptr->m_visible=visible |
|
519 | if(d_ptr->m_visible!=visible){ | |
520 | emit d_ptr->updated(); |
|
520 | d_ptr->m_visible=visible; | |
|
521 | emit visibleChanged(visible); | |||
|
522 | emit d_ptr->updated(); | |||
|
523 | } | |||
521 | } |
|
524 | } | |
522 |
|
525 | |||
523 |
|
526 | |||
@@ -555,7 +558,7 void QAbstractAxis::setRange(const QVariant &min, const QVariant &max) | |||||
555 |
|
558 | |||
556 | QAbstractAxisPrivate::QAbstractAxisPrivate(QAbstractAxis* q): |
|
559 | QAbstractAxisPrivate::QAbstractAxisPrivate(QAbstractAxis* q): | |
557 | q_ptr(q), |
|
560 | q_ptr(q), | |
558 |
m_visible( |
|
561 | m_visible(false), | |
559 | m_axisVisible(true), |
|
562 | m_axisVisible(true), | |
560 | m_gridLineVisible(true), |
|
563 | m_gridLineVisible(true), | |
561 | m_labelsVisible(true), |
|
564 | m_labelsVisible(true), |
@@ -93,9 +93,14 void ChartPresenter::handleAxisAdded(QAbstractAxis* axis,Domain* domain) | |||||
93 | } |
|
93 | } | |
94 |
|
94 | |||
95 | QObject::connect(this,SIGNAL(geometryChanged(QRectF)),item,SLOT(handleGeometryChanged(QRectF))); |
|
95 | QObject::connect(this,SIGNAL(geometryChanged(QRectF)),item,SLOT(handleGeometryChanged(QRectF))); | |
|
96 | QObject::connect(axis,SIGNAL(visibleChanged(bool)),this,SLOT(handleAxisVisibleChanged(bool))); | |||
96 | //initialize |
|
97 | //initialize | |
97 | if(m_rect.isValid()) item->handleGeometryChanged(m_rect); |
|
98 | if(m_rect.isValid()) item->handleGeometryChanged(m_rect); | |
|
99 | //reload visiblity | |||
98 | m_axisItems.insert(axis, item); |
|
100 | m_axisItems.insert(axis, item); | |
|
101 | if(axis->isVisible()) axis->hide(); | |||
|
102 | axis->show(); | |||
|
103 | ||||
99 | } |
|
104 | } | |
100 |
|
105 | |||
101 | void ChartPresenter::handleAxisRemoved(QAbstractAxis* axis) |
|
106 | void ChartPresenter::handleAxisRemoved(QAbstractAxis* axis) | |
@@ -138,6 +143,27 void ChartPresenter::handleSeriesRemoved(QAbstractSeries* series) | |||||
138 | item->deleteLater(); |
|
143 | item->deleteLater(); | |
139 | } |
|
144 | } | |
140 |
|
145 | |||
|
146 | ||||
|
147 | void ChartPresenter::handleAxisVisibleChanged(bool visible) | |||
|
148 | { | |||
|
149 | QAbstractAxis* axis = static_cast<QAbstractAxis*> (sender()); | |||
|
150 | Q_ASSERT(axis); | |||
|
151 | if(visible){ | |||
|
152 | ||||
|
153 | QMapIterator<QAbstractAxis*, ChartAxis*> i(m_axisItems); | |||
|
154 | ||||
|
155 | while (i.hasNext()) { | |||
|
156 | i.next(); | |||
|
157 | if(i.key()==axis) { | |||
|
158 | continue; | |||
|
159 | } | |||
|
160 | if(i.key()->d_ptr->m_orientation==axis->d_ptr->m_orientation) { | |||
|
161 | i.key()->setVisible(false); | |||
|
162 | } | |||
|
163 | } | |||
|
164 | } | |||
|
165 | } | |||
|
166 | ||||
141 | void ChartPresenter::setTheme(QChart::ChartTheme theme,bool force) |
|
167 | void ChartPresenter::setTheme(QChart::ChartTheme theme,bool force) | |
142 | { |
|
168 | { | |
143 | if(m_chartTheme && m_chartTheme->id() == theme) return; |
|
169 | if(m_chartTheme && m_chartTheme->id() == theme) return; |
@@ -143,6 +143,7 public Q_SLOTS: | |||||
143 | void handleSeriesRemoved(QAbstractSeries* series); |
|
143 | void handleSeriesRemoved(QAbstractSeries* series); | |
144 | void handleAxisAdded(QAbstractAxis* axis,Domain* domain); |
|
144 | void handleAxisAdded(QAbstractAxis* axis,Domain* domain); | |
145 | void handleAxisRemoved(QAbstractAxis* axis); |
|
145 | void handleAxisRemoved(QAbstractAxis* axis); | |
|
146 | void handleAxisVisibleChanged(bool visible); | |||
146 |
|
147 | |||
147 | private Q_SLOTS: |
|
148 | private Q_SLOTS: | |
148 | void handleAnimationFinished(); |
|
149 | void handleAnimationFinished(); |
General Comments 0
You need to be logged in to leave comments.
Login now