X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f25881804583790351480098b50f4ce1b924e697..bcfe86f0b5aae2ea3cd6c5e9a202d19bdbb21b25:/src/xrc/xh_text.cpp diff --git a/src/xrc/xh_text.cpp b/src/xrc/xh_text.cpp index 8a77e6ae7b..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,45 +15,70 @@ #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() { - ADD_STYLE(wxTE_PROCESS_ENTER); - ADD_STYLE(wxTE_PROCESS_TAB); - ADD_STYLE(wxTE_MULTILINE); - ADD_STYLE(wxTE_PASSWORD); - ADD_STYLE(wxTE_READONLY); - ADD_STYLE(wxHSCROLL); + 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() -{ - wxTextCtrl *text = wxStaticCast(m_instance, wxTextCtrl); - - if ( !text ) - text = new wxTextCtrl; +{ + XRC_MAKE_INSTANCE(text, wxTextCtrl) - text->Create( m_parentAsWindow, - GetID(), - GetText(wxT("value")), - GetPosition(), GetSize(), - GetStyle(), - wxDefaultValidator, - GetName() ); + text->Create(m_parentAsWindow, + GetID(), + GetText(wxT("value")), + GetPosition(), GetSize(), + GetStyle(), + wxDefaultValidator, + GetName()); SetupWindow(text); - - return text; -} + if (HasParam(wxT("maxlength"))) + text->SetMaxLength(GetLong(wxT("maxlength"))); + return text; +} bool wxTextCtrlXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxTextCtrl")); } - +#endif // wxUSE_XRC && wxUSE_TEXTCTRL