1/////////////////////////////////////////////////////////////////////////////
2// Name:        xh_tree.cpp
3// Purpose:     XRC resource for wxTreeCtrl
4// Author:      Brian Gavin
5// Created:     2000/09/09
6// RCS-ID:      $Id: xh_tree.cpp 35650 2005-09-23 12:56:45Z MR $
7// Copyright:   (c) 2000 Brian Gavin
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 && wxUSE_TREECTRL
19
20#include "wx/xrc/xh_tree.h"
21#include "wx/treectrl.h"
22
23IMPLEMENT_DYNAMIC_CLASS(wxTreeCtrlXmlHandler, wxXmlResourceHandler)
24
25wxTreeCtrlXmlHandler::wxTreeCtrlXmlHandler()
26: wxXmlResourceHandler()
27{
28    XRC_ADD_STYLE(wxTR_EDIT_LABELS);
29    XRC_ADD_STYLE(wxTR_NO_BUTTONS);
30    XRC_ADD_STYLE(wxTR_HAS_BUTTONS);
31    XRC_ADD_STYLE(wxTR_TWIST_BUTTONS);
32    XRC_ADD_STYLE(wxTR_NO_LINES);
33    XRC_ADD_STYLE(wxTR_FULL_ROW_HIGHLIGHT);
34    XRC_ADD_STYLE(wxTR_LINES_AT_ROOT);
35    XRC_ADD_STYLE(wxTR_HIDE_ROOT);
36    XRC_ADD_STYLE(wxTR_ROW_LINES);
37    XRC_ADD_STYLE(wxTR_HAS_VARIABLE_ROW_HEIGHT);
38    XRC_ADD_STYLE(wxTR_SINGLE);
39    XRC_ADD_STYLE(wxTR_MULTIPLE);
40    XRC_ADD_STYLE(wxTR_EXTENDED);
41    XRC_ADD_STYLE(wxTR_DEFAULT_STYLE);
42    AddWindowStyles();
43}
44
45wxObject *wxTreeCtrlXmlHandler::DoCreateResource()
46{
47    XRC_MAKE_INSTANCE(tree, wxTreeCtrl)
48
49    tree->Create(m_parentAsWindow,
50                GetID(),
51                GetPosition(), GetSize(),
52                GetStyle(_T("style"), wxTR_DEFAULT_STYLE),
53                wxDefaultValidator,
54                GetName());
55
56    SetupWindow(tree);
57
58    return tree;
59}
60
61bool wxTreeCtrlXmlHandler::CanHandle(wxXmlNode *node)
62{
63    return IsOfClass(node, wxT("wxTreeCtrl"));
64}
65
66#endif // wxUSE_XRC && wxUSE_TREECTRL
67