#include "StdAfx.h" #include "MBGridStyleAttrMgr.h" IMPLEMENT_DYNAMIC(CMBGridStyleAttrMgr, CMBAbstBaseObj) CMBGridStyleAttrMgr::CMBGridStyleAttrMgr(void) { RemoveAllAttr(); } CMBGridStyleAttrMgr::~CMBGridStyleAttrMgr(void) { RemoveAllAttr(); } void CMBGridStyleAttrMgr::GetAttrMap( CMBGridStyleAttrMap &mapAttr) { mapAttr.clear(); mapAttr = m_mapAttr; } void CMBGridStyleAttrMgr::GetAttrVector( CMBGridStyleAttrVector &vectorAttr) { vectorAttr.clear(); vectorAttr = m_vectorAttr; } CMBGridStyleAttr *CMBGridStyleAttrMgr::GetAttr( CString strAttr ) { if( strAttr.IsEmpty() ) return NULL; CMBGridStyleAttrMap::iterator it; CMBGridStyleAttr *pAttr = NULL; it = m_mapAttr.find(strAttr); if( it!= m_mapAttr.end() ) pAttr = it->second; return pAttr; } bool CMBGridStyleAttrMgr::AddAttr( CMBGridStyleAttr *pAttr ) { if( NULL == pAttr || pAttr->m_strAttr.IsEmpty() ) return false; CMBGridStyleAttrMap::iterator it; CString strName; strName = pAttr->m_strAttr; it = m_mapAttr.find(strName); // Èç¹ûÕҵõ½ ·µ»Ø if( it != m_mapAttr.end() ) return false; m_mapAttr[strName] = pAttr; m_vectorAttr.push_back(pAttr); return true; } bool CMBGridStyleAttrMgr::RemoveAllAttr() { CMBGridStyleAttrMap::iterator it; CMBGridStyleAttr *pAttr = NULL; for( it = m_mapAttr.begin();it != m_mapAttr.end();it++ ) { pAttr = it->second; delete pAttr; pAttr = NULL; } m_mapAttr.clear(); m_vectorAttr.clear(); return true; } int CMBGridStyleAttrMgr::GetIndex( CString strAttr ) { int nSize = m_vectorAttr.size(); for( int i= 0;i < nSize;i++ ) { CMBGridStyleAttr *pAttr = m_vectorAttr[i]; if( pAttr->m_strAttr == strAttr ) return i; } return -1; }