diff options
Diffstat (limited to 'src/datavis3d/axis/qcategoryaxis.cpp')
-rw-r--r-- | src/datavis3d/axis/qcategoryaxis.cpp | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/src/datavis3d/axis/qcategoryaxis.cpp b/src/datavis3d/axis/qcategoryaxis.cpp index 80dc8fdb..aa3e2cc9 100644 --- a/src/datavis3d/axis/qcategoryaxis.cpp +++ b/src/datavis3d/axis/qcategoryaxis.cpp @@ -55,26 +55,10 @@ QCategoryAxis::~QCategoryAxis() void QCategoryAxis::setLabels(const QStringList &labels) { - int newSize(labels.size()); - int oldSize(d_ptr->m_labels.size()); - - for (int i = newSize; i < oldSize; i++) - delete d_ptr->m_labelItems.takeLast(); - - d_ptr->m_labelItems.reserve(newSize); - - if (d_ptr->m_drawer) { - for (int i = 0; i < newSize; i++) { - if (i >= oldSize) - d_ptr->m_labelItems.append(new LabelItem); - if (labels.at(i).isEmpty()) - d_ptr->m_labelItems[i]->clear(); - else if (i >= oldSize || labels.at(i) != d_ptr->m_labels.at(i)) - d_ptr->m_drawer->generateLabelItem(*d_ptr->m_labelItems[i], labels.at(i)); - } + if (d_ptr->m_labels != labels) { + d_ptr->m_labels = labels; + emit labelsChanged(); } - - d_ptr->m_labels = labels; } QCategoryAxisPrivate *QCategoryAxis::dptr() @@ -91,14 +75,4 @@ QCategoryAxisPrivate::~QCategoryAxisPrivate() { } -void QCategoryAxisPrivate::updateLabels() -{ - for (int i = 0; i < m_labels.size(); i++) { - if (m_labels.at(i).isEmpty()) - m_labelItems[i]->clear(); - else - m_drawer->generateLabelItem(*m_labelItems[i], m_labels.at(i)); - } -} - QT_DATAVIS3D_END_NAMESPACE |