]> git.saurik.com Git - wxWidgets.git/blame - src/xrc/xh_scwin.cpp
fix crash which happened if you called SetAttr(NULL) followed by SetAttr(attr) (...
[wxWidgets.git] / src / xrc / xh_scwin.cpp
CommitLineData
2b5f62a0 1/////////////////////////////////////////////////////////////////////////////
1c067fe3 2// Name: src/xrc/xh_scwin.cpp
2b5f62a0
VZ
3// Purpose: XRC resource for wxScrolledWindow
4// Author: Vaclav Slavik
5// Created: 2002/10/18
6// RCS-ID: $Id$
7// Copyright: (c) 2002 Vaclav Slavik
8// Licence: wxWindows licence
9/////////////////////////////////////////////////////////////////////////////
f80ea77b 10
2b5f62a0
VZ
11// For compilers that support precompilation, includes "wx.h".
12#include "wx/wxprec.h"
13
14#ifdef __BORLANDC__
15 #pragma hdrstop
16#endif
17
621be1ec 18#if wxUSE_XRC
a1e4ec87 19
2b5f62a0 20#include "wx/xrc/xh_scwin.h"
76b49cf4
WS
21
22#ifndef WX_PRECOMP
23 #include "wx/frame.h"
1ab440bc 24 #include "wx/scrolwin.h"
76b49cf4
WS
25#endif
26
854e189f 27IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindowXmlHandler, wxXmlResourceHandler)
2b5f62a0 28
f80ea77b
WS
29wxScrolledWindowXmlHandler::wxScrolledWindowXmlHandler()
30: wxXmlResourceHandler()
2b5f62a0
VZ
31{
32 XRC_ADD_STYLE(wxHSCROLL);
33 XRC_ADD_STYLE(wxVSCROLL);
ffdf1b49
RD
34
35 // wxPanel styles
1c067fe3 36#if WXWIN_COMPATIBILITY_2_6
ffdf1b49 37 XRC_ADD_STYLE(wxNO_3D);
1c067fe3 38#endif // WXWIN_COMPATIBILITY_2_6
ffdf1b49
RD
39 XRC_ADD_STYLE(wxTAB_TRAVERSAL);
40 XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY);
41
2b5f62a0
VZ
42 AddWindowStyles();
43}
44
45wxObject *wxScrolledWindowXmlHandler::DoCreateResource()
f80ea77b 46{
2b5f62a0
VZ
47 XRC_MAKE_INSTANCE(control, wxScrolledWindow)
48
49 control->Create(m_parentAsWindow,
50 GetID(),
51 GetPosition(), GetSize(),
52 GetStyle(wxT("style"), wxHSCROLL | wxVSCROLL),
53 GetName());
54
55 SetupWindow(control);
ace1785b 56 CreateChildren(control);
f80ea77b 57
b86c4f96
VS
58 if ( HasParam(wxT("scrollrate")) )
59 {
60 wxSize rate = GetSize(wxT("scrollrate"));
61 control->SetScrollRate(rate.x, rate.y);
62 }
63
2b5f62a0
VZ
64 return control;
65}
66
67bool wxScrolledWindowXmlHandler::CanHandle(wxXmlNode *node)
68{
69 return IsOfClass(node, wxT("wxScrolledWindow"));
70}
a1e4ec87 71
621be1ec 72#endif // wxUSE_XRC