Clipping support for TextField
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-controller.cpp
index b0fb0d1..c3bec4f 100644 (file)
@@ -41,6 +41,7 @@ using std::vector;
 namespace
 {
 const float MAX_FLOAT = std::numeric_limits<float>::max();
+const std::string EMPTY_STRING;
 } // namespace
 
 namespace Dali
@@ -240,8 +241,14 @@ struct Controller::TextInput
       GetClosestCursorPosition( xPosition, yPosition, height );
 
       mDecorator->SetPosition( PRIMARY_CURSOR, xPosition, yPosition, height );
+      mDecorator->HidePopup();
       mDecoratorUpdated = true;
     }
+    else if ( GRAB_HANDLE_RELEASED == state )
+    {
+      mDecorator->ShowPopup();
+    }
+
   }
 
   void ChangeState( State newState )
@@ -256,6 +263,7 @@ struct Controller::TextInput
         mDecorator->StopCursorBlink();
         mDecorator->SetGrabHandleActive( false );
         mDecorator->SetSelectionActive( false );
+        mDecorator->HidePopup();
         mDecoratorUpdated = true;
       }
       else if ( SELECTING == mState )
@@ -483,7 +491,7 @@ const std::string& Controller::GetDefaultFontFamily() const
     return mImpl->mFontDefaults->mDefaultFontFamily;
   }
 
-  return Dali::String::EMPTY;
+  return EMPTY_STRING;
 }
 
 void Controller::SetDefaultFontStyle( const std::string& defaultFontStyle )
@@ -506,7 +514,7 @@ const std::string& Controller::GetDefaultFontStyle() const
     return mImpl->mFontDefaults->mDefaultFontStyle;
   }
 
-  return Dali::String::EMPTY;
+  return EMPTY_STRING;
 }
 
 void Controller::SetDefaultPointSize( float pointSize )