X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a575238f87a41ba94aecb98d85c9701e2dd64764..3c06bd88f48859dfd3f3948ffcfdcb0b9248ccd8:/src/xrc/xh_sizer.cpp?ds=sidebyside diff --git a/src/xrc/xh_sizer.cpp b/src/xrc/xh_sizer.cpp index f5e2dcc466..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" @@ -79,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); } @@ -113,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"))); } @@ -206,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()); @@ -306,6 +320,11 @@ wxSizer* wxSizerXmlHandler::Handle_wxGridBagSizer() return sizer; } +wxSizer* wxSizerXmlHandler::Handle_wxWrapSizer() +{ + wxWrapSizer *sizer = new wxWrapSizer(GetStyle("orient"), GetStyle("flag")); + return sizer; +}