X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-field-impl.cpp;h=fabfc7d9b8f186a41180cd335267112e53bea60c;hp=5f8d498ab387f5352580f6cc848c6c5524f97b7e;hb=6f62c2545af5b288bf447c380ccfb562cc7a4370;hpb=2834ffdeb2f24bcea9d6321e524af0877977545d diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp index 5f8d498..fabfc7d 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -26,6 +26,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -210,7 +211,7 @@ void TextField::SetProperty( BaseObject* object, Property::Index index, const Pr { if( impl.mController ) { - //impl.mController->SetEnableCursorBlink( value.Get< bool >() ); TODO + impl.mController->SetEnableCursorBlink( value.Get< bool >() ); } break; } @@ -324,7 +325,7 @@ Property::Value TextField::GetProperty( BaseObject* object, Property::Index inde } case Toolkit::TextField::Property::ENABLE_CURSOR_BLINK: { - //value = impl.mController->GetEnableCursorBlink(); TODO + value = impl.mController->GetEnableCursorBlink(); break; } case Toolkit::TextField::Property::CURSOR_BLINK_INTERVAL: @@ -450,8 +451,28 @@ void TextField::OnRelayout( const Vector2& size, ActorSizeContainer& container ) } } +void TextField::OnKeyInputFocusGained() +{ + VirtualKeyboard::StatusChangedSignal().Connect( this, &TextField::KeyboardStatusChanged ); + + mController->KeyboardFocusGainEvent(); +} + +void TextField::OnKeyInputFocusLost() +{ + VirtualKeyboard::StatusChangedSignal().Disconnect( this, &TextField::KeyboardStatusChanged ); + + mController->KeyboardFocusLostEvent(); +} + void TextField::OnTap( const TapGesture& gesture ) { + // Show the keyboard if it was hidden. + if (!VirtualKeyboard::IsVisible()) + { + VirtualKeyboard::Show(); + } + SetKeyInputFocus(); mController->TapEvent( gesture.numberOfTaps, gesture.localPoint.x, gesture.localPoint.y ); @@ -500,6 +521,15 @@ void TextField::EnableClipping( bool clipping, const Vector2& size ) } } +void TextField::KeyboardStatusChanged(bool keyboardShown) +{ + // Just hide the grab handle when keyboard is hidden. + if (!keyboardShown ) + { + mController->KeyboardFocusLostEvent(); + } +} + TextField::TextField() : Control( ControlBehaviour( REQUIRES_STYLE_CHANGE_SIGNALS ) ), mRenderingBackend( DEFAULT_RENDERING_BACKEND ),