summaryrefslogtreecommitdiffstats
path: root/src/domain
diff options
context:
space:
mode:
authorMichal Klocek <Michal.Klocek@digia.com>2012-11-26 11:37:32 +0200
committerMichal Klocek <Michal.Klocek@digia.com>2012-11-26 14:58:48 +0200
commitd4cb0061d8bcf7be44d9d8e31f46408433ef7142 (patch)
treee6d2e51a994c28263168465fba597cbe1db7aff1 /src/domain
parenta12d6a605fabba72ac27c612a02b9cd1d9c7ad08 (diff)
Bugfix resize event during zoomin
Diffstat (limited to 'src/domain')
-rw-r--r--src/domain/abstractdomain.cpp18
-rw-r--r--src/domain/abstractdomain_p.h6
-rw-r--r--src/domain/xydomain.cpp6
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)