1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        src/xrc/xh_scrol.cpp
3 // Purpose:     XRC resource for wxScrollBar
4 // Author:      Brian Gavin
5 // Created:     2000/09/09
6 // Copyright:   (c) 2000 Brian Gavin
7 // Licence:     wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9 
10 // For compilers that support precompilation, includes "wx.h".
11 #include "wx/wxprec.h"
12 
13 #ifdef __BORLANDC__
14     #pragma hdrstop
15 #endif
16 
17 #if wxUSE_XRC && wxUSE_SCROLLBAR
18 
19 #include "wx/xrc/xh_scrol.h"
20 
21 #ifndef WX_PRECOMP
22     #include "wx/scrolbar.h"
23 #endif
24 
IMPLEMENT_DYNAMIC_CLASS(wxScrollBarXmlHandler,wxXmlResourceHandler)25 IMPLEMENT_DYNAMIC_CLASS(wxScrollBarXmlHandler, wxXmlResourceHandler)
26 
27 wxScrollBarXmlHandler::wxScrollBarXmlHandler()
28 : wxXmlResourceHandler()
29 {
30     XRC_ADD_STYLE(wxSB_HORIZONTAL);
31     XRC_ADD_STYLE(wxSB_VERTICAL);
32     AddWindowStyles();
33 }
34 
DoCreateResource()35 wxObject *wxScrollBarXmlHandler::DoCreateResource()
36 {
37     XRC_MAKE_INSTANCE(control, wxScrollBar)
38 
39     control->Create(m_parentAsWindow,
40                     GetID(),
41                     GetPosition(), GetSize(),
42                     GetStyle(),
43                     wxDefaultValidator,
44                     GetName());
45 
46     control->SetScrollbar(GetLong( wxT("value"), 0),
47                           GetLong( wxT("thumbsize"),1),
48                           GetLong( wxT("range"), 10),
49                           GetLong( wxT("pagesize"),1));
50 
51     SetupWindow(control);
52     CreateChildren(control);
53 
54     return control;
55 }
56 
CanHandle(wxXmlNode * node)57 bool wxScrollBarXmlHandler::CanHandle(wxXmlNode *node)
58 {
59     return IsOfClass(node, wxT("wxScrollBar"));
60 }
61 
62 #endif // wxUSE_XRC && wxUSE_SCROLLBAR
63