X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/854e189f90dac9ba5e0239bca79aed64e8d6f46c..a2ee1945871d7b9d71ec18954ffb2f0f239c2e57:/src/xrc/xh_split.cpp

diff --git a/src/xrc/xh_split.cpp b/src/xrc/xh_split.cpp
index bc6f9c5f24..fd21911808 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,15 @@
     #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"
 
 IMPLEMENT_DYNAMIC_CLASS(wxSplitterWindowXmlHandler, wxXmlResourceHandler)
 
@@ -30,11 +32,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 +57,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,7 +81,7 @@ wxObject *wxSplitterWindowXmlHandler::DoCreateResource()
             {
                 win2 = win;
                 break;
-            }            
+            }
         }
         n = n->GetNext();
     }
@@ -102,4 +110,4 @@ bool wxSplitterWindowXmlHandler::CanHandle(wxXmlNode *node)
      return IsOfClass(node, wxT("wxSplitterWindow"));
 }
 
-
+#endif // wxUSE_XRC && wxUSE_SPLITTER