diff --git a/gui/include/Visualization/VisualizationWidget.h b/gui/include/Visualization/VisualizationWidget.h index ca05116..378b3e3 100644 --- a/gui/include/Visualization/VisualizationWidget.h +++ b/gui/include/Visualization/VisualizationWidget.h @@ -38,6 +38,9 @@ public slots: void attachVariableMenu(QMenu *menu, const QVector > &variables) noexcept; + /// Slot called when a variable is about to be deleted from SciQlop + void onVariableAboutToBeDeleted(std::shared_ptr variable) noexcept; + private: Ui::VisualizationWidget *ui; }; diff --git a/gui/src/Visualization/VisualizationWidget.cpp b/gui/src/Visualization/VisualizationWidget.cpp index 315e12f..2b29114 100644 --- a/gui/src/Visualization/VisualizationWidget.cpp +++ b/gui/src/Visualization/VisualizationWidget.cpp @@ -4,6 +4,7 @@ #include "Visualization/VisualizationTabWidget.h" #include "Visualization/VisualizationZoneWidget.h" #include "Visualization/operations/GenerateVariableMenuOperation.h" +#include "Visualization/operations/RemoveVariableOperation.h" #include "Visualization/qcustomplot.h" #include "ui_VisualizationWidget.h" @@ -133,3 +134,10 @@ void VisualizationWidget::attachVariableMenu( "selected"); } } + +void VisualizationWidget::onVariableAboutToBeDeleted(std::shared_ptr variable) noexcept +{ + // Calls the operation of removing all references to the variable in the visualization + auto removeVariableOperation = RemoveVariableOperation{variable}; + accept(&removeVariableOperation); +}