42 lines
991 B
C++
42 lines
991 B
C++
/////////////////////////////////////////////
|
|
// AcApDocManagerReactor reactors.
|
|
|
|
#include "StdAfx.h"
|
|
#include "StdArx.h"
|
|
#include "dockpane.h"
|
|
extern CDockPane *g_pDockPane;
|
|
|
|
AsdkDocManagerReactor::AsdkDocManagerReactor(const bool autoInitAndRelease)
|
|
{
|
|
m_autoInitAndRelease = autoInitAndRelease;
|
|
if (m_autoInitAndRelease)
|
|
if (NULL != acDocManager)
|
|
acDocManager->addReactor(this);
|
|
else
|
|
m_autoInitAndRelease = false;
|
|
}
|
|
|
|
AsdkDocManagerReactor::~AsdkDocManagerReactor()
|
|
{
|
|
if (m_autoInitAndRelease)
|
|
if (NULL != acDocManager)
|
|
acDocManager->removeReactor(this);
|
|
}
|
|
|
|
void AsdkDocManagerReactor::documentDestroyed(const char *fileName)
|
|
{
|
|
// TODO: implement this function.
|
|
int nDocNum = 0;
|
|
nDocNum = acDocManager->documentCount();
|
|
AcApDocument *pDoc = acDocManager->curDocument();
|
|
if (nDocNum<=1&&g_pDockPane!=NULL)
|
|
{
|
|
|
|
if (g_pDockPane->IsVisible())
|
|
acedGetAcadFrame()->ShowControlBar(g_pDockPane, FALSE, FALSE);
|
|
g_pDockPane->DestroyWindow();
|
|
g_pDockPane = NULL;
|
|
}
|
|
}
|
|
|