From d73b7a2fff29aa94ca331957685869367f8788ac Mon Sep 17 00:00:00 2001 From: Tristan Youngs Date: Wed, 22 Jan 2025 13:56:54 +0000 Subject: [PATCH] Add remove function for Data1D. --- src/widget.cpp | 18 ++++++++++++++++++ src/widget.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/widget.cpp b/src/widget.cpp index 5111a3a..a183827 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -204,6 +204,24 @@ Data1DEntity *MildredWidget::addData1D(const QString &tag) return entity; } +// Remove data entity with the supplied data +bool MildredWidget::removeData1D(const QString &tag) +{ + // Check for existing tag + auto it = std::find_if(dataEntities_.begin(), dataEntities_.end(), [tag](const auto &d) { return tag == d.first; }); + if (it == dataEntities_.end()) + { + qDebug() << QString("Data with tag '%1' does not exist, so it can't be removed from the plot.\n").arg(it->first); + return false; + } + auto &[entityTag, entity] = *it; + + entity->setParent(static_cast(nullptr)); + dataEntities_.erase(it); + + return true; +} + /* * Grouping */ diff --git a/src/widget.h b/src/widget.h index 44a063e..c983d08 100644 --- a/src/widget.h +++ b/src/widget.h @@ -206,6 +206,8 @@ class MildredWidget : public QWidget public: // Add new data entity for supplied data Data1DEntity *addData1D(const QString &tag); + // Remove data entity with the supplied data + bool removeData1D(const QString &tag); /* * Grouping