X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a1c7668e50aefc3b44da5c3e435e9988d4219eb9..57d3e26697255a5c5154b4a0dc26d6eab23ff871:/src/xrc/xh_text.cpp diff --git a/src/xrc/xh_text.cpp b/src/xrc/xh_text.cpp index 3e89a272ce..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,15 +15,19 @@ #pragma hdrstop #endif +#if wxUSE_XRC && wxUSE_TEXTCTRL + #include "wx/xrc/xh_text.h" -#include "wx/textctrl.h" + +#ifndef WX_PRECOMP + #include "wx/textctrl.h" +#endif IMPLEMENT_DYNAMIC_CLASS(wxTextCtrlXmlHandler, wxXmlResourceHandler) -wxTextCtrlXmlHandler::wxTextCtrlXmlHandler() : wxXmlResourceHandler() +wxTextCtrlXmlHandler::wxTextCtrlXmlHandler() : wxXmlResourceHandler() { XRC_ADD_STYLE(wxTE_NO_VSCROLL); - XRC_ADD_STYLE(wxTE_AUTO_SCROLL); XRC_ADD_STYLE(wxTE_PROCESS_ENTER); XRC_ADD_STYLE(wxTE_PROCESS_TAB); XRC_ADD_STYLE(wxTE_MULTILINE); @@ -42,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, @@ -60,7 +69,10 @@ wxObject *wxTextCtrlXmlHandler::DoCreateResource() GetName()); SetupWindow(text); - + + if (HasParam(wxT("maxlength"))) + text->SetMaxLength(GetLong(wxT("maxlength"))); + return text; } @@ -68,3 +80,5 @@ bool wxTextCtrlXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxTextCtrl")); } + +#endif // wxUSE_XRC && wxUSE_TEXTCTRL