X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller-event-handler.cpp;h=59f0b8d53dce05cd4998024c335172875ccc88f4;hp=d5c41a101ad581add4c5c3db9a771f8242a883da;hb=3e844ed708b1cbe03cd5bfe9ad202aad27bbe360;hpb=66dc29e50b21f132ca11e1b274c401c243938281 diff --git a/dali-toolkit/internal/text/text-controller-event-handler.cpp b/dali-toolkit/internal/text/text-controller-event-handler.cpp index d5c41a1..59f0b8d 100644 --- a/dali-toolkit/internal/text/text-controller-event-handler.cpp +++ b/dali-toolkit/internal/text/text-controller-event-handler.cpp @@ -336,6 +336,15 @@ bool Controller::EventHandler::KeyEvent(Controller& controller, const Dali::KeyE controller.mImpl->RequestRelayout(); } } + else if((NULL != controller.mImpl->mEventData) && (keyEvent.GetState() == KeyEvent::UP)) + { + // Handles specific keys that require event propagation. + if(Dali::DALI_KEY_BACK == keyEvent.GetKeyCode()) + { + // Do nothing + return false; + } + } if(textChanged && (NULL != controller.mImpl->mEditableControlInterface)) @@ -809,6 +818,21 @@ InputMethodContext::CallbackData Controller::EventHandler::OnInputMethodContextE retrieveCursor = true; break; } + case InputMethodContext::SELECTION_SET: + { + uint32_t start = static_cast(inputMethodContextEvent.startIndex); + uint32_t end = static_cast(inputMethodContextEvent.endIndex); + if(start == end) + { + controller.SetPrimaryCursorPosition(start, true); + } + else + { + controller.SelectText(start, end); + } + + break; + } case InputMethodContext::VOID: { // do nothing