#include "stdafx.h" #include "AecApDocManagerReactor.h" #include "AecAcDbDatabaseReactor.h" AecApDocManagerReactor::AecApDocManagerReactor() { if (acDocManager) { acDocManager->addReactor(this); m_pDbReactor = new AecAcDbDatabaseReactor; AcApDocumentIterator *pIt = acDocManager->newAcApDocumentIterator(); if (pIt != NULL) { for (; !pIt->done(); pIt->step()) { AcApDocument *pDoc = pIt->document(); if (pDoc != NULL) { pDoc->database()->addReactor(m_pDbReactor); } } delete pIt; } } } AecApDocManagerReactor::~AecApDocManagerReactor() { if (acDocManager) acDocManager->removeReactor(this); delete m_pDbReactor; } void AecApDocManagerReactor::documentCreated(AcApDocument *pDocCreating) { if (pDocCreating != NULL) { //acutPrintf(_T("\nAecApDocManagerReactor::documentCreated!!!")); pDocCreating->database()->addReactor(m_pDbReactor); } } void AecApDocManagerReactor::documentToBeDestroyed(AcApDocument *pDocToDestroy) { if (pDocToDestroy != NULL) { //acutPrintf(_T("\nAecApDocManagerReactor::documentToBeDestroyed!!!")); pDocToDestroy->database()->removeReactor(m_pDbReactor); } } //安装 AecApDocManagerReactor docReactor;