X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/819559b2ac7d2250097ce0b1d9d443164752be09..9db177273906bb393b97b4a98f6a8b4d61e8f0e3:/src/xrc/xh_treebk.cpp diff --git a/src/xrc/xh_treebk.cpp b/src/xrc/xh_treebk.cpp index cd199b7bb6..591d8c50f0 100644 --- a/src/xrc/xh_treebk.cpp +++ b/src/xrc/xh_treebk.cpp @@ -61,6 +61,10 @@ wxObject *wxTreebookXmlHandler::DoCreateResource() GetStyle(wxT("style")), GetName()); + wxImageList *imagelist = GetImageList(); + if ( imagelist ) + tbk->AssignImageList(imagelist); + wxTreebook * old_par = m_tbk; m_tbk = tbk; @@ -72,6 +76,24 @@ wxObject *wxTreebookXmlHandler::DoCreateResource() 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; @@ -117,6 +139,18 @@ wxObject *wxTreebookXmlHandler::DoCreateResource() } 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() )