#include "headers.h" CSkinComplexObject::CSkinComplexObject(): m_children(5) { } CSkinComplexObject::~CSkinComplexObject() { for (int i = 0; i < m_children.getCount(); ++i) m_children[i]->Destroy(); m_children.destroy(); } void CSkinComplexObject::LoadFromXml(HXML hXml) { CSkinObject::LoadFromXml(hXml); int nChildren = xi.getChildCount(hXml); for (int i = 0; i < nChildren; ++i) { HXML hChild = xi.getChild(hXml, i); if (ISkinElement *obj = SkinCreateObjectFromXml(hChild, m_ds)) m_children.insert(obj, m_children.getCount()); } } bool CSkinComplexObject::IsComplexObject() { return true; } int CSkinComplexObject::GetChildCount() { return m_children.getCount(); } ISkinElement *CSkinComplexObject::GetChild(int index) { return (index >= 0 && index < m_children.getCount()) ? m_children[index] : NULL; } bool CSkinComplexObject::AppendChild(ISkinElement *child) { m_children.insert(child, m_children.getCount()); child->SetParent(this); return true; } bool CSkinComplexObject::InsertChild(ISkinElement *child, int index) { m_children.insert(child, index); child->SetParent(this); return true; } void CSkinComplexObject::RemoveChild(ISkinElement *child) { m_children.remove(child); }