]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_treebk.cpp
Virtualize StartEditor and add implementations for the ports that can do it.
[wxWidgets.git] / src / xrc / xh_treebk.cpp
index d3d427dfba7f35fed7cfa7197b1b01177c74ca15..efc5c36f99df5cf1fe9f731d50617a972a0ed61e 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;
 
@@ -95,7 +99,9 @@ wxObject *wxTreebookXmlHandler::DoCreateResource()
         wnd = wxDynamicCast(item, wxWindow);
 
         if (wnd == NULL && item != NULL)
-            wxLogError(wxT("Error in resource: control within treebook's <page> tag is not a window."));
+        {
+            ReportError(n, "treebookpage child must be a window");
+        }
     }
 
     size_t depth = GetLong( wxT("depth") );
@@ -115,6 +121,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() )
@@ -134,7 +152,10 @@ wxObject *wxTreebookXmlHandler::DoCreateResource()
 
     }
     else
-        wxLogError(wxT("Error in resource. wxTreebookPage has an invalid depth."));
+    {
+        ReportParamError("depth", "invalid depth");
+    }
+
     return wnd;
 }