X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/544fee32eeac1a4f6ca3e0c7c1b13ee24f1d1c1c..04fa04d8067d235ab45b5bc05b65f0679634b541:/src/xrc/xh_text.cpp diff --git a/src/xrc/xh_text.cpp b/src/xrc/xh_text.cpp index a2d360643c..33e41604cb 100644 --- a/src/xrc/xh_text.cpp +++ b/src/xrc/xh_text.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_text.cpp +// Name: src/xrc/xh_text.cpp // Purpose: XRC resource for wxTextCtrl // Author: Aleksandras Gluchovas // Created: 2000/03/21 @@ -7,10 +7,6 @@ // Copyright: (c) 2000 Aleksandras Gluchovas // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - -#ifdef __GNUG__ -#pragma implementation "xh_text.h" -#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -19,22 +15,49 @@ #pragma hdrstop #endif +#if wxUSE_XRC && wxUSE_TEXTCTRL + #include "wx/xrc/xh_text.h" -#include "wx/textctrl.h" -wxTextCtrlXmlHandler::wxTextCtrlXmlHandler() : wxXmlResourceHandler() +#ifndef WX_PRECOMP + #include "wx/textctrl.h" +#endif + +IMPLEMENT_DYNAMIC_CLASS(wxTextCtrlXmlHandler, wxXmlResourceHandler) + +wxTextCtrlXmlHandler::wxTextCtrlXmlHandler() : wxXmlResourceHandler() { + XRC_ADD_STYLE(wxTE_NO_VSCROLL); XRC_ADD_STYLE(wxTE_PROCESS_ENTER); XRC_ADD_STYLE(wxTE_PROCESS_TAB); XRC_ADD_STYLE(wxTE_MULTILINE); XRC_ADD_STYLE(wxTE_PASSWORD); XRC_ADD_STYLE(wxTE_READONLY); XRC_ADD_STYLE(wxHSCROLL); + XRC_ADD_STYLE(wxTE_RICH); + XRC_ADD_STYLE(wxTE_RICH2); + XRC_ADD_STYLE(wxTE_AUTO_URL); + XRC_ADD_STYLE(wxTE_NOHIDESEL); + XRC_ADD_STYLE(wxTE_LEFT); + XRC_ADD_STYLE(wxTE_CENTRE); + XRC_ADD_STYLE(wxTE_RIGHT); + XRC_ADD_STYLE(wxTE_DONTWRAP); +#if WXWIN_COMPATIBILITY_2_6 + XRC_ADD_STYLE(wxTE_LINEWRAP); +#endif // WXWIN_COMPATIBILITY_2_6 + XRC_ADD_STYLE(wxTE_CHARWRAP); + XRC_ADD_STYLE(wxTE_WORDWRAP); + + // this style doesn't exist since wx 2.9.0 but we still support it (by + // ignoring it silently) in XRC files to avoid unimportant warnings when + // using XRC produced by old tools + AddStyle(wxT("wxTE_AUTO_SCROLL"), 0); + AddWindowStyles(); } wxObject *wxTextCtrlXmlHandler::DoCreateResource() -{ +{ XRC_MAKE_INSTANCE(text, wxTextCtrl) text->Create(m_parentAsWindow, @@ -46,7 +69,10 @@ wxObject *wxTextCtrlXmlHandler::DoCreateResource() GetName()); SetupWindow(text); - + + if (HasParam(wxT("maxlength"))) + text->SetMaxLength(GetLong(wxT("maxlength"))); + return text; } @@ -54,3 +80,5 @@ bool wxTextCtrlXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxTextCtrl")); } + +#endif // wxUSE_XRC && wxUSE_TEXTCTRL