X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..07aaf32633ecf18ec3edfbb41793a112914792d0:/src/xrc/xh_choicbk.cpp diff --git a/src/xrc/xh_choicbk.cpp b/src/xrc/xh_choicbk.cpp index a67f330d10..f2bd34de21 100644 --- a/src/xrc/xh_choicbk.cpp +++ b/src/xrc/xh_choicbk.cpp @@ -1,8 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_choicbk.cpp +// Name: src/xrc/xh_choicbk.cpp // Purpose: XRC resource for wxChoicebook // Author: Vaclav Slavik // Created: 2000/03/21 +// RCS-ID: $Id$ // Copyright: (c) 2000 Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -18,16 +19,27 @@ #include "wx/xrc/xh_choicbk.h" -#include "wx/log.h" +#ifndef WX_PRECOMP + #include "wx/log.h" + #include "wx/sizer.h" +#endif + #include "wx/choicebk.h" #include "wx/imaglist.h" -#include "wx/sizer.h" IMPLEMENT_DYNAMIC_CLASS(wxChoicebookXmlHandler, wxXmlResourceHandler) wxChoicebookXmlHandler::wxChoicebookXmlHandler() -: wxXmlResourceHandler(), m_isInside(false), m_choicebook(NULL) + :wxXmlResourceHandler(), + m_isInside(false), + m_choicebook(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(wxCHB_DEFAULT); XRC_ADD_STYLE(wxCHB_LEFT); XRC_ADD_STYLE(wxCHB_RIGHT); @@ -70,14 +82,29 @@ wxObject *wxChoicebookXmlHandler::DoCreateResource() int imgIndex = imgList->Add(bmp); m_choicebook->SetPageImage(m_choicebook->GetPageCount()-1, imgIndex ); } + else if ( HasParam(wxT("image")) ) + { + if ( m_choicebook->GetImageList() ) + { + m_choicebook->SetPageImage(m_choicebook->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, "choicebookpage child must be a window"); + } return wnd; } else { - wxLogError(wxT("Error in resource: no control within choicebook's tag.")); + ReportError("choicebookpage must have a window child"); return NULL; } } @@ -92,6 +119,10 @@ wxObject *wxChoicebookXmlHandler::DoCreateResource() GetStyle(wxT("style")), GetName()); + wxImageList *imagelist = GetImageList(); + if ( imagelist ) + nb->AssignImageList(imagelist); + wxChoicebook *old_par = m_choicebook; m_choicebook = nb; bool old_ins = m_isInside;