Hi Clement,
To listen to the document closed signal I connect my nodes to a custom signal like this:
SB_FOR(SBNode* node, atomIndexer) node->connectBaseSignalToSlot(this, SB_SLOT(&SENormalModesAnalysisApp::onBaseEvent));
Then, in my onBaseEvent
function I catch the NodeEraseBegin
event which corresponds to the signal emitted when the document is closed or the nodes erased.
void SENormalModesAnalysisApp::onBaseEvent(SBBaseEvent* event) {
if (event->getType() == SBBaseEvent::NodeEraseBegin) {
SB_FOR(SBNode* node, atomIndexer)
{node->disconnectBaseSignalFromSlot(this, SB_SLOT(&SENormalModesAnalysisApp::onBaseEvent));
}
}
Remember to disconnect the connected nodes.
Hope I answered your question,
Yassine