diff --git a/core/include/Visualization/VisualizationController.h b/core/include/Visualization/VisualizationController.h index 9664fe6..97937e6 100644 --- a/core/include/Visualization/VisualizationController.h +++ b/core/include/Visualization/VisualizationController.h @@ -26,6 +26,8 @@ public: virtual ~VisualizationController(); signals: + /// Signal emitted when a variable is about to be deleted from SciQlop + void variableAboutToBeDeleted(std::shared_ptr variable); /// Signal emitted when a variable has been created in SciQlop void variableCreated(std::shared_ptr variable); diff --git a/core/src/Variable/VariableController.cpp b/core/src/Variable/VariableController.cpp index b156724..c0c8034 100644 --- a/core/src/Variable/VariableController.cpp +++ b/core/src/Variable/VariableController.cpp @@ -89,6 +89,9 @@ void VariableController::deleteVariable(std::shared_ptr variable) noex return; } + // Spreads in SciQlop that the variable will be deleted, so that potential receivers can + // make some treatments before the deletion + emit variableAboutToBeDeleted(variable); // Deletes provider auto nbProvidersDeleted = impl->m_VariableToProviderMap.erase(variable);