##// END OF EJS Templates
QBarCategoryAxis doesn't notify domain on category remove...
Mika Salmela -
r2558:0bd3eac43e23
parent child
Show More
@@ -248,7 +248,6 void QBarCategoryAxis::remove(const QString &category)
248 setRange(d->m_minCategory, d->m_categories.last());
248 setRange(d->m_minCategory, d->m_categories.last());
249 } else {
249 } else {
250 d->updateCategoryDomain();
250 d->updateCategoryDomain();
251 //TODO:: d->emitUpdated();
252 }
251 }
253 } else {
252 } else {
254 setRange(QString::null, QString::null);
253 setRange(QString::null, QString::null);
@@ -282,7 +281,6 void QBarCategoryAxis::insert(int index, const QString &category)
282 setRange(d->m_minCategory, d->m_categories.last());
281 setRange(d->m_minCategory, d->m_categories.last());
283 } else {
282 } else {
284 d->updateCategoryDomain();
283 d->updateCategoryDomain();
285 //TODO:: d->emitUpdated();
286 }
284 }
287
285
288 emit categoriesChanged();
286 emit categoriesChanged();
@@ -302,13 +300,11 void QBarCategoryAxis::replace(const QString &oldCategory, const QString &newCat
302
300
303 if (pos != -1 && !d->m_categories.contains(newCategory) && !newCategory.isNull()) {
301 if (pos != -1 && !d->m_categories.contains(newCategory) && !newCategory.isNull()) {
304 d->m_categories.replace(pos, newCategory);
302 d->m_categories.replace(pos, newCategory);
305 if (d->m_minCategory == oldCategory) {
303 if (d->m_minCategory == oldCategory)
306 setRange(newCategory, d->m_maxCategory);
304 setRange(newCategory, d->m_maxCategory);
307 } else if (d->m_maxCategory == oldCategory) {
305 else if (d->m_maxCategory == oldCategory)
308 setRange(d->m_minCategory, newCategory);
306 setRange(d->m_minCategory, newCategory);
309 } else {
307
310 //TODO:: d->emitUpdated();
311 }
312 emit categoriesChanged();
308 emit categoriesChanged();
313 emit countChanged();
309 emit countChanged();
314 }
310 }
@@ -562,9 +558,22 void QBarCategoryAxisPrivate::initializeGraphics(QGraphicsItem* parent)
562
558
563 void QBarCategoryAxisPrivate::updateCategoryDomain()
559 void QBarCategoryAxisPrivate::updateCategoryDomain()
564 {
560 {
565 m_min = m_categories.indexOf(m_minCategory) - 0.5;
561 bool changed = false;
566 m_max = m_categories.indexOf(m_maxCategory) + 0.5;
562
563 qreal tmpMin = m_categories.indexOf(m_minCategory) - 0.5;
564 if (!qFuzzyIsNull(m_min - tmpMin)) {
565 m_min = tmpMin;
566 changed = true;
567 }
568 qreal tmpMax = m_categories.indexOf(m_maxCategory) + 0.5;
569 if (!qFuzzyIsNull(m_max - tmpMax)) {
570 m_max = tmpMax;
571 changed = true;
572 }
567 m_count = m_max - m_min;
573 m_count = m_max - m_min;
574
575 if (changed)
576 emit rangeChanged(m_min,m_max);
568 }
577 }
569
578
570
579
General Comments 0
You need to be logged in to leave comments. Login now