return Internal::Adaptor::ImfManager::GetImplementation(*this).GetSurroundingText();
}
+void ImfManager::NotifyTextInputMultiLine( bool multiLine )
+{
+}
+
ImfManager::ImfManagerSignalType& ImfManager::ActivatedSignal()
{
return Internal::Adaptor::ImfManager::GetImplementation(*this).ActivatedSignal();
*/
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
}
}
+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;
void NotifyImfManager();
/**
+ * @brief Helper to notify IMF manager with multi line status.
+ */
+ void NotifyImfMultiLineStatus();
+
+ /**
* @brief Retrieve the current cursor position.
*
* @return The cursor position.
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