summaryrefslogtreecommitdiffstats
path: root/src/charts/domain/abstractdomain.cpp
diff options
context:
space:
mode:
authorLukas Kosinski <lukasz@scythe-studio.com>2021-05-18 15:28:02 +0200
committerLukas Kosinski <lukasz@scythe-studio.com>2021-06-03 14:16:15 +0200
commit3fadbefd2e12e1d3bf1a0bc240d92202926c4889 (patch)
tree0e804fc6485a3e4bb7d8830730a6eb0118a0a65b /src/charts/domain/abstractdomain.cpp
parent0d9811775fbf82d0630b8725806fe229694e2449 (diff)
Add colorBy method to QXYSeries and QColorAxis
This feature adds the availability to pass list of values that will be used to colorize points using points configuration feature according to the gradient. Gradient can be either set when calling the colorBy method or can be taken from attached QColorAxis. QColorAxis displays color scale widget with ticks and range based on data passed as colorBy method's parameter. Task-number: QTBUG-89447 Change-Id: I611048fac0e787e0a1eeaf181c5d8e8a8354fac5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/charts/domain/abstractdomain.cpp')
-rw-r--r--src/charts/domain/abstractdomain.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/charts/domain/abstractdomain.cpp b/src/charts/domain/abstractdomain.cpp
index 48014aa2..263c72a4 100644
--- a/src/charts/domain/abstractdomain.cpp
+++ b/src/charts/domain/abstractdomain.cpp
@@ -210,16 +210,26 @@ qreal AbstractDomain::niceNumber(qreal x, bool ceiling)
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)));
+ // Color axis isn't connected to range-related slots/signals as it doesn't need
+ // geometry domain and it doesn't need to handle zooming or scrolling.
+ if (axis->type() != QAbstractAxis::AxisTypeColor) {
+ 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)));
+ }
QObject::connect(axis, &QAbstractAxis::reverseChanged,
this, &AbstractDomain::handleReverseYChanged);
m_reverseY = axis->isReverse();
}
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)));
+ if (axis->type() != QAbstractAxis::AxisTypeColor) {
+ 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)));
+ }
QObject::connect(axis, &QAbstractAxis::reverseChanged,
this, &AbstractDomain::handleReverseXChanged);
m_reverseX = axis->isReverse();