1/////////////////////////////////////////////////////////////////////////////
2// Name:        src/xrc/xh_listc.cpp
3// Purpose:     XRC resource for wxListCtrl
4// Author:      Brian Gavin
5// Created:     2000/09/09
6// RCS-ID:      $Id: xh_listc.cpp 39583 2006-06-06 07:23:19Z ABX $
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_LISTCTRL
19
20#include "wx/xrc/xh_listc.h"
21
22#ifndef WX_PRECOMP
23    #include "wx/textctrl.h"
24#endif
25
26#include "wx/listctrl.h"
27
28
29IMPLEMENT_DYNAMIC_CLASS(wxListCtrlXmlHandler, wxXmlResourceHandler)
30
31wxListCtrlXmlHandler::wxListCtrlXmlHandler()
32: wxXmlResourceHandler()
33{
34    XRC_ADD_STYLE(wxLC_LIST);
35    XRC_ADD_STYLE(wxLC_REPORT);
36    XRC_ADD_STYLE(wxLC_ICON);
37    XRC_ADD_STYLE(wxLC_SMALL_ICON);
38    XRC_ADD_STYLE(wxLC_ALIGN_TOP);
39    XRC_ADD_STYLE(wxLC_ALIGN_LEFT);
40    XRC_ADD_STYLE(wxLC_AUTOARRANGE);
41    XRC_ADD_STYLE(wxLC_USER_TEXT);
42    XRC_ADD_STYLE(wxLC_EDIT_LABELS);
43    XRC_ADD_STYLE(wxLC_NO_HEADER);
44    XRC_ADD_STYLE(wxLC_SINGLE_SEL);
45    XRC_ADD_STYLE(wxLC_SORT_ASCENDING);
46    XRC_ADD_STYLE(wxLC_SORT_DESCENDING);
47    XRC_ADD_STYLE(wxLC_VIRTUAL);
48    XRC_ADD_STYLE(wxLC_HRULES);
49    XRC_ADD_STYLE(wxLC_VRULES);
50    XRC_ADD_STYLE(wxLC_NO_SORT_HEADER);
51    AddWindowStyles();
52}
53
54wxObject *wxListCtrlXmlHandler::DoCreateResource()
55{
56    XRC_MAKE_INSTANCE(list, wxListCtrl)
57
58    list->Create(m_parentAsWindow,
59                 GetID(),
60                 GetPosition(), GetSize(),
61                 GetStyle(),
62                 wxDefaultValidator,
63                 GetName());
64
65    // FIXME: add columns definition
66
67    SetupWindow(list);
68
69    return list;
70}
71
72bool wxListCtrlXmlHandler::CanHandle(wxXmlNode *node)
73{
74    return IsOfClass(node, wxT("wxListCtrl"));
75}
76
77#endif // wxUSE_XRC && wxUSE_LISTCTRL
78