X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f25881804583790351480098b50f4ce1b924e697..df135587addaaa316f7ab4606815086ef133e846:/contrib/src/xrc/xh_notbk.cpp diff --git a/contrib/src/xrc/xh_notbk.cpp b/contrib/src/xrc/xh_notbk.cpp index 0a44e451b8..27d6a5ee40 100644 --- a/contrib/src/xrc/xh_notbk.cpp +++ b/contrib/src/xrc/xh_notbk.cpp @@ -27,33 +27,33 @@ #include "wx/notebook.h" #include "wx/sizer.h" +IMPLEMENT_DYNAMIC_CLASS(wxNotebookXmlHandler, wxXmlResourceHandler) + wxNotebookXmlHandler::wxNotebookXmlHandler() : wxXmlResourceHandler(), m_isInside(FALSE), m_notebook(NULL) { - ADD_STYLE(wxNB_FIXEDWIDTH); - ADD_STYLE(wxNB_LEFT); - ADD_STYLE(wxNB_RIGHT); - ADD_STYLE(wxNB_BOTTOM); + XRC_ADD_STYLE(wxNB_FIXEDWIDTH); + XRC_ADD_STYLE(wxNB_LEFT); + XRC_ADD_STYLE(wxNB_RIGHT); + XRC_ADD_STYLE(wxNB_BOTTOM); AddWindowStyles(); } - - wxObject *wxNotebookXmlHandler::DoCreateResource() { if (m_class == wxT("notebookpage")) { wxXmlNode *n = GetParamNode(wxT("object")); - if ( !n ) - n = GetParamNode(wxT("object_ref")); + if ( !n ) + n = GetParamNode(wxT("object_ref")); if (n) { bool old_ins = m_isInside; m_isInside = FALSE; - m_isInside = old_ins; wxObject *item = CreateResFromNode(n, m_notebook, NULL); + m_isInside = old_ins; wxWindow *wnd = wxDynamicCast(item, wxWindow); if (wnd) @@ -70,17 +70,15 @@ wxObject *wxNotebookXmlHandler::DoCreateResource() } } - else { - wxNotebook *nb = wxStaticCast(m_instance, wxNotebook); - - if ( !nb ) - nb = new wxNotebook; + else + { + XRC_MAKE_INSTANCE(nb, wxNotebook) - nb->Create(m_parentAsWindow, - GetID(), - GetPosition(), GetSize(), - GetStyle( wxT("style" )), - GetName()); + nb->Create(m_parentAsWindow, + GetID(), + GetPosition(), GetSize(), + GetStyle(wxT("style")), + GetName()); wxNotebook *old_par = m_notebook; m_notebook = nb; @@ -97,8 +95,6 @@ wxObject *wxNotebookXmlHandler::DoCreateResource() } } - - bool wxNotebookXmlHandler::CanHandle(wxXmlNode *node) { return ((!m_isInside && IsOfClass(node, wxT("wxNotebook"))) ||