/////////////////////////////////////////////////////////////////////////////
-// Name: xh_statbar.cpp
+// Name: src/xrc/xh_statbar.cpp
// Purpose: XRC resource for wxStatusBar
// Author: Brian Ravnsgaard Riis
// Created: 2004/01/21
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation "xh_statbar.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#pragma hdrstop
#endif
-#include "wx/frame.h"
-#include "wx/string.h"
-#include "wx/log.h"
-
-#if wxUSE_STATUSBAR
+#if wxUSE_XRC && wxUSE_STATUSBAR
#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();
}
else
statbar->SetFieldsCount(fields);
- if (!styles.IsEmpty())
+ if (!styles.empty())
{
int *style = new int[fields];
for (int i = 0; i < fields; ++i)
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);
}
delete [] style;
}
+ CreateChildren(statbar);
+
if (m_parentAsWindow)
{
wxFrame *parentFrame = wxDynamicCast(m_parent, wxFrame);
return IsOfClass(node, wxT("wxStatusBar"));
}
-#endif
-
+#endif // wxUSE_XRC && wxUSE_STATUSBAR