diff options
author | Michal Klocek <Michal.Klocek@digia.com> | 2012-11-26 11:37:32 +0200 |
---|---|---|
committer | Michal Klocek <Michal.Klocek@digia.com> | 2012-11-26 14:58:48 +0200 |
commit | d4cb0061d8bcf7be44d9d8e31f46408433ef7142 (patch) | |
tree | e6d2e51a994c28263168465fba597cbe1db7aff1 /src/domain | |
parent | a12d6a605fabba72ac27c612a02b9cd1d9c7ad08 (diff) |
Bugfix resize event during zoomin
Diffstat (limited to 'src/domain')
-rw-r--r-- | src/domain/abstractdomain.cpp | 18 | ||||
-rw-r--r-- | src/domain/abstractdomain_p.h | 6 | ||||
-rw-r--r-- | src/domain/xydomain.cpp | 6 |
3 files changed, 18 insertions, 12 deletions
diff --git a/src/domain/abstractdomain.cpp b/src/domain/abstractdomain.cpp index 4915a966..ee87e64e 100644 --- a/src/domain/abstractdomain.cpp +++ b/src/domain/abstractdomain.cpp @@ -30,7 +30,7 @@ AbstractDomain::AbstractDomain(QObject *parent) m_maxX(0), m_minY(0), m_maxY(0), - m_axisSignalsBlocked(false) + m_signalsBlocked(false) { } @@ -112,19 +112,23 @@ QPointF AbstractDomain::calculateDomainPoint(const QPointF &point) const void AbstractDomain::handleVerticalAxisRangeChanged(qreal min, qreal max) { - if(!m_axisSignalsBlocked) - setRangeY(min, max); + setRangeY(min, max); } void AbstractDomain::handleHorizontalAxisRangeChanged(qreal min, qreal max) { - if(!m_axisSignalsBlocked) - setRangeX(min, max); + setRangeX(min, max); } -void AbstractDomain::blockAxisSignals(bool block) +void AbstractDomain::blockRangeSignals(bool block) { - m_axisSignalsBlocked=block; + if(m_signalsBlocked!=block){ + m_signalsBlocked=block; + if(!block) { + emit rangeHorizontalChanged(m_minX,m_maxX); + emit rangeVerticalChanged(m_minY,m_maxY); + } + } } //algorithm defined by Paul S.Heckbert GraphicalGems I diff --git a/src/domain/abstractdomain_p.h b/src/domain/abstractdomain_p.h index 04bd7c81..4ef84eb5 100644 --- a/src/domain/abstractdomain_p.h +++ b/src/domain/abstractdomain_p.h @@ -69,8 +69,8 @@ public: qreal spanY() const; bool isEmpty() const; - void blockAxisSignals(bool block); - bool axisSignalsBlocked() const { return m_axisSignalsBlocked; } + void blockRangeSignals(bool block); + bool rangeSignalsBlocked() const { return m_signalsBlocked; } friend bool QTCOMMERCIALCHART_AUTOTEST_EXPORT operator== (const AbstractDomain &domain1, const AbstractDomain &domain2); friend bool QTCOMMERCIALCHART_AUTOTEST_EXPORT operator!= (const AbstractDomain &domain1, const AbstractDomain &domain2); @@ -105,7 +105,7 @@ protected: qreal m_minY; qreal m_maxY; QSizeF m_size; - bool m_axisSignalsBlocked; + bool m_signalsBlocked; }; QTCOMMERCIALCHART_END_NAMESPACE diff --git a/src/domain/xydomain.cpp b/src/domain/xydomain.cpp index 1b237cb6..6603566c 100644 --- a/src/domain/xydomain.cpp +++ b/src/domain/xydomain.cpp @@ -42,14 +42,16 @@ void XYDomain::setRange(qreal minX, qreal maxX, qreal minY, qreal maxY) m_minX = minX; m_maxX = maxX; axisXChanged = true; - emit rangeHorizontalChanged(m_minX, m_maxX); + if(!m_signalsBlocked) + emit rangeHorizontalChanged(m_minX, m_maxX); } if (!qFuzzyCompare(m_minY, minY) || !qFuzzyCompare(m_maxY, maxY)) { m_minY = minY; m_maxY = maxY; axisYChanged = true; - emit rangeVerticalChanged(m_minY, m_maxY); + if(!m_signalsBlocked) + emit rangeVerticalChanged(m_minY, m_maxY); } if (axisXChanged || axisYChanged) |