X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c575e45a24711793f98959a1f394a9e528c3129a..abd474ea63667f727940a009cc3e0b23ba9f418f:/src/xrc/xh_split.cpp?ds=sidebyside diff --git a/src/xrc/xh_split.cpp b/src/xrc/xh_split.cpp index c78d526066..e14300f4f9 100644 --- a/src/xrc/xh_split.cpp +++ b/src/xrc/xh_split.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_split.cpp +// Name: src/xrc/xh_split.cpp // Purpose: XRC resource for wxSplitterWindow // Author: panga@freemail.hu, Vaclav Slavik // Created: 2003/01/26 @@ -8,10 +8,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "xh_split.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -19,11 +15,15 @@ #pragma hdrstop #endif -#if wxUSE_XRC +#if wxUSE_XRC && wxUSE_SPLITTER #include "wx/xrc/xh_split.h" + +#ifndef WX_PRECOMP + #include "wx/log.h" +#endif + #include "wx/splitter.h" -#include "wx/log.h" IMPLEMENT_DYNAMIC_CLASS(wxSplitterWindowXmlHandler, wxXmlResourceHandler) @@ -32,7 +32,9 @@ wxSplitterWindowXmlHandler::wxSplitterWindowXmlHandler() : wxXmlResourceHandler( XRC_ADD_STYLE(wxSP_3D); XRC_ADD_STYLE(wxSP_3DSASH); XRC_ADD_STYLE(wxSP_3DBORDER); +#if WXWIN_COMPATIBILITY_2_6 XRC_ADD_STYLE(wxSP_FULLSASH); +#endif // WXWIN_COMPATIBILITY_2_6 XRC_ADD_STYLE(wxSP_BORDER); XRC_ADD_STYLE(wxSP_NOBORDER); XRC_ADD_STYLE(wxSP_PERMIT_UNSPLIT); @@ -55,8 +57,11 @@ wxObject *wxSplitterWindowXmlHandler::DoCreateResource() long sashpos = GetLong(wxT("sashpos"), 0); long minpanesize = GetLong(wxT("minsize"), -1); + float gravity = GetFloat(wxT("gravity"), 0.0); if (minpanesize != -1) - splitter->SetMinimumPaneSize(minpanesize); + splitter->SetMinimumPaneSize(minpanesize); + if (gravity != 0.0) + splitter->SetSashGravity(gravity); wxWindow *win1 = NULL, *win2 = NULL; wxXmlNode *n = m_node->GetChildren(); @@ -82,7 +87,7 @@ wxObject *wxSplitterWindowXmlHandler::DoCreateResource() } if (win1 == NULL) - wxLogError(wxT("wxSplitterWindow node must contain at least one window.")); + ReportError("wxSplitterWindow node must contain at least one window"); bool horizontal = (GetParamValue(wxT("orientation")) != wxT("vertical")); if (win1 && win2) @@ -105,4 +110,4 @@ bool wxSplitterWindowXmlHandler::CanHandle(wxXmlNode *node) return IsOfClass(node, wxT("wxSplitterWindow")); } -#endif // wxUSE_XRC +#endif // wxUSE_XRC && wxUSE_SPLITTER