#include "StdAfx.h"
|
#include "MBSelObjMgr.h"
|
#include "MBCabinetInfo.h"
|
#include "MBCatalogInfo.h"
|
#include "MBPsnCabinetInfo.h"
|
#include "MBPsnCatalogInfo.h"
|
|
CMBSelObjMgr::CMBSelObjMgr(void)
|
{
|
m_pSelDocMgr = new CMBSelDocMgr();
|
m_pSelCatalogMgr = new CMBSelCatalogMgr();
|
}
|
|
CMBSelObjMgr::~CMBSelObjMgr(void)
|
{
|
m_pSelDocMgr->EmptyContainer();
|
m_pSelCatalogMgr->EmptyContainer();
|
if( m_pSelDocMgr != NULL )
|
{
|
delete m_pSelDocMgr;
|
m_pSelDocMgr = NULL;
|
}
|
if( m_pSelCatalogMgr != NULL )
|
{
|
delete m_pSelCatalogMgr;
|
m_pSelCatalogMgr = NULL;
|
}
|
}
|
|
CMBSelDocMgr *CMBSelObjMgr::GetDocMgr()
|
{
|
return m_pSelDocMgr;
|
}
|
|
CMBSelCatalogMgr *CMBSelObjMgr::GetCatalogMgr()
|
{
|
return m_pSelCatalogMgr;
|
}
|
|
|
CString CMBSelObjMgr::GetObjXml()
|
{
|
return m_pSelDocMgr->GetObjXml() + m_pSelCatalogMgr->GetObjXml();
|
}
|
|
// ÒÆ³ýÑ¡Ôñ£¬À´×Ô¶ÔÏó
|
void CMBSelObjMgr::RemoveSelFromObj( CMBBaseObj *pBaseObj )
|
{
|
if( pBaseObj == NULL )
|
return ;
|
|
CMBBaseDocObjVector vecotrDocObj;
|
CMBBaseDocObjVector::iterator itDoc;
|
CMBBaseDocObj *pDocObj = NULL;
|
|
CMBBaseCatalogObjVector vectorCatalogObj;
|
CMBBaseCatalogObjVector::iterator itCatalog;
|
CMBBaseCatalogObj *pCatalogObj = NULL;
|
|
if( pBaseObj->IsKindOf(RUNTIME_CLASS(CMBCabinetInfo)) )
|
{
|
CMBCabinetInfo *pCabinetInfo = (CMBCabinetInfo *)pBaseObj;
|
|
|
m_pSelDocMgr->GetDocObjVector( vecotrDocObj);
|
|
for( itDoc = vecotrDocObj.begin();itDoc != vecotrDocObj.end();itDoc++ )
|
{
|
pDocObj = *itDoc;
|
pCabinetInfo->RemoveDocInfoOnCabinet((CMBDocInfo*)pDocObj);
|
}
|
|
m_pSelCatalogMgr->GetCatalogObjVector(vectorCatalogObj);
|
|
for( itCatalog = vectorCatalogObj.begin();itCatalog != vectorCatalogObj.end();itCatalog++ )
|
{
|
pCatalogObj = *itCatalog;
|
pCabinetInfo->RemoveCatalogInfoOnCabinet((CMBCatalogInfo*)pCatalogObj);
|
}
|
}
|
else if( pBaseObj->IsKindOf(RUNTIME_CLASS(CMBCatalogInfo)) )
|
{
|
CMBCatalogInfo *pCatalogInfo = (CMBCatalogInfo *)pBaseObj;
|
|
m_pSelDocMgr->GetDocObjVector( vecotrDocObj);
|
|
for( itDoc = vecotrDocObj.begin();itDoc != vecotrDocObj.end();itDoc++ )
|
{
|
pDocObj = *itDoc;
|
pCatalogInfo->RemoveDocInfoOnCatalog((CMBDocInfo*)pDocObj);
|
}
|
|
m_pSelCatalogMgr->GetCatalogObjVector(vectorCatalogObj);
|
|
for( itCatalog = vectorCatalogObj.begin();itCatalog != vectorCatalogObj.end();itCatalog++ )
|
{
|
pCatalogObj = *itCatalog;
|
pCatalogInfo->RemoveCatalogInfoOnCatalog((CMBCatalogInfo*)pCatalogObj);
|
}
|
}
|
else if( pBaseObj->IsKindOf(RUNTIME_CLASS(CMBPsnCabinetInfo)) )
|
{
|
CMBPsnCabinetInfo *pPsnCabinetInfo = (CMBPsnCabinetInfo *)pBaseObj;
|
|
m_pSelDocMgr->GetDocObjVector( vecotrDocObj);
|
|
for( itDoc = vecotrDocObj.begin();itDoc != vecotrDocObj.end();itDoc++ )
|
{
|
pDocObj = *itDoc;
|
pPsnCabinetInfo->RemoveDocInfoOnCabinet((CMBPsnDocInfo*)pDocObj);
|
}
|
|
m_pSelCatalogMgr->GetCatalogObjVector(vectorCatalogObj);
|
|
for( itCatalog = vectorCatalogObj.begin();itCatalog != vectorCatalogObj.end();itCatalog++ )
|
{
|
pCatalogObj = *itCatalog;
|
pPsnCabinetInfo->RemoveCatalogInfoOnCabinet((CMBPsnCatalogInfo*)pCatalogObj);
|
}
|
}
|
else if( pBaseObj->IsKindOf(RUNTIME_CLASS(CMBPsnCatalogInfo)) )
|
{
|
CMBPsnCatalogInfo *pPsnCatalogInfo = (CMBPsnCatalogInfo *)pBaseObj;
|
|
m_pSelDocMgr->GetDocObjVector( vecotrDocObj);
|
|
for( itDoc = vecotrDocObj.begin();itDoc != vecotrDocObj.end();itDoc++ )
|
{
|
pDocObj = *itDoc;
|
pPsnCatalogInfo->RemoveDocInfoOnCatalog((CMBPsnDocInfo*)pDocObj);
|
}
|
|
m_pSelCatalogMgr->GetCatalogObjVector(vectorCatalogObj);
|
|
for( itCatalog = vectorCatalogObj.begin();itCatalog != vectorCatalogObj.end();itCatalog++ )
|
{
|
pCatalogObj = *itCatalog;
|
pPsnCatalogInfo->RemoveCatalogInfoOnCatalog((CMBPsnCatalogInfo*)pCatalogObj);
|
}
|
}
|
|
}
|