efl_ui_widget: redo disable handling
authorMike Blumenkrantz <zmike@samsung.com>
Wed, 27 Feb 2019 19:00:14 +0000 (14:00 -0500)
committerWonki Kim <wonki_.kim@samsung.com>
Fri, 8 Mar 2019 11:49:36 +0000 (20:49 +0900)
commit31a38db7b7f040388b196e941236323a6d77d126
tree92e5af159395b2accb7d5bed0cb6091de326c86a
parent04241767c56c11c05e4cccf1b1df2773f8313b0b
efl_ui_widget: redo disable handling

before the disable property was a bit weird. Setting something to
disabled=true will disable all children of the widget that is changed.
However, only the update function of the children will get the false flag,
not the flag itself. Which means, to query the real disabled state, we
need to walk up the parent relations.

With this patch, every change to disabled will go through the disabled
property, which mean, a implementor can just overwrite the disabled
property, and adjust its internal state there. Just be carefull, a set
to disabled=true still might result in disabled=false. This makes the
function on_disable_update unneccesary. Which also cleans up the
Efl.Ui.Widget class.

ref T7553

Depends on D8016

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8017
25 files changed:
src/lib/elementary/efl_ui_layout.c
src/lib/elementary/efl_ui_layout_base.eo
src/lib/elementary/efl_ui_panel.c
src/lib/elementary/efl_ui_panel.eo
src/lib/elementary/efl_ui_text.c
src/lib/elementary/efl_ui_text.eo
src/lib/elementary/efl_ui_widget.c
src/lib/elementary/efl_ui_widget.eo
src/lib/elementary/efl_ui_win.c
src/lib/elementary/elm_entry.c
src/lib/elementary/elm_entry.eo
src/lib/elementary/elm_gesture_layer.c
src/lib/elementary/elm_gesture_layer.eo
src/lib/elementary/elm_list.c
src/lib/elementary/elm_list.eo
src/lib/elementary/elm_main.c
src/lib/elementary/elm_panel.c
src/lib/elementary/elm_panel.eo
src/lib/elementary/elm_segment_control.c
src/lib/elementary/elm_segment_control.eo
src/lib/elementary/elm_slider.c
src/lib/elementary/elm_slider.eo
src/lib/elementary/elm_widget.h
src/lib/elementary_tizen/elc_ctxpopup.c
src/tests/elementary/elm_test_box.c