]> git.saurik.com Git - wxWidgets.git/blob - src/xrc/xh_text.cpp
Don't set insertion point if the text is the same in SetValue
[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 #ifdef __GNUG__
12 #pragma implementation "xh_text.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 #include "wx/xrc/xh_text.h"
23 #include "wx/textctrl.h"
24
25 IMPLEMENT_DYNAMIC_CLASS(wxTextCtrlXmlHandler, wxXmlResourceHandler)
26
27 wxTextCtrlXmlHandler::wxTextCtrlXmlHandler() : wxXmlResourceHandler()
28 {
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 return text;
63 }
64
65 bool wxTextCtrlXmlHandler::CanHandle(wxXmlNode *node)
66 {
67 return IsOfClass(node, wxT("wxTextCtrl"));
68 }