// Author: Stefan Csomor
// Modified by: Kevin Ollivier
// Created: 1998-01-01
-// RCS-ID: $Id: textctrl.cpp 54820 2008-07-29 20:04:11Z SC $
+// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
void wxTextEntry::Remove(long from, long to)
{
- GetTextPeer()->Remove( from , to ) ;
+ {
+ EventsSuppressor noevents(this);
+ GetTextPeer()->Remove( from , to );
+ }
+
+ SendTextUpdatedEventIfAllowed();
}
void wxTextEntry::SetSelection(long from, long to)
void wxTextEntry::WriteText(const wxString& str)
{
- GetTextPeer()->WriteText( str ) ;
+ {
+ EventsSuppressor noevents(this);
+ GetTextPeer()->WriteText( str );
+ }
+
+ SendTextUpdatedEventIfAllowed();
}
void wxTextEntry::Clear()
{
- GetTextPeer()->Clear() ;
+ {
+ EventsSuppressor noevents(this);
+ GetTextPeer()->Clear();
+ }
+
+ SendTextUpdatedEventIfAllowed();
}
bool wxTextEntry::IsEditable() const
wxTextWidgetImpl * wxTextEntry::GetTextPeer() const
{
- wxFAIL_MSG("You need to implement wxTextWidgetImpl* GetTextPeer() in your wxTextEntry subclass if you want to use the native impls of its methods.");
- return NULL;
+ wxWindow * const win = const_cast<wxTextEntry *>(this)->GetEditableWindow();
+
+ return win ? dynamic_cast<wxTextWidgetImpl *>(win->GetPeer()) : NULL;
}
+
#endif // wxUSE_TEXTCTRL