summaryrefslogtreecommitdiffstats
path: root/src/domain/abstractdomain.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-04-16 10:07:13 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-04-17 10:14:43 +0300
commitf494279b6366b06e3eeeb4f8c006ce76b08f10d7 (patch)
tree26951efa14e26eb0791d13ea32624e9afcf48851 /src/domain/abstractdomain.cpp
parent56fd46a395765db6818f890676e42cc59a9f4a81 (diff)
Add Polar chart support
This commit also heavily refactors things as polar chart needs separate implementation of various classes that previously only needed one, such as ChartAxis and ChartLayout. Task-number: QTRD-1757 Change-Id: I3d3db23920314987ceef3ae92879960b833b7136 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/domain/abstractdomain.cpp')
-rw-r--r--src/domain/abstractdomain.cpp37
1 files changed, 24 insertions, 13 deletions
diff --git a/src/domain/abstractdomain.cpp b/src/domain/abstractdomain.cpp
index bcaa5164..277472d1 100644
--- a/src/domain/abstractdomain.cpp
+++ b/src/domain/abstractdomain.cpp
@@ -38,7 +38,7 @@ AbstractDomain::~AbstractDomain()
{
}
-void AbstractDomain::setSize(const QSizeF& size)
+void AbstractDomain::setSize(const QSizeF &size)
{
if(m_size!=size)
{
@@ -122,9 +122,9 @@ void AbstractDomain::handleHorizontalAxisRangeChanged(qreal min, qreal max)
void AbstractDomain::blockRangeSignals(bool block)
{
- if(m_signalsBlocked!=block){
+ if (m_signalsBlocked!=block) {
m_signalsBlocked=block;
- if(!block) {
+ if (!block) {
emit rangeHorizontalChanged(m_minX,m_maxX);
emit rangeVerticalChanged(m_minY,m_maxY);
}
@@ -165,14 +165,14 @@ qreal AbstractDomain::niceNumber(qreal x, bool ceiling)
return q * z;
}
-bool AbstractDomain::attachAxis(QAbstractAxis* axis)
+bool AbstractDomain::attachAxis(QAbstractAxis *axis)
{
- if(axis->orientation()==Qt::Vertical) {
+ 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) {
+ 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)));
}
@@ -180,14 +180,14 @@ bool AbstractDomain::attachAxis(QAbstractAxis* axis)
return true;
}
-bool AbstractDomain::detachAxis(QAbstractAxis* axis)
+bool AbstractDomain::detachAxis(QAbstractAxis *axis)
{
- if(axis->orientation()==Qt::Vertical) {
+ 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) {
+ 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)));
}
@@ -199,10 +199,10 @@ bool AbstractDomain::detachAxis(QAbstractAxis* axis)
bool QTCOMMERCIALCHART_AUTOTEST_EXPORT operator== (const AbstractDomain &domain1, const AbstractDomain &domain2)
{
- return (qFuzzyIsNull(domain1.m_maxX - domain2.m_maxX) &&
- qFuzzyIsNull(domain1.m_maxY - domain2.m_maxY) &&
- qFuzzyIsNull(domain1.m_minX - domain2.m_minX) &&
- qFuzzyIsNull(domain1.m_minY - domain2.m_minY));
+ return (qFuzzyIsNull(domain1.m_maxX - domain2.m_maxX)
+ && qFuzzyIsNull(domain1.m_maxY - domain2.m_maxY)
+ && qFuzzyIsNull(domain1.m_minX - domain2.m_minX)
+ && qFuzzyIsNull(domain1.m_minY - domain2.m_minY));
}
@@ -218,6 +218,17 @@ QDebug QTCOMMERCIALCHART_AUTOTEST_EXPORT operator<<(QDebug dbg, const AbstractDo
return dbg.maybeSpace();
}
+// This function adjusts min/max ranges to failsafe values if negative/zero values are attempted.
+void AbstractDomain::adjustLogDomainRanges(qreal &min, qreal &max)
+{
+ if (min <= 0) {
+ min = 1.0;
+ if (max <= min)
+ max = min + 1.0;
+ }
+}
+
+
#include "moc_abstractdomain_p.cpp"
QTCOMMERCIALCHART_END_NAMESPACE