X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/df93d8bab70358f8fec85098d83ab076424bae2e..04fa04d8067d235ab45b5bc05b65f0679634b541:/src/xrc/xh_text.cpp diff --git a/src/xrc/xh_text.cpp b/src/xrc/xh_text.cpp index 32ca49658c..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,11 +15,19 @@ #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); @@ -38,13 +42,22 @@ wxTextCtrlXmlHandler::wxTextCtrlXmlHandler() : wxXmlResourceHandler() 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, @@ -56,7 +69,10 @@ wxObject *wxTextCtrlXmlHandler::DoCreateResource() GetName()); SetupWindow(text); - + + if (HasParam(wxT("maxlength"))) + text->SetMaxLength(GetLong(wxT("maxlength"))); + return text; } @@ -64,3 +80,5 @@ bool wxTextCtrlXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxTextCtrl")); } + +#endif // wxUSE_XRC && wxUSE_TEXTCTRL