www.pudn.com > zfxcengine-0.1.0.zip > ceGUIElementFactory.cpp


// $Id: ceGUIElementFactory.cpp,v 1.2 2005/08/27 11:44:43 kimmi Exp $  
//////////////////////////////////////////////////////////////////////////////// 
// 
//	Module:		GUI 
//	File:		ceGUIElementFactory.cpp 
//	Created:	17.08.2005 
//	Author:		Kim Kulling aka kimmi 
//	Licence:    See licence file in root 
//	Last Mod:   $Id: ceGUIElementFactory.cpp,v 1.2 2005/08/27 11:44:43 kimmi Exp $ 
// 
//////////////////////////////////////////////////////////////////////////////// 
#include "GUI/ceGUIElementFactory.h" 
#include "GUI/ceFont.h" 
 
namespace ZFXCE { 
namespace GUI { 
	//------------------------------------------------------------------------------ 
	ceGUIElementFactory::ceGUIElementFactory() 
	{ 
		PUSH_FUNCTION; 
 
		// empty 
	} 
	//------------------------------------------------------------------------------ 
	ceGUIElementFactory::~ceGUIElementFactory() 
	{ 
		PUSH_FUNCTION; 
		ReleaseAll(); 
	} 
	//------------------------------------------------------------------------------ 
	ceIGUIElement *ceGUIElementFactory::CreateInstance(eGUIElementType Type) 
	{ 
		PUSH_FUNCTION; 
		switch (Type) { 
		case CE_GUITEXT: 
			ceIGUIElement *pElement = new ceFont(); 
			ce_assert (NULL != pElement); 
			m_vElements.push_back(pElement); 
			return pElement; 
		} 
		 
		return NULL; 
	} 
	//------------------------------------------------------------------------------ 
	void ceGUIElementFactory::ReleaseAll() 
	{ 
		PUSH_FUNCTION; 
		for (std::vector::iterator it = m_vElements.begin();  
			it != m_vElements.end(); ++it)   
			delete (*it); 
		m_vElements.clear(); 
	} 
	//------------------------------------------------------------------------------ 
 
} // Namespace GUI 
} // Namespace ZFXCE