#include "wx/string.h"
#include "wx/dynarray.h"
#include "wx/datetime.h"
+#include "wx/list.h"
#include "wx/gdicmn.h"
#include "wx/filesys.h"
#include "wx/bitmap.h"
wxXmlResourceDataRecords,
WXDLLIMPEXP_XRC);
-WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxXmlResourceHandler*,
- wxXmlResourceHandlers,
- class WXDLLIMPEXP_XRC);
-
enum wxXmlResourceFlags
{
wxXRC_USE_LOCALE = 1,
long m_version;
int m_flags;
- wxXmlResourceHandlers m_handlers;
+ wxList m_handlers;
wxXmlResourceDataRecords m_data;
#if wxUSE_FILESYSTEM
wxFileSystem m_curFileSystem;
void wxXmlResource::AddHandler(wxXmlResourceHandler *handler)
{
- m_handlers.Add(handler);
+ m_handlers.Append(handler);
handler->SetParentResource(this);
}
void wxXmlResource::InsertHandler(wxXmlResourceHandler *handler)
{
- m_handlers.Insert(handler, 0);
+ m_handlers.Insert(handler);
handler->SetParentResource(this);
}
void wxXmlResource::ClearHandlers()
{
- WX_CLEAR_ARRAY(m_handlers);
+ WX_CLEAR_LIST(wxList, m_handlers);
}
return CreateResFromNode(©, parent, instance);
}
+ wxXmlResourceHandler *handler;
+
if (handlerToUse)
{
if (handlerToUse->CanHandle(node))
+ {
return handlerToUse->CreateResource(node, parent, instance);
+ }
}
else if (node->GetName() == wxT("object"))
{
- for ( wxXmlResourceHandlers::iterator i = m_handlers.begin();
- i != m_handlers.end(); ++i )
+ wxList::compatibility_iterator ND = m_handlers.GetFirst();
+ while (ND)
{
- wxXmlResourceHandler *handler = *i;
+ handler = (wxXmlResourceHandler*)ND->GetData();
if (handler->CanHandle(node))
+ {
return handler->CreateResource(node, parent, instance);
+ }
+ ND = ND->GetNext();
}
}