From: Paul Wisbey
Date: Wed, 6 May 2015 15:50:17 +0000 (+0100)
Subject: Simplified the placeholder-text show/hide logic
X-Git-Tag: accepted/tizen/common/20150512.125104~2
X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=ebc5e24273f0d9042194e533a09d989ff6f7b196
Simplified the placeholder-text show/hide logic
Change-Id: I4cd9e7befafcc78fd9f9cb6acdfdc6e79544e8e5
---
diff --git a/dali-toolkit/internal/text/text-controller-impl.cpp b/dali-toolkit/internal/text/text-controller-impl.cpp
index 4ce45eb..f77714c 100644
--- a/dali-toolkit/internal/text/text-controller-impl.cpp
+++ b/dali-toolkit/internal/text/text-controller-impl.cpp
@@ -151,8 +151,6 @@ bool Controller::Impl::ProcessInputEvents()
return false;
}
- mEventData->mDecoratorUpdated = false;
-
if( mEventData->mDecorator )
{
for( std::vector::iterator iter = mEventData->mEventQueue.begin();
@@ -161,16 +159,6 @@ bool Controller::Impl::ProcessInputEvents()
{
switch( iter->type )
{
- case Event::KEYBOARD_FOCUS_GAIN_EVENT:
- {
- OnKeyboardFocus( true );
- break;
- }
- case Event::KEYBOARD_FOCUS_LOST_EVENT:
- {
- OnKeyboardFocus( false );
- break;
- }
case Event::CURSOR_KEY_EVENT:
{
OnCursorKeyEvent( *iter );
@@ -243,7 +231,10 @@ bool Controller::Impl::ProcessInputEvents()
mEventData->mEventQueue.clear();
DALI_LOG_INFO( gLogFilter, Debug::Verbose, "<--Controller::ProcessInputEvents\n" );
- return mEventData->mDecoratorUpdated;
+
+ bool decoratorUpdated = mEventData->mDecoratorUpdated;
+ mEventData->mDecoratorUpdated = false;
+ return decoratorUpdated;
}
void Controller::Impl::UpdateModel( OperationsMask operationsRequired )
@@ -406,24 +397,6 @@ void Controller::Impl::GetDefaultFonts( Vector& fonts, Length numberOfC
}
}
-void Controller::Impl::OnKeyboardFocus( bool hasFocus )
-{
- if( NULL == mEventData )
- {
- // Nothing to do if there is no text input.
- return;
- }
-
- if( !hasFocus )
- {
- ChangeState( EventData::INACTIVE );
- }
- else
- {
- ChangeState( EventData::EDITING );
- }
-}
-
void Controller::Impl::OnCursorKeyEvent( const Event& event )
{
if( NULL == mEventData )
diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h
index 7848541..79792c9 100644
--- a/dali-toolkit/internal/text/text-controller-impl.h
+++ b/dali-toolkit/internal/text/text-controller-impl.h
@@ -42,8 +42,6 @@ struct Event
// Used to queue input events until DoRelayout()
enum Type
{
- KEYBOARD_FOCUS_GAIN_EVENT,
- KEYBOARD_FOCUS_LOST_EVENT,
CURSOR_KEY_EVENT,
TAP_EVENT,
PAN_EVENT,
@@ -296,8 +294,6 @@ struct Controller::Impl
*/
void GetDefaultFonts( Dali::Vector& fonts, Length numberOfCharacters );
- void OnKeyboardFocus( bool hasFocus );
-
void OnCursorKeyEvent( const Event& event );
void OnTapEvent( const Event& event );
diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp
index af06986..5e7a45b 100644
--- a/dali-toolkit/internal/text/text-controller.cpp
+++ b/dali-toolkit/internal/text/text-controller.cpp
@@ -946,8 +946,13 @@ void Controller::KeyboardFocusGainEvent()
if( mImpl->mEventData )
{
- Event event( Event::KEYBOARD_FOCUS_GAIN_EVENT );
- mImpl->mEventData->mEventQueue.push_back( event );
+ mImpl->ChangeState( EventData::EDITING );
+
+ if( mImpl->IsShowingPlaceholderText() )
+ {
+ // Show alternative placeholder-text when editing
+ ShowPlaceholderText();
+ }
mImpl->RequestRelayout();
}
@@ -959,8 +964,13 @@ void Controller::KeyboardFocusLostEvent()
if( mImpl->mEventData )
{
- Event event( Event::KEYBOARD_FOCUS_LOST_EVENT );
- mImpl->mEventData->mEventQueue.push_back( event );
+ mImpl->ChangeState( EventData::INACTIVE );
+
+ if( mImpl->IsShowingPlaceholderText() )
+ {
+ // Revert to regular placeholder-text when not editing
+ ShowPlaceholderText();
+ }
mImpl->RequestRelayout();
}
@@ -1135,14 +1145,8 @@ void Controller::TapEvent( unsigned int tapCount, float x, float y )
{
bool tapDuringEditMode( EventData::EDITING == mImpl->mEventData->mState );
- mImpl->ChangeState( EventData::EDITING );
-
- if( mImpl->IsShowingPlaceholderText() )
- {
- // Alternative placeholder-text is used when editing
- ShowPlaceholderText();
- }
- else if( EventData::EDITING == mImpl->mEventData->mState )
+ if( ! mImpl->IsShowingPlaceholderText() &&
+ EventData::EDITING == mImpl->mEventData->mState )
{
// Grab handle is not shown until a tap is received whilst EDITING
if( tapDuringEditMode )
@@ -1151,6 +1155,8 @@ void Controller::TapEvent( unsigned int tapCount, float x, float y )
}
mImpl->mEventData->mDecorator->SetPopupActive( false );
}
+
+ mImpl->ChangeState( EventData::EDITING );
}
else if( mImpl->mEventData->mSelectionEnabled &&
( 2u == tapCount ) )