#include "StdAfx.h" #include "EtUIDialogGroup.h" #ifdef _DEBUG #define new new(_NORMAL_BLOCK,__FILE__,__LINE__) #endif CEtUIDialogGroup::CEtUIDialogGroup(void) : m_pShowDialog(NULL) , m_dwShowDialogID(UINT_MAX) { } CEtUIDialogGroup::~CEtUIDialogGroup(void) { int nVecSize = (int)m_vecDialog.size(); for( int i=0; iShow( false ); } void CEtUIDialogGroup::AddDialog( DWORD dwDialogID, CEtUIDialog *pDialog ) { ASSERT(pDialog&&"CEtUIDialogGroup::AddDialog, pDialog is NULL!"); m_vecDialog.push_back( ID_DIALOG_PAIR( dwDialogID, pDialog ) ); } bool CEtUIDialogGroup::ChangeDialog( DWORD dwDialogID, CEtUIDialog *pDialog ) { ASSERT(pDialog&&"CEtUIDialogGroup::ChangeDialog, pDialog is NULL!"); int nVecSize = (int)m_vecDialog.size(); for( int i=0; iIsShow(); } } return false; } void CEtUIDialogGroup::ShowDialog( DWORD dwDialogID, bool bShow, bool bCloseAll ) { CEtUIDialog *pDialog(NULL); CEtUIDialog *pParentDialog(NULL); int nVecSize = (int)m_vecDialog.size(); for( int i=0; iGetParentDialog(); if( pParentDialog ) { pParentDialog->ShowChildDialog( id_dlg_pair.second, false ); } else { id_dlg_pair.second->Show( false ); } } } if( pDialog ) { pParentDialog = pDialog->GetParentDialog(); if( pParentDialog ) { pParentDialog->ShowChildDialog( pDialog, bShow ); } else { pDialog->Show( bShow ); } if( bShow ) { m_dwShowDialogID = dwDialogID; m_pShowDialog = pDialog; } else { m_dwShowDialogID = UINT_MAX; m_pShowDialog = NULL; } } } CEtUIDialog* CEtUIDialogGroup::GetDialog( DWORD dwDialogID ) { int nVecSize = (int)m_vecDialog.size(); for( int i=0; iShow(false); } m_dwShowDialogID = UINT_MAX; m_pShowDialog = NULL; } CEtUIDialog* CEtUIDialogGroup::GetDialogFromIndex( int nIndex ) { ID_DIALOG_PAIR &id_dlg_pair = m_vecDialog[nIndex]; return id_dlg_pair.second; } void CEtUIDialogGroup::MoveDialog( float fX, float fY ) { int nVecSize = (int)m_vecDialog.size(); for( int i=0; iMoveDialog( fX, fY ); } }