53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
#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; |