XRC_ADD_STYLE(wxFIXED_MINSIZE);
XRC_ADD_STYLE(wxRESERVE_SPACE_EVEN_IF_HIDDEN);
+
+ // this flag doesn't do anything any more but we can just ignore its
+ // occurrences in the old resource files instead of raising a fuss because
+ // of it
+ AddStyle("wxADJUST_MINSIZE", 0);
+
+ // wxWrapSizer-specific flags
+ XRC_ADD_STYLE(wxEXTEND_LAST_ON_EACH_LINE);
+ XRC_ADD_STYLE(wxREMOVE_LEADING_SPACES);
}
wxObject* wxSizerXmlHandler::Handle_spacer()
{
- wxCHECK_MSG(m_parentSizer, NULL, wxT("Incorrect syntax of XRC resource: spacer not within sizer!"));
+ if ( !m_parentSizer )
+ {
+ wxLogError(_("XRC syntax error: \"spacer\" only allowed inside a "
+ "sizer"));
+ return NULL;
+ }
wxSizerItem* sitem = MakeSizerItem();
SetSizerItemAttributes(sitem);
wxXmlNode *parentNode = m_node->GetParent();
- wxCHECK_MSG(m_parentSizer != NULL ||
- (parentNode && parentNode->GetType() == wxXML_ELEMENT_NODE &&
- m_parentAsWindow), NULL,
- wxT("Sizer must have a window parent node"));
+ if ( !m_parentSizer &&
+ (!parentNode || parentNode->GetType() != wxXML_ELEMENT_NODE ||
+ !m_parentAsWindow) )
+ {
+ wxLogError(_("XRC syntax error: sizer must have a window parent."));
+ return NULL;
+ }
if (m_class == wxT("wxBoxSizer"))
sizer = Handle_wxBoxSizer();
sizer = Handle_wxGridBagSizer();
else if (m_class == wxT("wxWrapSizer"))
- sizer = Handle_wxGridBagSizer();
+ sizer = Handle_wxWrapSizer();
if ( !sizer )
{
wxSizer* wxSizerXmlHandler::Handle_wxWrapSizer()
{
- wxWrapSizer *sizer = new wxWrapSizer(GetStyle("orient"), wxHORIZONTAL);
+ wxWrapSizer *sizer = new wxWrapSizer(GetStyle("orient"), GetStyle("flag"));
return sizer;
}