X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5e1a9f05c7b4c442bcdf967571a56ec9c90f2ad0..2186321ff5525cfc61c7085a298685b8afc669ab:/src/xrc/xh_sizer.cpp diff --git a/src/xrc/xh_sizer.cpp b/src/xrc/xh_sizer.cpp index 4b5f0b03aa..8b86cce220 100644 --- a/src/xrc/xh_sizer.cpp +++ b/src/xrc/xh_sizer.cpp @@ -31,6 +31,7 @@ #endif #include "wx/gbsizer.h" +#include "wx/wrapsizer.h" #include "wx/notebook.h" #include "wx/tokenzr.h" @@ -78,6 +79,16 @@ wxSizerXmlHandler::wxSizerXmlHandler() XRC_ADD_STYLE(wxALIGN_CENTRE_VERTICAL); 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); } @@ -112,7 +123,8 @@ bool wxSizerXmlHandler::IsSizerNode(wxXmlNode *node) (IsOfClass(node, wxT("wxStaticBoxSizer"))) || (IsOfClass(node, wxT("wxGridSizer"))) || (IsOfClass(node, wxT("wxFlexGridSizer"))) || - (IsOfClass(node, wxT("wxGridBagSizer"))); + (IsOfClass(node, wxT("wxGridBagSizer"))) || + (IsOfClass(node, wxT("wxWrapSizer"))); } @@ -205,6 +217,9 @@ wxObject* wxSizerXmlHandler::Handle_sizer() else if (m_class == wxT("wxGridBagSizer")) sizer = Handle_wxGridBagSizer(); + else if (m_class == wxT("wxWrapSizer")) + sizer = Handle_wxWrapSizer(); + if ( !sizer ) { wxLogError(_T("Failed to create size of class \"%s\""), m_class.c_str()); @@ -305,6 +320,11 @@ wxSizer* wxSizerXmlHandler::Handle_wxGridBagSizer() return sizer; } +wxSizer* wxSizerXmlHandler::Handle_wxWrapSizer() +{ + wxWrapSizer *sizer = new wxWrapSizer(GetStyle("orient"), GetStyle("flag")); + return sizer; +}