X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/13a3888794c97e06686a9f40189d63f708e891ba..9968f7b4cd6752ead5744d4895ed392458d83abd:/src/xrc/xh_sizer.cpp diff --git a/src/xrc/xh_sizer.cpp b/src/xrc/xh_sizer.cpp index a9779ecc72..ea64786b64 100644 --- a/src/xrc/xh_sizer.cpp +++ b/src/xrc/xh_sizer.cpp @@ -80,6 +80,15 @@ wxSizerXmlHandler::wxSizerXmlHandler() 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); } @@ -170,7 +179,12 @@ wxObject* wxSizerXmlHandler::Handle_sizeritem() 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); @@ -186,10 +200,13 @@ wxObject* wxSizerXmlHandler::Handle_sizer() 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(); @@ -209,7 +226,7 @@ wxObject* wxSizerXmlHandler::Handle_sizer() sizer = Handle_wxGridBagSizer(); else if (m_class == wxT("wxWrapSizer")) - sizer = Handle_wxGridBagSizer(); + sizer = Handle_wxWrapSizer(); if ( !sizer ) { @@ -313,7 +330,7 @@ wxSizer* wxSizerXmlHandler::Handle_wxGridBagSizer() wxSizer* wxSizerXmlHandler::Handle_wxWrapSizer() { - wxWrapSizer *sizer = new wxWrapSizer(GetStyle("orient"), wxHORIZONTAL); + wxWrapSizer *sizer = new wxWrapSizer(GetStyle("orient"), GetStyle("flag")); return sizer; }