/////////////////////////////////////////////////////////////////////////////
-// 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
// 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"
#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)
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();
}
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")))
{
{
win2 = win;
break;
- }
+ }
}
n = n->GetNext();
}
return IsOfClass(node, wxT("wxSplitterWindow"));
}
-
+#endif // wxUSE_XRC && wxUSE_SPLITTER