summaryrefslogtreecommitdiffstats
path: root/src/domain/abstractdomain.cpp
diff options
context:
space:
mode:
authorMichal Klocek <Michal.Klocek@digia.com>2012-11-26 10:38:21 +0200
committerMichal Klocek <Michal.Klocek@digia.com>2012-11-26 14:58:47 +0200
commit5ea9e4fa75c8c36d6ff15630a0d3c6d2d7203d91 (patch)
treeb088c309bd021f31c7da29e4361802ad474fd299 /src/domain/abstractdomain.cpp
parented9af3142ed95a64368b0b21083c9b72771363ad (diff)
Adds domains swap logic
Diffstat (limited to 'src/domain/abstractdomain.cpp')
-rw-r--r--src/domain/abstractdomain.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/domain/abstractdomain.cpp b/src/domain/abstractdomain.cpp
index 889aecec..4915a966 100644
--- a/src/domain/abstractdomain.cpp
+++ b/src/domain/abstractdomain.cpp
@@ -161,6 +161,35 @@ qreal AbstractDomain::niceNumber(qreal x, bool ceiling)
return q * z;
}
+bool AbstractDomain::attachAxis(QAbstractAxis* axis)
+{
+ if(axis->orientation()==Qt::Vertical) {
+ QObject::connect(axis->d_ptr.data(), SIGNAL(rangeChanged(qreal,qreal)), this, SLOT(handleVerticalAxisRangeChanged(qreal,qreal)));
+ QObject::connect(this, SIGNAL(rangeVerticalChanged(qreal,qreal)), axis->d_ptr.data(), SLOT(handleRangeChanged(qreal,qreal)));
+ }
+
+ if(axis->orientation()==Qt::Horizontal) {
+ QObject::connect(axis->d_ptr.data(), SIGNAL(rangeChanged(qreal,qreal)), this, SLOT(handleHorizontalAxisRangeChanged(qreal,qreal)));
+ QObject::connect(this, SIGNAL(rangeHorizontalChanged(qreal,qreal)), axis->d_ptr.data(), SLOT(handleRangeChanged(qreal,qreal)));
+ }
+
+ return true;
+}
+
+bool AbstractDomain::detachAxis(QAbstractAxis* axis)
+{
+ if(axis->orientation()==Qt::Vertical) {
+ QObject::disconnect(axis->d_ptr.data(), SIGNAL(rangeChanged(qreal,qreal)), this, SLOT(handleVerticalAxisRangeChanged(qreal,qreal)));
+ QObject::disconnect(this, SIGNAL(rangeVerticalChanged(qreal,qreal)), axis->d_ptr.data(), SLOT(handleRangeChanged(qreal,qreal)));
+ }
+
+ if(axis->orientation()==Qt::Horizontal) {
+ QObject::disconnect(axis->d_ptr.data(), SIGNAL(rangeChanged(qreal,qreal)), this, SLOT(handleHorizontalAxisRangeChanged(qreal,qreal)));
+ QObject::disconnect(this, SIGNAL(rangeHorizontalChanged(qreal,qreal)), axis->d_ptr.data(), SLOT(handleRangeChanged(qreal,qreal)));
+ }
+
+ return true;
+}
// operators