]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/xrc/xh_filepicker.cpp
fix crash which happened if you called SetAttr(NULL) followed by SetAttr(attr) (...
[wxWidgets.git] / src / xrc / xh_filepicker.cpp
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: src/xrc/xh_filepicker.cpp
3// Purpose: XML resource handler for wxFilePickerCtrl
4// Author: Francesco Montorsi
5// Created: 2006-04-17
6// RCS-ID: $Id$
7// Copyright: (c) 2006 Francesco Montorsi
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_FILEPICKERCTRL
19
20#include "wx/xrc/xh_filepicker.h"
21#include "wx/filepicker.h"
22
23IMPLEMENT_DYNAMIC_CLASS(wxFilePickerCtrlXmlHandler, wxXmlResourceHandler)
24
25wxFilePickerCtrlXmlHandler::wxFilePickerCtrlXmlHandler() : wxXmlResourceHandler()
26{
27 XRC_ADD_STYLE(wxFLP_OPEN);
28 XRC_ADD_STYLE(wxFLP_SAVE);
29 XRC_ADD_STYLE(wxFLP_OVERWRITE_PROMPT);
30 XRC_ADD_STYLE(wxFLP_FILE_MUST_EXIST);
31 XRC_ADD_STYLE(wxFLP_CHANGE_DIR);
32 XRC_ADD_STYLE(wxFLP_DEFAULT_STYLE);
33 XRC_ADD_STYLE(wxFLP_USE_TEXTCTRL);
34 AddWindowStyles();
35}
36
37wxObject *wxFilePickerCtrlXmlHandler::DoCreateResource()
38{
39 XRC_MAKE_INSTANCE(picker, wxFilePickerCtrl)
40
41 picker->Create(m_parentAsWindow,
42 GetID(),
43 GetParamValue(wxT("value")),
44 GetParamValue(wxT("message")),
45 GetParamValue(wxT("wildcard")),
46 GetPosition(), GetSize(),
47 GetStyle(_T("style"), wxFLP_DEFAULT_STYLE),
48 wxDefaultValidator,
49 GetName());
50
51 SetupWindow(picker);
52 return picker;
53}
54
55bool wxFilePickerCtrlXmlHandler::CanHandle(wxXmlNode *node)
56{
57 return IsOfClass(node, wxT("wxFilePickerCtrl"));
58}
59
60#endif // wxUSE_XRC && wxUSE_FILEPICKERCTRL