]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_treebk.cpp
Fix bug in wxFileName::Exists("/").
[wxWidgets.git] / src / xrc / xh_treebk.cpp
index cd199b7bb68c0863f325172f17256a1ac97abeda..591d8c50f0f0b7f6d56df15568c3b9fbaff32010 100644 (file)
@@ -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() )