efl_ui: introduce a focus manager and sub manager object
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>
Thu, 20 Oct 2016 20:59:05 +0000 (22:59 +0200)
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>
Thu, 20 Apr 2017 12:38:57 +0000 (14:38 +0200)
commit01f46ae205bd964e5254793c79a5bc0648c045f5
tree952c8162573ad031dd548375d419e6e92bf0227f
parent2cd1326c8d5407e2e89f01ba4b1f6c7ab6211fc3
efl_ui: introduce a focus manager and sub manager object

The Efl.Ui.Focus.Manager abstracts the creation of a localization graph
and a logical tree. The localization graph is used to find a object
right left up or down of a given object. The logical tree is used to
iterate throuw the containers which are used to build a ui.

Those managers can be used bound to some layer in the ui, so for
example the window is a layer, the content of a scroller is a layer.
With those layers, we can make sure that movements of a scroller for
example just means that this graph of objects in the scroller needs to
be recalculated, and not the complete ui.

The advantage of having this to layer bound datastructures is that you
can easily debug those graphs, since the complete layer of this
managerobject can be calculated completly.
17 files changed:
src/Makefile_Elementary.am
src/lib/elementary/Elementary.h
src/lib/elementary/efl_ui_focus_manager.c [new file with mode: 0644]
src/lib/elementary/efl_ui_focus_manager.eo [new file with mode: 0644]
src/lib/elementary/efl_ui_focus_manager_sub.c [new file with mode: 0644]
src/lib/elementary/efl_ui_focus_manager_sub.eo [new file with mode: 0644]
src/lib/elementary/efl_ui_focus_object.c [new file with mode: 0644]
src/lib/elementary/efl_ui_focus_object.eo [new file with mode: 0644]
src/lib/elementary/efl_ui_focus_user.eo [new file with mode: 0644]
src/tests/elementary/elm_suite.c
src/tests/elementary/elm_suite.h
src/tests/elementary/elm_test_focus.c [new file with mode: 0644]
src/tests/elementary/elm_test_focus_common.c [new file with mode: 0644]
src/tests/elementary/elm_test_focus_common.h [new file with mode: 0644]
src/tests/elementary/elm_test_focus_sub.c [new file with mode: 0644]
src/tests/elementary/focus_test.eo [new file with mode: 0644]
src/tests/elementary/focus_test_sub.eo [new file with mode: 0644]