X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..7112cdd1f3c4730391cf0a562f4d7dcee8676f07:/src/xrc/xh_statbar.cpp diff --git a/src/xrc/xh_statbar.cpp b/src/xrc/xh_statbar.cpp index d5b4fbfa4d..fbf25f189f 100644 --- a/src/xrc/xh_statbar.cpp +++ b/src/xrc/xh_statbar.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_statbar.cpp +// Name: src/xrc/xh_statbar.cpp // Purpose: XRC resource for wxStatusBar // Author: Brian Ravnsgaard Riis // Created: 2004/01/21 @@ -17,19 +17,30 @@ #if wxUSE_XRC && wxUSE_STATUSBAR -#include "wx/frame.h" -#include "wx/string.h" -#include "wx/log.h" - #include "wx/xrc/xh_statbar.h" -#include "wx/statusbr.h" + +#ifndef WX_PRECOMP + #include "wx/string.h" + #include "wx/log.h" + #include "wx/frame.h" + #include "wx/statusbr.h" +#endif IMPLEMENT_DYNAMIC_CLASS(wxStatusBarXmlHandler, wxXmlResourceHandler) -wxStatusBarXmlHandler::wxStatusBarXmlHandler() : - wxXmlResourceHandler() +wxStatusBarXmlHandler::wxStatusBarXmlHandler() + :wxXmlResourceHandler() { + XRC_ADD_STYLE(wxSTB_SIZEGRIP); + XRC_ADD_STYLE(wxSTB_SHOW_TIPS); + XRC_ADD_STYLE(wxSTB_ELLIPSIZE_START); + XRC_ADD_STYLE(wxSTB_ELLIPSIZE_MIDDLE); + XRC_ADD_STYLE(wxSTB_ELLIPSIZE_END); + XRC_ADD_STYLE(wxSTB_DEFAULT_STYLE); + + // compat style name: XRC_ADD_STYLE(wxST_SIZEGRIP); + AddWindowStyles(); } @@ -62,7 +73,7 @@ wxObject *wxStatusBarXmlHandler::DoCreateResource() else statbar->SetFieldsCount(fields); - if (!styles.IsEmpty()) + if (!styles.empty()) { int *style = new int[fields]; for (int i = 0; i < fields; ++i) @@ -76,9 +87,19 @@ wxObject *wxStatusBarXmlHandler::DoCreateResource() style[i] = wxSB_FLAT; else if (first == wxT("wxSB_RAISED")) style[i] = wxSB_RAISED; + else if (!first.empty()) + { + ReportParamError + ( + "styles", + wxString::Format + ( + "unknown status bar field style \"%s\"", + first + ) + ); + } - if (!first.IsEmpty()) - wxLogError(wxT("Error in resource, unknown statusbar field style: ") + first); if(styles.Find(wxT(','))) styles.Remove(0, styles.Find(wxT(',')) + 1); } @@ -86,6 +107,8 @@ wxObject *wxStatusBarXmlHandler::DoCreateResource() delete [] style; } + CreateChildren(statbar); + if (m_parentAsWindow) { wxFrame *parentFrame = wxDynamicCast(m_parent, wxFrame); @@ -102,4 +125,3 @@ bool wxStatusBarXmlHandler::CanHandle(wxXmlNode *node) } #endif // wxUSE_XRC && wxUSE_STATUSBAR -