X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ddb4d13585d5235556119fb1937273da9e433a3..1d8340b95698d5e27a72bd1aee423a0b954e85b1:/src/xrc/xh_notbk.cpp diff --git a/src/xrc/xh_notbk.cpp b/src/xrc/xh_notbk.cpp index 15efb8fca0..c683fbc273 100644 --- a/src/xrc/xh_notbk.cpp +++ b/src/xrc/xh_notbk.cpp @@ -19,15 +19,20 @@ #include "wx/xrc/xh_notbk.h" -#include "wx/log.h" +#ifndef WX_PRECOMP + #include "wx/log.h" + #include "wx/sizer.h" +#endif + #include "wx/notebook.h" #include "wx/imaglist.h" -#include "wx/sizer.h" IMPLEMENT_DYNAMIC_CLASS(wxNotebookXmlHandler, wxXmlResourceHandler) wxNotebookXmlHandler::wxNotebookXmlHandler() -: wxXmlResourceHandler(), m_isInside(false), m_notebook(NULL) + :wxXmlResourceHandler(), + m_isInside(false), + m_notebook(NULL) { XRC_ADD_STYLE(wxBK_DEFAULT); XRC_ADD_STYLE(wxBK_LEFT); @@ -35,13 +40,12 @@ wxNotebookXmlHandler::wxNotebookXmlHandler() XRC_ADD_STYLE(wxBK_TOP); XRC_ADD_STYLE(wxBK_BOTTOM); -#if WXWIN_COMPATIBILITY_2_6 + // provide the old synonyms for these fields as well XRC_ADD_STYLE(wxNB_DEFAULT); XRC_ADD_STYLE(wxNB_LEFT); XRC_ADD_STYLE(wxNB_RIGHT); XRC_ADD_STYLE(wxNB_TOP); XRC_ADD_STYLE(wxNB_BOTTOM); -#endif XRC_ADD_STYLE(wxNB_FIXEDWIDTH); XRC_ADD_STYLE(wxNB_MULTILINE); @@ -83,14 +87,29 @@ wxObject *wxNotebookXmlHandler::DoCreateResource() int imgIndex = imgList->Add(bmp); m_notebook->SetPageImage(m_notebook->GetPageCount()-1, imgIndex ); } + else if ( HasParam(wxT("image")) ) + { + if ( m_notebook->GetImageList() ) + { + m_notebook->SetPageImage(m_notebook->GetPageCount()-1, + GetLong(wxT("image")) ); + } + else // image without image list? + { + ReportError(n, "image can only be used in conjunction " + "with imagelist"); + } + } } else - wxLogError(wxT("Error in resource.")); + { + ReportError(n, "notebookpage child must be a window"); + } return wnd; } else { - wxLogError(wxT("Error in resource: no control within notebook's tag.")); + ReportError("notebookpage must have a window child"); return NULL; } } @@ -105,6 +124,10 @@ wxObject *wxNotebookXmlHandler::DoCreateResource() GetStyle(wxT("style")), GetName()); + wxImageList *imagelist = GetImageList(); + if ( imagelist ) + nb->AssignImageList(imagelist); + SetupWindow(nb); wxNotebook *old_par = m_notebook;