[Tizen] Add parameter (bool immediate) to TextChanged signal in interface 42/256042/3 accepted/tizen/6.0/unified/20210329.215611 submit/tizen_6.0/20210329.035131
authorBowon Ryu <bowon.ryu@samsung.com>
Wed, 24 Mar 2021 10:17:05 +0000 (19:17 +0900)
committerJoogab Yun <joogab.yun@samsung.com>
Mon, 29 Mar 2021 01:12:24 +0000 (10:12 +0900)
commit2a386a32eadd81f8f7483f408d06db0d3c15f40e
tree726533d31d90c19b0845e06831f8f81772bb0fb0
parentcef89858f1d7ca38d2db7aecb934ceada5439e09
[Tizen] Add parameter (bool immediate) to TextChanged signal in interface

virtual void TextChanged(bool immediate) = 0;
using immediate, can decide whether we only emit the signal when OnRelayout() is called next time,
otherwise emits it immediately.

* there is a issue that the timing of callback calls has been delayed
due to a recent patch that limits unnecessary callbacks.
(33ccee79d16a90d5f7ab427de1503ccc5bee4324)

Because of this, there is a problem that the TC like example below fails.
This patch can prevents the following issues.

/* example */

bool textChanged;

...

static void OnTextChanged(TextField control)
{
  textChanged = true;
}

...

field.TextChangedSignal().Connect(&OnTextChanged);
textChanged = false;
field.SetProperty(TextField::Property::TEXT, "hello");
DALI_TEST_CHECK(textChanged); // At this point, textChanged is false, so TC Fail occurs.

/* example */

Change-Id: If0a331c56f35eae931b34d128b4fe4282fc686b6
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
automated-tests/src/dali-toolkit/utc-Dali-TextEditor.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp
dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp
dali-toolkit/internal/controls/text-controls/text-editor-impl.h
dali-toolkit/internal/controls/text-controls/text-field-impl.cpp
dali-toolkit/internal/controls/text-controls/text-field-impl.h
dali-toolkit/internal/text/text-controller-event-handler.cpp
dali-toolkit/internal/text/text-controller.cpp [changed mode: 0755->0644]
dali-toolkit/internal/text/text-editable-control-interface.h