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 
IMPLEMENT_DYNAMIC_CLASS(wxListCtrlXmlHandler,wxXmlResourceHandler)29 IMPLEMENT_DYNAMIC_CLASS(wxListCtrlXmlHandler, wxXmlResourceHandler)
30 
31 wxListCtrlXmlHandler::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 
DoCreateResource()54 wxObject *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 
CanHandle(wxXmlNode * node)72 bool wxListCtrlXmlHandler::CanHandle(wxXmlNode *node)
73 {
74     return IsOfClass(node, wxT("wxListCtrl"));
75 }
76 
77 #endif // wxUSE_XRC && wxUSE_LISTCTRL
78