// INTERNAL INCLUDES
#include <dali-toolkit/internal/text/cursor-helper-functions.h>
#include <dali-toolkit/internal/text/text-controller-impl.h>
+#include <dali-toolkit/internal/text/text-controller-placeholder-handler.h>
+#include <dali-toolkit/internal/text/text-controller-text-updater.h>
#include <dali-toolkit/internal/text/text-editable-control-interface.h>
namespace
if(controller.mImpl->IsShowingPlaceholderText())
{
// Show alternative placeholder-text when editing
- controller.ShowPlaceholderText();
+ PlaceholderHandler::ShowPlaceholderText(*controller.mImpl);
}
controller.mImpl->RequestRelayout();
if(!controller.mImpl->IsShowingRealText())
{
// Revert to regular placeholder-text when not editing
- controller.ShowPlaceholderText();
+ PlaceholderHandler::ShowPlaceholderText(*controller.mImpl);
}
}
}
else if((Dali::DALI_KEY_BACKSPACE == keyCode) ||
(Dali::DevelKey::DALI_KEY_DELETE == keyCode))
{
- textChanged = controller.DeleteEvent(keyCode);
+ textChanged = DeleteEvent(controller, keyCode);
// Will request for relayout.
relayoutNeeded = true;
// InputMethodContext is no longer handling key-events
controller.mImpl->ClearPreEditFlag();
- controller.InsertText(refinedKey, COMMIT);
+ TextUpdater::InsertText(controller, refinedKey, COMMIT);
textChanged = true;
if(controller.mImpl->IsShowingPlaceholderText() && !controller.mImpl->IsFocusedPlaceholderAvailable())
{
// Hide placeholder text
- controller.ResetText();
+ TextUpdater::ResetText(controller);
}
if(EventData::INACTIVE == state)
// A (single) replace event should come first, otherwise we wasted time processing NOOP events
DALI_ASSERT_DEBUG(it == events.Begin() && "Unexpected TEXT_REPLACED event");
- controller.TextReplacedEvent();
+ TextReplacedEvent(controller);
}
else if(ModifyEvent::TEXT_INSERTED == event.type)
{
- controller.TextInsertedEvent();
+ TextInsertedEvent(controller);
}
else if(ModifyEvent::TEXT_DELETED == event.type)
{
// Placeholder-text cannot be deleted
if(!controller.mImpl->IsShowingPlaceholderText())
{
- controller.TextDeletedEvent();
+ TextDeletedEvent(controller);
}
}
}
if(EventData::SELECTING == controller.mImpl->mEventData->mState)
{
- removed = controller.RemoveSelectedText();
+ removed = TextUpdater::RemoveSelectedText(controller);
}
else if((controller.mImpl->mEventData->mPrimaryCursorPosition > 0) && (keyCode == Dali::DALI_KEY_BACKSPACE))
{
// Remove the character before the current cursor position
- removed = controller.RemoveText(-1,
- 1,
- UPDATE_INPUT_STYLE);
+ removed = TextUpdater::RemoveText(controller, -1, 1, UPDATE_INPUT_STYLE);
}
else if((controller.mImpl->mEventData->mPrimaryCursorPosition < controller.mImpl->mModel->mLogicalModel->mText.Count()) &&
(keyCode == Dali::DevelKey::DALI_KEY_DELETE))
{
// Remove the character after the current cursor position
- removed = controller.RemoveText(0,
- 1,
- UPDATE_INPUT_STYLE);
+ removed = TextUpdater::RemoveText(controller, 0, 1, UPDATE_INPUT_STYLE);
}
if(removed)
}
else
{
- controller.ShowPlaceholderText();
+ PlaceholderHandler::ShowPlaceholderText(*controller.mImpl);
}
controller.mImpl->mEventData->mUpdateCursorPosition = true;
controller.mImpl->mEventData->mScrollAfterDelete = true;
{
case InputMethodContext::COMMIT:
{
- controller.InsertText(inputMethodContextEvent.predictiveString, Text::Controller::COMMIT);
+ TextUpdater::InsertText(controller, inputMethodContextEvent.predictiveString, Text::Controller::COMMIT);
requestRelayout = true;
retrieveCursor = true;
break;
}
case InputMethodContext::PRE_EDIT:
{
- controller.InsertText(inputMethodContextEvent.predictiveString, Text::Controller::PRE_EDIT);
+ TextUpdater::InsertText(controller, inputMethodContextEvent.predictiveString, Text::Controller::PRE_EDIT);
requestRelayout = true;
retrieveCursor = true;
break;
}
case InputMethodContext::DELETE_SURROUNDING:
{
- const bool textDeleted = controller.RemoveText(inputMethodContextEvent.cursorOffset,
- inputMethodContextEvent.numberOfChars,
- DONT_UPDATE_INPUT_STYLE);
+ const bool textDeleted = TextUpdater::RemoveText(controller,
+ inputMethodContextEvent.cursorOffset,
+ inputMethodContextEvent.numberOfChars,
+ DONT_UPDATE_INPUT_STYLE);
if(textDeleted)
{
}
else
{
- controller.ShowPlaceholderText();
+ PlaceholderHandler::ShowPlaceholderText(*controller.mImpl);
}
controller.mImpl->mEventData->mUpdateCursorPosition = true;
controller.mImpl->mEventData->mScrollAfterDelete = true;
controller.mImpl->SetClipboardHideEnable(false);
// Paste
- controller.PasteText(stringToPaste);
+ TextUpdater::PasteText(controller, stringToPaste);
controller.mImpl->SetClipboardHideEnable(true);
}
if(controller.mImpl->mEventData->mSelectionEnabled)
{
// Creates a SELECT event.
- controller.SelectEvent(currentCursorPosition.x, currentCursorPosition.y, SelectionType::INTERACTIVE);
+ SelectEvent(controller, currentCursorPosition.x, currentCursorPosition.y, SelectionType::INTERACTIVE);
}
break;
}
case Toolkit::TextSelectionPopup::SELECT_ALL:
{
// Creates a SELECT_ALL event
- controller.SelectEvent(0.f, 0.f, SelectionType::ALL);
+ SelectEvent(controller, 0.f, 0.f, SelectionType::ALL);
break;
}
case Toolkit::TextSelectionPopup::CLIPBOARD: