summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/engine/axisrendercache.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-28 14:55:50 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-29 08:24:43 +0300
commit89007c36f04fb965167501a0d473451976548da3 (patch)
tree7289354f1ed9b63ec14d78cd6664dd0d0bbba8af /src/datavis3d/engine/axisrendercache.cpp
parent5bbd3b72540fd24ecb4538627e01bffe3d03acc6 (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.cpp20
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))