]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/xrc/xh_gdctl.cpp
Split some of the recent code out to make it more reusable.
[wxWidgets.git] / src / xrc / xh_gdctl.cpp
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: xh_gdctl.cpp
3// Purpose: XRC resource for wxGenericDirCtrl
4// Author: Markus Greither
5// Created: 2002/01/20
6// RCS-ID:
7// Copyright: (c) 2002 Markus Greither
8// Licence: wxWindows licence
9/////////////////////////////////////////////////////////////////////////////
10
11#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
12#pragma implementation "xh_gdctl.h"
13#endif
14
15// For compilers that support precompilation, includes "wx.h".
16#include "wx/wxprec.h"
17
18#ifdef __BORLANDC__
19 #pragma hdrstop
20#endif
21
22#if wxUSE_XRC && wxUSE_DIRDLG
23
24#include "wx/textctrl.h"
25#include "wx/xrc/xh_gdctl.h"
26#include "wx/dirctrl.h"
27
28IMPLEMENT_DYNAMIC_CLASS(wxGenericDirCtrlXmlHandler, wxXmlResourceHandler)
29
30wxGenericDirCtrlXmlHandler::wxGenericDirCtrlXmlHandler()
31: wxXmlResourceHandler()
32{
33 XRC_ADD_STYLE(wxDIRCTRL_DIR_ONLY);
34 XRC_ADD_STYLE(wxDIRCTRL_3D_INTERNAL);
35 XRC_ADD_STYLE(wxDIRCTRL_SELECT_FIRST);
36 XRC_ADD_STYLE(wxDIRCTRL_SHOW_FILTERS);
37 AddWindowStyles();
38}
39
40wxObject *wxGenericDirCtrlXmlHandler::DoCreateResource()
41{
42 XRC_MAKE_INSTANCE(ctrl, wxGenericDirCtrl)
43
44 ctrl->Create(m_parentAsWindow,
45 GetID(),
46 GetText(wxT("defaultfolder")),
47 GetPosition(), GetSize(),
48 GetStyle(),
49 GetText(wxT("filter")),
50 (int)GetLong(wxT("defaultfilter")),
51 GetName());
52
53 SetupWindow(ctrl);
54
55 return ctrl;
56}
57
58bool wxGenericDirCtrlXmlHandler::CanHandle(wxXmlNode *node)
59{
60 return IsOfClass(node, wxT("wxGenericDirCtrl"));
61}
62
63#endif // wxUSE_XRC && wxUSE_DIRDLG