CharacterIndex lastCursorIndex = 0u;
+ if( mImpl->mEventData )
+ {
+ // If popup shown then hide it by switching to Editing state
+ if ( EventData::SELECTING == mImpl->mEventData->mState ||
+ EventData::SELECTION_CHANGED == mImpl->mEventData->mState ||
+ EventData::EDITING_WITH_POPUP == mImpl->mEventData->mState )
+ {
+ mImpl->ChangeState( EventData::EDITING );
+ }
+ }
+
if( !text.empty() )
{
// Convert text into UTF-32
ResetText();
}
+ mImpl->ChangeState( EventData::EDITING );
+
// Handle the IMF (predicitive text) state changes
if( mImpl->mEventData )
{
const bool isShowingPlaceholderText = mImpl->IsShowingPlaceholderText();
if( 1u == tapCount )
{
- bool tapDuringEditMode( EventData::EDITING == mImpl->mEventData->mState );
-
- if( !isShowingPlaceholderText && tapDuringEditMode )
+ if( !isShowingPlaceholderText &&
+ ( EventData::EDITING == mImpl->mEventData->mState ) )
{
mImpl->mEventData->mDecorator->SetHandleActive( GRAB_HANDLE, true );
mImpl->mEventData->mDecorator->SetPopupActive( false );