From: suhyung Eom Date: Fri, 12 Aug 2016 08:50:13 +0000 (-0700) Subject: Merge "Notify multiline hint to IMF context" into devel/master X-Git-Tag: dali_1.2.2~11 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=2cf32ac170f397aacce527efd34909b3fd62efda;hp=5bc695a2316e8dbe2d166ba7afe6c51e3092bb9f Merge "Notify multiline hint to IMF context" into devel/master --- diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.cpp index e35ce05..11dfca9 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.cpp @@ -267,6 +267,10 @@ const std::string& ImfManager::GetSurroundingText() const return Internal::Adaptor::ImfManager::GetImplementation(*this).GetSurroundingText(); } +void ImfManager::NotifyTextInputMultiLine( bool multiLine ) +{ +} + ImfManager::ImfManagerSignalType& ImfManager::ActivatedSignal() { return Internal::Adaptor::ImfManager::GetImplementation(*this).ActivatedSignal(); diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.h index d90e9d4..7049354 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.h @@ -212,6 +212,11 @@ public: */ const std::string& GetSurroundingText() const; + /** + * @brief Notifies IMF context that text input is set to multi line or not + */ + void NotifyTextInputMultiLine( bool multiLine ); + public: // Signals diff --git a/dali-toolkit/internal/text/text-controller-impl.cpp b/dali-toolkit/internal/text/text-controller-impl.cpp index 14670ae..849eb26 100644 --- a/dali-toolkit/internal/text/text-controller-impl.cpp +++ b/dali-toolkit/internal/text/text-controller-impl.cpp @@ -307,6 +307,15 @@ void Controller::Impl::NotifyImfManager() } } +void Controller::Impl::NotifyImfMultiLineStatus() +{ + if ( mEventData ) + { + LayoutEngine::Layout layout = mLayoutEngine.GetLayout(); + mEventData->mImfManager.NotifyTextInputMultiLine( layout == LayoutEngine::MULTI_LINE_BOX ); + } +} + CharacterIndex Controller::Impl::GetLogicalCursorPosition() const { CharacterIndex cursorPosition = 0u; diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h index b220be6..f47fd54 100644 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -439,6 +439,11 @@ struct Controller::Impl void NotifyImfManager(); /** + * @brief Helper to notify IMF manager with multi line status. + */ + void NotifyImfMultiLineStatus(); + + /** * @brief Retrieve the current cursor position. * * @return The cursor position. diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index dbbf523..0b0b77d 100644 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -1992,7 +1992,7 @@ void Controller::KeyboardFocusGainEvent() mImpl->ChangeState( EventData::EDITING ); mImpl->mEventData->mUpdateCursorPosition = true; //If editing started without tap event, cursor update must be triggered. } - + mImpl->NotifyImfMultiLineStatus(); if( mImpl->IsShowingPlaceholderText() ) { // Show alternative placeholder-text when editing