X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5a439c1aa409584446946ef67b9181d25528bd3c..6f026b5b63fe7ccb025e84509886f74772b9df13:/src/xrc/xh_listbk.cpp?ds=sidebyside diff --git a/src/xrc/xh_listbk.cpp b/src/xrc/xh_listbk.cpp index 21a6cb0586..f7bf2c58b2 100644 --- a/src/xrc/xh_listbk.cpp +++ b/src/xrc/xh_listbk.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_listbk.cpp +// Name: src/xrc/xh_listbk.cpp // Purpose: XRC resource for wxListbook // Author: Vaclav Slavik // Created: 2000/03/21 @@ -7,10 +7,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "xh_listbk.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -22,16 +18,27 @@ #include "wx/xrc/xh_listbk.h" -#include "wx/log.h" +#ifndef WX_PRECOMP + #include "wx/log.h" + #include "wx/sizer.h" +#endif + #include "wx/listbook.h" #include "wx/imaglist.h" -#include "wx/sizer.h" IMPLEMENT_DYNAMIC_CLASS(wxListbookXmlHandler, wxXmlResourceHandler) wxListbookXmlHandler::wxListbookXmlHandler() -: wxXmlResourceHandler(), m_isInside(false), m_listbook(NULL) + :wxXmlResourceHandler(), + m_isInside(false), + m_listbook(NULL) { + XRC_ADD_STYLE(wxBK_DEFAULT); + XRC_ADD_STYLE(wxBK_LEFT); + XRC_ADD_STYLE(wxBK_RIGHT); + XRC_ADD_STYLE(wxBK_TOP); + XRC_ADD_STYLE(wxBK_BOTTOM); + XRC_ADD_STYLE(wxLB_DEFAULT); XRC_ADD_STYLE(wxLB_LEFT); XRC_ADD_STYLE(wxLB_RIGHT); @@ -74,14 +81,29 @@ wxObject *wxListbookXmlHandler::DoCreateResource() int imgIndex = imgList->Add(bmp); m_listbook->SetPageImage(m_listbook->GetPageCount()-1, imgIndex ); } + else if ( HasParam(wxT("image")) ) + { + if ( m_listbook->GetImageList() ) + { + m_listbook->SetPageImage(m_listbook->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, "listbookpage child must be a window"); + } return wnd; } else { - wxLogError(wxT("Error in resource: no control within listbook's tag.")); + ReportError("listbookpage must have a window child"); return NULL; } } @@ -96,6 +118,10 @@ wxObject *wxListbookXmlHandler::DoCreateResource() GetStyle(wxT("style")), GetName()); + wxImageList *imagelist = GetImageList(); + if ( imagelist ) + nb->AssignImageList(imagelist); + wxListbook *old_par = m_listbook; m_listbook = nb; bool old_ins = m_isInside;