##// END OF EJS Templates
Fix package and folder name for Linux package...
Fix package and folder name for Linux package Fix the package and folder names to the package generation script for Linux. The package and folder names are of form: qt-charts-enterprise-src-<version> Change-Id: I425bc6f9e6dc23b3bbd441f8f413cbf85414c7da Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>

File last commit:

r2620:bcd8645639fe
r2653:ac59288a879b
Show More
xydomain.cpp
186 lines | 5.0 KiB | text/x-c | CppLexer
Jani Honkonen
Add license headers
r794 /****************************************************************************
**
Miikka Heikkinen
Fixed the copyright year 2012 -> 2013
r2432 ** Copyright (C) 2013 Digia Plc
Jani Honkonen
Add license headers
r794 ** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
Miikka Heikkinen
Qt Commercial -> Qt Enterprise...
r2574 ** This file is part of the Qt Enterprise Charts Add-on.
Jani Honkonen
Add license headers
r794 **
** $QT_BEGIN_LICENSE$
Miikka Heikkinen
Qt Commercial -> Qt Enterprise...
r2574 ** Licensees holding valid Qt Enterprise licenses may use this file in
** accordance with the Qt Enterprise License Agreement provided with the
Jani Honkonen
Add license headers
r794 ** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
Marek Rosa
Domains added
r2275 #include "xydomain_p.h"
Michal Klocek
Refactors Domain and Axis...
r1698 #include "qabstractaxis_p.h"
Michal Klocek
Refactors internals...
r2273 #include <qmath.h>
Michal Klocek
Refactors qchart , adds line animation...
r131
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Marek Rosa
Domains added
r2275 XYDomain::XYDomain(QObject *parent)
: AbstractDomain(parent)
Michal Klocek
Refactors qchart , adds line animation...
r131 {
}
Marek Rosa
Domains added
r2275 XYDomain::~XYDomain()
Michal Klocek
Refactors qchart , adds line animation...
r131 {
}
Marek Rosa
Domains added
r2275 void XYDomain::setRange(qreal minX, qreal maxX, qreal minY, qreal maxY)
Michal Klocek
Adds loosenumber algorithm...
r678 {
Michal Klocek
Refactor axis hadnling...
r1078 bool axisXChanged = false;
bool axisYChanged = false;
Michal Klocek
Refactor domain model...
r439
Marek Rosa
Replaced qFuzzyIsNull with qFuzzyCompare. Once qchart test case still uses qFuzzyIsNull becasue it started failing when qFuzzyCompare was used
r2242 if (!qFuzzyCompare(m_minX, minX) || !qFuzzyCompare(m_maxX, maxX)) {
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 m_minX = minX;
m_maxX = maxX;
axisXChanged = true;
Michal Klocek
Bugfix resize event during zoomin
r2289 if(!m_signalsBlocked)
emit rangeHorizontalChanged(m_minX, m_maxX);
Michal Klocek
Adds loosenumber algorithm...
r678 }
Marek Rosa
Replaced qFuzzyIsNull with qFuzzyCompare. Once qchart test case still uses qFuzzyIsNull becasue it started failing when qFuzzyCompare was used
r2242 if (!qFuzzyCompare(m_minY, minY) || !qFuzzyCompare(m_maxY, maxY)) {
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 m_minY = minY;
m_maxY = maxY;
axisYChanged = true;
Michal Klocek
Bugfix resize event during zoomin
r2289 if(!m_signalsBlocked)
emit rangeVerticalChanged(m_minY, m_maxY);
Michal Klocek
Adds loosenumber algorithm...
r678 }
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (axisXChanged || axisYChanged)
Michal Klocek
Refactors Domain and Axis...
r1698 emit updated();
Michal Klocek
Refactor domain model...
r439 }
Michal Klocek
Adds loosenumber algorithm...
r678
Michal Klocek
Refactors qchart , adds line animation...
r131
Marek Rosa
Domains added
r2275 void XYDomain::zoomIn(const QRectF &rect)
Michal Klocek
Refactors qchart , adds line animation...
r131 {
Miikka Heikkinen
Added QChart::zoomReset() and QChart::isZoomed()...
r2545 storeZoomReset();
Michal Klocek
Refactors internals...
r2273 qreal dx = spanX() / m_size.width();
qreal dy = spanY() / m_size.height();
Michal Klocek
Refactors qchart , adds line animation...
r131
Michal Klocek
Refactor axis hadnling...
r1078 qreal maxX = m_maxX;
qreal minX = m_minX;
qreal minY = m_minY;
qreal maxY = m_maxY;
Michal Klocek
Refactor domain model...
r439
Michal Klocek
Refactor axis hadnling...
r1078 maxX = minX + dx * rect.right();
minX = minX + dx * rect.left();
minY = maxY - dy * rect.bottom();
maxY = maxY - dy * rect.top();
Michal Klocek
Adds loosenumber algorithm...
r678
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setRange(minX, maxX, minY, maxY);
Michal Klocek
Refactor domain model...
r439 }
Marek Rosa
Domains added
r2275 void XYDomain::zoomOut(const QRectF &rect)
Michal Klocek
Refactor domain model...
r439 {
Miikka Heikkinen
Added QChart::zoomReset() and QChart::isZoomed()...
r2545 storeZoomReset();
Michal Klocek
Refactor domain model...
r439 qreal dx = spanX() / rect.width();
qreal dy = spanY() / rect.height();
Michal Klocek
Refactors qchart , adds line animation...
r131
Michal Klocek
Refactor axis hadnling...
r1078 qreal maxX = m_maxX;
qreal minX = m_minX;
qreal minY = m_minY;
qreal maxY = m_maxY;
Michal Klocek
Refactors qchart , adds line animation...
r131
Michal Klocek
Refactor axis hadnling...
r1078 minX = maxX - dx * rect.right();
Michal Klocek
Refactors internals...
r2273 maxX = minX + dx * m_size.width();
Michal Klocek
Refactor axis hadnling...
r1078 maxY = minY + dy * rect.bottom();
Michal Klocek
Refactors internals...
r2273 minY = maxY - dy * m_size.height();
Michal Klocek
Refactor axis hadnling...
r1078
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setRange(minX, maxX, minY, maxY);
Michal Klocek
Adds scroll support...
r531 }
Marek Rosa
Domains added
r2275 void XYDomain::move(qreal dx, qreal dy)
Michal Klocek
Adds scroll support...
r531 {
Michal Klocek
Refactors internals...
r2273 qreal x = spanX() / m_size.width();
qreal y = spanY() / m_size.height();
Michal Klocek
Adds scroll support...
r531
Michal Klocek
Refactor axis hadnling...
r1078 qreal maxX = m_maxX;
qreal minX = m_minX;
qreal minY = m_minY;
qreal maxY = m_maxY;
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (dx != 0) {
Michal Klocek
Refactor axis hadnling...
r1078 minX = minX + x * dx;
maxX = maxX + x * dx;
Michal Klocek
Adds scroll support...
r531 }
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (dy != 0) {
Michal Klocek
Refactor axis hadnling...
r1078 minY = minY + y * dy;
maxY = maxY + y * dy;
Michal Klocek
Adds scroll support...
r531 }
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setRange(minX, maxX, minY, maxY);
Michal Klocek
Refactor domain model...
r439 }
Marek Rosa
Negative values with log axis handled
r2356 QPointF XYDomain::calculateGeometryPoint(const QPointF &point, bool &ok) const
Michal Klocek
Adds loosenumber algorithm...
r678 {
Michal Klocek
Refactors internals...
r2273 const qreal deltaX = m_size.width() / (m_maxX - m_minX);
const qreal deltaY = m_size.height() / (m_maxY - m_minY);
qreal x = (point.x() - m_minX) * deltaX;
qreal y = (point.y() - m_minY) * -deltaY + m_size.height();
Marek Rosa
Negative values with log axis handled
r2356 ok = true;
Michal Klocek
Refactors internals...
r2273 return QPointF(x, y);
Michal Klocek
Adds loosenumber algorithm...
r678 }
Miikka Heikkinen
Add Polar chart support...
r2483 QVector<QPointF> XYDomain::calculateGeometryPoints(const QList<QPointF> &vector) const
Michal Klocek
Adds missing ticks hadnling
r554 {
Michal Klocek
Refactors internals...
r2273 const qreal deltaX = m_size.width() / (m_maxX - m_minX);
const qreal deltaY = m_size.height() / (m_maxY - m_minY);
QVector<QPointF> result;
result.resize(vector.count());
for (int i = 0; i < vector.count(); ++i) {
qreal x = (vector[i].x() - m_minX) * deltaX;
qreal y = (vector[i].y() - m_minY) * -deltaY + m_size.height();
result[i].setX(x);
result[i].setY(y);
}
return result;
Michal Klocek
Adds missing ticks hadnling
r554 }
Marek Rosa
Domains added
r2275 QPointF XYDomain::calculateDomainPoint(const QPointF &point) const
Michal Klocek
Refactors internals...
r2273 {
const qreal deltaX = m_size.width() / (m_maxX - m_minX);
const qreal deltaY = m_size.height() / (m_maxY - m_minY);
qreal x = point.x() / deltaX + m_minX;
qreal y = (point.y() - m_size.height()) / (-deltaY) + m_minY;
return QPointF(x, y);
}
// operators
Marek Rosa
Domains added
r2275 bool QTCOMMERCIALCHART_AUTOTEST_EXPORT operator== (const XYDomain &domain1, const XYDomain &domain2)
Michal Klocek
Add overloaded comparison operators to domain
r220 {
Miikka Heikkinen
Add Polar chart support...
r2483 return (qFuzzyCompare(domain1.m_maxX, domain2.m_maxX)
&& qFuzzyCompare(domain1.m_maxY, domain2.m_maxY)
&& qFuzzyCompare(domain1.m_minX, domain2.m_minX)
&& qFuzzyCompare(domain1.m_minY, domain2.m_minY));
Michal Klocek
Add overloaded comparison operators to domain
r220 }
Michal Klocek
Another attempt to fix issue with visual sutudio hidden export attributes in domain
r1066
Marek Rosa
Domains added
r2275 bool QTCOMMERCIALCHART_AUTOTEST_EXPORT operator!= (const XYDomain &domain1, const XYDomain &domain2)
Michal Klocek
Add overloaded comparison operators to domain
r220 {
return !(domain1 == domain2);
}
Michal Klocek
Another attempt to fix issue with visual sutudio hidden export attributes in domain
r1066
Marek Rosa
Domains added
r2275 QDebug QTCOMMERCIALCHART_AUTOTEST_EXPORT operator<<(QDebug dbg, const XYDomain &domain)
Michal Klocek
Adds debug operator to domain
r222 {
Titta Heikkala
Fix Chart build when QT_NO_TEXTSTREAM is defined...
r2620 #ifdef QT_NO_TEXTSTREAM
Q_UNUSED(domain)
#else
Marek Rosa
Domains added
r2275 dbg.nospace() << "AbstractDomain(" << domain.m_minX << ',' << domain.m_maxX << ',' << domain.m_minY << ',' << domain.m_maxY << ')' << domain.m_size;
Titta Heikkala
Fix Chart build when QT_NO_TEXTSTREAM is defined...
r2620 #endif
Michal Klocek
Adds debug operator to domain
r222 return dbg.maybeSpace();
}
Marek Rosa
Domains added
r2275 #include "moc_xydomain_p.cpp"
Michal Klocek
Refactor domain model...
r439
Michal Klocek
Refactors qchart , adds line animation...
r131 QTCOMMERCIALCHART_END_NAMESPACE