diff --git a/src/axis/categoriesaxis/qbarcategoriesaxis.cpp b/src/axis/categoriesaxis/qbarcategoriesaxis.cpp index 926144c..5cc4fd6 100644 --- a/src/axis/categoriesaxis/qbarcategoriesaxis.cpp +++ b/src/axis/categoriesaxis/qbarcategoriesaxis.cpp @@ -205,6 +205,21 @@ void QBarCategoriesAxis::insert(int index, const QString &category) } /*! + Replaces \a oldCategory with \a newCategory. + If \a oldCategory does not exits on the axis nothing is done. +*/ +void QBarCategoriesAxis::replace(const QString &oldCategory, const QString &newCategory) +{ + Q_D(QBarCategoriesAxis); + int pos = d->m_categories.indexOf(oldCategory); + if (pos != -1) { + d->m_categories.replace(pos, newCategory); + d->emitUpdated(); + emit categoriesChanged(); + } +} + +/*! Removes all categories. */ void QBarCategoriesAxis::clear() diff --git a/src/axis/categoriesaxis/qbarcategoriesaxis.h b/src/axis/categoriesaxis/qbarcategoriesaxis.h index 03fe182..3c06356 100644 --- a/src/axis/categoriesaxis/qbarcategoriesaxis.h +++ b/src/axis/categoriesaxis/qbarcategoriesaxis.h @@ -47,6 +47,7 @@ public: void append(const QString &category); void remove(const QString &category); void insert(int index, const QString &category); + void replace(const QString &oldCategory, const QString &newCategory); void clear(); void setCategories(const QStringList &categories); QStringList categories();