Add missing styles support to wxWindow XRC handler.
[wxWidgets.git] / src / xrc / xh_panel.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/xrc/xh_panel.cpp
3 // Purpose: XRC resource for panels
4 // Author: Vaclav Slavik
5 // Created: 2000/03/05
6 // RCS-ID: $Id$
7 // Copyright: (c) 2000 Vaclav Slavik
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 // For compilers that support precompilation, includes "wx.h".
12 #include "wx/wxprec.h"
13
14 #ifdef __BORLANDC__
15 #pragma hdrstop
16 #endif
17
18 #if wxUSE_XRC
19
20 #include "wx/xrc/xh_panel.h"
21
22 #ifndef WX_PRECOMP
23 #include "wx/panel.h"
24 #include "wx/frame.h"
25 #endif
26
27 IMPLEMENT_DYNAMIC_CLASS(wxPanelXmlHandler, wxXmlResourceHandler)
28
29 wxPanelXmlHandler::wxPanelXmlHandler() : wxXmlResourceHandler()
30 {
31 #if WXWIN_COMPATIBILITY_2_6
32 XRC_ADD_STYLE(wxNO_3D);
33 #endif // WXWIN_COMPATIBILITY_2_6
34 XRC_ADD_STYLE(wxTAB_TRAVERSAL);
35 XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY);
36
37 AddWindowStyles();
38 }
39
40 wxObject *wxPanelXmlHandler::DoCreateResource()
41 {
42 XRC_MAKE_INSTANCE(panel, wxPanel)
43
44 panel->Create(m_parentAsWindow,
45 GetID(),
46 GetPosition(), GetSize(),
47 GetStyle(wxT("style"), wxTAB_TRAVERSAL),
48 GetName());
49
50 SetupWindow(panel);
51 CreateChildren(panel);
52
53 return panel;
54 }
55
56 bool wxPanelXmlHandler::CanHandle(wxXmlNode *node)
57 {
58 return IsOfClass(node, wxT("wxPanel"));
59 }
60
61 #endif // wxUSE_XRC