// Purpose: wxTextEntryBase implementation
// Author: Vadim Zeitlin
// Created: 2007-09-26
-// RCS-ID: $Id$
// Copyright: (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
wxTextEntryHintData::OnSetFocus, this);
wxBIND_OR_CONNECT_HACK(win, wxEVT_KILL_FOCUS, wxFocusEventHandler,
wxTextEntryHintData::OnKillFocus, this);
- wxBIND_OR_CONNECT_HACK(win, wxEVT_COMMAND_TEXT_UPDATED,
+ wxBIND_OR_CONNECT_HACK(win, wxEVT_TEXT,
wxCommandEventHandler,
wxTextEntryHintData::OnTextChanged, this);
}
void wxTextEntryBase::DoSetValue(const wxString& value, int flags)
{
- if ( value != GetValue() )
+ if ( value != DoGetValue() )
{
EventsSuppressor noeventsIf(this, !(flags & SetValue_SendEvent));
SelectAll();
WriteText(value);
+
+ SetInsertionPoint(0);
}
else // Same value, no need to do anything.
{
// Except that we still need to generate the event for consistency with
// the normal case when the text does change.
- SendTextUpdatedEvent(GetEditableWindow());
+ if ( flags & SetValue_SendEvent )
+ SendTextUpdatedEvent(GetEditableWindow());
}
-
- SetInsertionPoint(0);
}
void wxTextEntryBase::Replace(long from, long to, const wxString& value)
{
wxCHECK_MSG( win, false, "can't send an event without a window" );
- wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, win->GetId());
+ wxCommandEvent event(wxEVT_TEXT, win->GetId());
// do not do this as it could be very inefficient if the text control
// contains a lot of text and we're not using ref-counted wxString