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