#include "wx/treebook.h"
#include "wx/imaglist.h"
+#include "wx/xml/xml.h"
+
IMPLEMENT_DYNAMIC_CLASS(wxTreebookXmlHandler, wxXmlResourceHandler)
wxTreebookXmlHandler::wxTreebookXmlHandler()
GetStyle(wxT("style")),
GetName());
+ wxImageList *imagelist = GetImageList();
+ if ( imagelist )
+ tbk->AssignImageList(imagelist);
+
wxTreebook * old_par = m_tbk;
m_tbk = tbk;
CreateChildren(m_tbk, true/*only this handler*/);
+ wxXmlNode *node = GetParamNode("object");
+ int pageIndex = 0;
+ for (unsigned int i = 0; i < m_tbk->GetPageCount(); i++)
+ {
+ if ( m_tbk->GetPage(i) )
+ {
+ wxXmlNode *child = node->GetChildren();
+ while (child)
+ {
+ if (child->GetName() == "expanded" && child->GetNodeContent() == "1")
+ m_tbk->ExpandNode(pageIndex, true);
+
+ child = child->GetNext();
+ }
+ pageIndex++;
+ }
+ }
+
m_treeContext = old_treeContext;
m_isInside = old_ins;
m_tbk = old_par;
}
imgIndex = imgList->Add(bmp);
}
+ else if ( HasParam(wxT("image")) )
+ {
+ if ( m_tbk->GetImageList() )
+ {
+ imgIndex = GetLong(wxT("image"));
+ }
+ else // image without image list?
+ {
+ ReportError(n, "image can only be used in conjunction "
+ "with imagelist");
+ }
+ }
// then add the page to the corresponding parent
if( depth < m_treeContext.GetCount() )