App: add a function to document observer to be notified if the active document changes

This commit is contained in:
wmayer
2022-01-29 18:33:39 +01:00
parent ecac0b4d0c
commit 4f814afa57
2 changed files with 13 additions and 7 deletions

View File

@@ -656,15 +656,13 @@ DocumentObserver::DocumentObserver() : _document(nullptr)
(&DocumentObserver::slotCreatedDocument, this, sp::_1));
this->connectApplicationDeletedDocument = App::GetApplication().signalDeleteDocument.connect(std::bind
(&DocumentObserver::slotDeletedDocument, this, sp::_1));
this->connectApplicationActivateDocument = App::GetApplication().signalActiveDocument.connect(std::bind
(&DocumentObserver::slotActivateDocument, this, sp::_1));
}
DocumentObserver::DocumentObserver(Document* doc) : _document(nullptr)
DocumentObserver::DocumentObserver(Document* doc) : DocumentObserver()
{
// Connect to application and given document
this->connectApplicationCreatedDocument = App::GetApplication().signalNewDocument.connect(std::bind
(&DocumentObserver::slotCreatedDocument, this, sp::_1));
this->connectApplicationDeletedDocument = App::GetApplication().signalDeleteDocument.connect(std::bind
(&DocumentObserver::slotDeletedDocument, this, sp::_1));
attachDocument(doc);
}
@@ -673,6 +671,7 @@ DocumentObserver::~DocumentObserver()
// disconnect from application and document
this->connectApplicationCreatedDocument.disconnect();
this->connectApplicationDeletedDocument.disconnect();
this->connectApplicationActivateDocument.disconnect();
detachDocument();
}
@@ -720,6 +719,10 @@ void DocumentObserver::slotDeletedDocument(const App::Document& /*Doc*/)
{
}
void DocumentObserver::slotActivateDocument(const App::Document& /*Doc*/)
{
}
void DocumentObserver::slotCreatedObject(const App::DocumentObject& /*Obj*/)
{
}