diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-08-28 14:55:50 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-08-29 08:24:43 +0300 |
commit | 89007c36f04fb965167501a0d473451976548da3 (patch) | |
tree | 7289354f1ed9b63ec14d78cd6664dd0d0bbba8af /src/datavis3d/engine/axisrendercache.cpp | |
parent | 5bbd3b72540fd24ecb4538627e01bffe3d03acc6 (diff) |
Make axes ownership more useful
Chart can now own multiple axes while showing only one.
Default axes are no longer modifiable by users.
Task-number: QTRD-2212
Change-Id: I028f0d7539dbbf6e3474680290c7ec6bba5a4223
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavis3d/engine/axisrendercache.cpp')
-rw-r--r-- | src/datavis3d/engine/axisrendercache.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/datavis3d/engine/axisrendercache.cpp b/src/datavis3d/engine/axisrendercache.cpp index 4374d545..0ca92247 100644 --- a/src/datavis3d/engine/axisrendercache.cpp +++ b/src/datavis3d/engine/axisrendercache.cpp @@ -52,11 +52,21 @@ void AxisRenderCache::setType(QAbstractAxis::AxisType type) { m_type = type; - // If type is set, it means completely new axis instance, so clear all generated label items. + // If type is set, it means completely new axis instance, so clear all old data + m_labels.clear(); + m_title.clear(); + m_min = 0.0; + m_max = 10.0; + m_segmentCount = 5; + m_subSegmentCount = 1; + m_labelFormat.clear(); + m_titleItem.clear(); foreach (LabelItem *label, m_labelItems) delete label; m_labelItems.clear(); + m_segmentStep = 10.0f; + m_subSegmentStep = 10.0f; } void AxisRenderCache::setTitle(const QString &title) @@ -80,10 +90,10 @@ void AxisRenderCache::setLabels(const QStringList &labels) m_labelItems.reserve(newSize); - if (m_drawer) { - for (int i = 0; i < newSize; i++) { - if (i >= oldSize) - m_labelItems.append(new LabelItem); + for (int i = 0; i < newSize; i++) { + if (i >= oldSize) + m_labelItems.append(new LabelItem); + if (m_drawer) { if (labels.at(i).isEmpty()) m_labelItems[i]->clear(); else if (i >= oldSize || labels.at(i) != m_labels.at(i)) |