diff options
author | Michal Klocek <Michal.Klocek@digia.com> | 2012-11-26 10:38:21 +0200 |
---|---|---|
committer | Michal Klocek <Michal.Klocek@digia.com> | 2012-11-26 14:58:47 +0200 |
commit | 5ea9e4fa75c8c36d6ff15630a0d3c6d2d7203d91 (patch) | |
tree | b088c309bd021f31c7da29e4361802ad474fd299 /src/domain/abstractdomain.cpp | |
parent | ed9af3142ed95a64368b0b21083c9b72771363ad (diff) |
Adds domains swap logic
Diffstat (limited to 'src/domain/abstractdomain.cpp')
-rw-r--r-- | src/domain/abstractdomain.cpp | 29 |
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 |