X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/854e189f90dac9ba5e0239bca79aed64e8d6f46c..43f4e852a1b2ac37c3db6a2b87315192ac549191:/src/xrc/xh_split.cpp diff --git a/src/xrc/xh_split.cpp b/src/xrc/xh_split.cpp index bc6f9c5f24..7e3175c657 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 @@ -7,10 +7,6 @@ // Copyright: (c) 2003 panga@freemail.hu, Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - -#ifdef __GNUG__ -#pragma implementation "xh_split.h" -#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -19,9 +15,17 @@ #pragma hdrstop #endif +#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" + +#include "wx/xml/xml.h" IMPLEMENT_DYNAMIC_CLASS(wxSplitterWindowXmlHandler, wxXmlResourceHandler) @@ -30,11 +34,14 @@ 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); XRC_ADD_STYLE(wxSP_LIVE_UPDATE); + XRC_ADD_STYLE(wxSP_NO_XP_THEME); AddWindowStyles(); } @@ -52,14 +59,17 @@ 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(); while (n) { - if ((n->GetType() == wxXML_ELEMENT_NODE) && + if ((n->GetType() == wxXML_ELEMENT_NODE) && (n->GetName() == wxT("object") || n->GetName() == wxT("object_ref"))) { @@ -73,13 +83,13 @@ wxObject *wxSplitterWindowXmlHandler::DoCreateResource() { win2 = win; break; - } + } } n = n->GetNext(); } 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) @@ -102,4 +112,4 @@ bool wxSplitterWindowXmlHandler::CanHandle(wxXmlNode *node) return IsOfClass(node, wxT("wxSplitterWindow")); } - +#endif // wxUSE_XRC && wxUSE_SPLITTER