dali-toolkit: update text selection UI handles with selection properties 09/245709/2
authorAli Alzyod <ali198724@gmail.com>
Wed, 14 Oct 2020 12:28:58 +0000 (15:28 +0300)
committerAli Alzyoud <ali198724@gmail.com>
Sun, 18 Oct 2020 08:07:35 +0000 (08:07 +0000)
commite56c0a2c82c467e236ac64f73b0fe2fbfde2ac9d
treeb99907e64ea014a05c781daed9a87af534c3323d
parent27e7fb1ad1e36527c7af8b739ec49ac19b4ff309
dali-toolkit: update text selection UI handles with selection properties

sample code to produce the issue :

```
#include <dali-toolkit/dali-toolkit.h>
#include <dali-toolkit/devel-api/controls/text-controls/text-editor-devel.h>
#include <dali-toolkit/devel-api/controls/text-controls/text-field-devel.h>
#include <iostream>

using namespace Dali;
using namespace Dali::Toolkit;

class SimpleApp : public ConnectionTracker
{
public:
  SimpleApp(Application& application)
  : mApplication(application)
  {
    mApplication.InitSignal().Connect(this, &SimpleApp::Create);
  }

  void Create(Application& application)
  {
    window = application.GetWindow();
    window.SetBackgroundColor(Vector4(0.04f, 0.345f, 0.392f, 1.0f));

    mTextEditor = TextEditor::New();
    mTextEditor.SetProperty(TextEditor::Property::TEXT, "Tex1\nTex2");
    mTextEditor.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
    mTextEditor.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
    mTextEditor.SetProperty(Actor::Property::SIZE, Vector2(60.0f, 60.0f));
    mTextEditor.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.f, 0.f));
    window.Add(mTextEditor);

    mBtnEditable = PushButton::New();
    mTextEditor.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
    mTextEditor.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
    mBtnEditable.SetProperty(Actor::Property::SIZE, Vector2(120.f, 80.f));
    mBtnEditable.SetProperty(Actor::Property::POSITION, Vector2(100, 220.f));
    mBtnEditable.SetBackgroundColor(Color::RED);
    mBtnEditable.SetProperty(Button::Property::LABEL, "select");
    mBtnEditable.ClickedSignal().Connect(this, &SimpleApp::OnButtonClicked);
    window.Add(mBtnEditable);
  }

  bool OnButtonClicked(Button button)
  {
    mTextEditor.SetProperty(DevelTextField::Property::SELECTED_TEXT_START, 0);
    mTextEditor.SetProperty(DevelTextField::Property::SELECTED_TEXT_END, 10);
    return true;
  }

private:
  Application& mApplication;
  TextEditor mTextEditor;
  PushButton mBtnEditable;
  Window window;
};

int DALI_EXPORT_API main(int argc, char** argv)
{
  Application application = Application::New(&argc, &argv);
  SimpleApp test(application);
  application.MainLoop();

  return 0;
}
```

Change-Id: I9f29db01d60a53e578ee2b584caceb9c94b2e0ea
dali-toolkit/internal/text/text-controller-impl.cpp