]> git.saurik.com Git - wxWidgets.git/blob - src/xrc/xh_text.cpp
avoid multiple reallocations in wxString::PrintfV() if vsnprintf() returns the total...
[wxWidgets.git] / src / xrc / xh_text.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: xh_text.cpp
3 // Purpose: XRC resource for wxTextCtrl
4 // Author: Aleksandras Gluchovas
5 // Created: 2000/03/21
6 // RCS-ID: $Id$
7 // Copyright: (c) 2000 Aleksandras Gluchovas
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
19
20 #include "wx/xrc/xh_text.h"
21 #include "wx/textctrl.h"
22
23 IMPLEMENT_DYNAMIC_CLASS(wxTextCtrlXmlHandler, wxXmlResourceHandler)
24
25 wxTextCtrlXmlHandler::wxTextCtrlXmlHandler() : wxXmlResourceHandler()
26 {
27 XRC_ADD_STYLE(wxTE_NO_VSCROLL);
28 XRC_ADD_STYLE(wxTE_AUTO_SCROLL);
29 XRC_ADD_STYLE(wxTE_PROCESS_ENTER);
30 XRC_ADD_STYLE(wxTE_PROCESS_TAB);
31 XRC_ADD_STYLE(wxTE_MULTILINE);
32 XRC_ADD_STYLE(wxTE_PASSWORD);
33 XRC_ADD_STYLE(wxTE_READONLY);
34 XRC_ADD_STYLE(wxHSCROLL);
35 XRC_ADD_STYLE(wxTE_RICH);
36 XRC_ADD_STYLE(wxTE_RICH2);
37 XRC_ADD_STYLE(wxTE_AUTO_URL);
38 XRC_ADD_STYLE(wxTE_NOHIDESEL);
39 XRC_ADD_STYLE(wxTE_LEFT);
40 XRC_ADD_STYLE(wxTE_CENTRE);
41 XRC_ADD_STYLE(wxTE_RIGHT);
42 XRC_ADD_STYLE(wxTE_DONTWRAP);
43 XRC_ADD_STYLE(wxTE_LINEWRAP);
44 XRC_ADD_STYLE(wxTE_WORDWRAP);
45 AddWindowStyles();
46 }
47
48 wxObject *wxTextCtrlXmlHandler::DoCreateResource()
49 {
50 XRC_MAKE_INSTANCE(text, wxTextCtrl)
51
52 text->Create(m_parentAsWindow,
53 GetID(),
54 GetText(wxT("value")),
55 GetPosition(), GetSize(),
56 GetStyle(),
57 wxDefaultValidator,
58 GetName());
59
60 SetupWindow(text);
61
62 if (HasParam(wxT("maxlength")))
63 text->SetMaxLength(GetLong(wxT("maxlength")));
64
65 return text;
66 }
67
68 bool wxTextCtrlXmlHandler::CanHandle(wxXmlNode *node)
69 {
70 return IsOfClass(node, wxT("wxTextCtrl"));
71 }
72
73 #endif // wxUSE_XRC