wxObject *wxNotebookXmlHandler::DoCreateResource()
{
- if (m_Node->GetName() == _T("notebookpage"))
+ if (m_Class == wxT("notebookpage"))
{
- wxXmlNode *n = GetParamNode(_T("window"))->GetChildren();
- while (n)
+ wxXmlNode *n = GetParamNode(wxT("object"));
+
+ if (n)
+ {
+ bool old_ins = m_IsInside;
+ m_IsInside = FALSE;
+ m_IsInside = old_ins;
+ wxObject *item = CreateResFromNode(n, m_Notebook, NULL);
+ wxWindow *wnd = wxDynamicCast(item, wxWindow);
+
+ if (wnd)
+ m_Notebook->AddPage(wnd, GetText(wxT("label")),
+ GetBool(wxT("selected"), 0));
+ else
+ wxLogError(wxT("Error in resource."));
+ return wnd;
+ }
+ else
{
- if (n->GetType() == wxXML_ELEMENT_NODE)
- {
- bool old_ins = m_IsInside;
- m_IsInside = FALSE;
- m_IsInside = old_ins;
- wxObject *item = CreateResFromNode(n, m_Notebook, NULL);
- wxWindow *wnd = wxDynamicCast(item, wxWindow);
-
- if (wnd)
- m_Notebook->AddPage(wnd, GetText(_T("label")),
- GetBool(_T("selected"), 0));
- else
- wxLogError(_T("Error in resource."));
- return wnd;
- }
- n = n->GetNext();
+ wxLogError(wxT("Error in resource: no control within notebook's <page> tag."));
+ return NULL;
}
- wxLogError(_T("Error in resource: no control within notebook's <page> tag."));
- return NULL;
}
else {
wxNotebook *nb = new wxNotebook(m_ParentAsWindow,
GetID(),
GetPosition(), GetSize(),
- GetStyle( _T("style" )),
+ GetStyle( wxT("style" )),
GetName());
wxNotebook *old_par = m_Notebook;
m_IsInside = old_ins;
m_Notebook = old_par;
- if (GetBool(_T("usenotebooksizer"), FALSE))
+ if (GetBool(wxT("usenotebooksizer"), FALSE))
return new wxNotebookSizer(nb);
else
return nb;
bool wxNotebookXmlHandler::CanHandle(wxXmlNode *node)
{
- return ((!m_IsInside && node->GetName() == _T("notebook")) ||
- (m_IsInside && node->GetName() == _T("notebookpage")));
+ return ((!m_IsInside && IsOfClass(node, wxT("wxNotebook"))) ||
+ (m_IsInside && IsOfClass(node, wxT("notebookpage"))));
}
#endif