path: root/src/lib/elementary/efl_ui_focus_manager_sub.eo
diff options
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-10-20 22:59:05 +0200
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-04-20 14:38:57 +0200
commit01f46ae205bd964e5254793c79a5bc0648c045f5 (patch)
tree952c8162573ad031dd548375d419e6e92bf0227f /src/lib/elementary/efl_ui_focus_manager_sub.eo
parentedje_cc: Keep script block during group inheritance (diff)
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.
Diffstat (limited to 'src/lib/elementary/efl_ui_focus_manager_sub.eo')
1 files changed, 25 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_focus_manager_sub.eo b/src/lib/elementary/efl_ui_focus_manager_sub.eo
new file mode 100644
index 0000000000..984b7e67bb
--- /dev/null
+++ b/src/lib/elementary/efl_ui_focus_manager_sub.eo
@@ -0,0 +1,25 @@
+abstract Efl.Ui.Focus.Manager.Sub (Efl.Ui.Focus.Manager, Efl.Ui.Focus.Object, Efl.Ui.Focus.User)
+ methods {
+ select_set {
+ params {
+ objects : iterator<Efl.Ui.Focus.Object>;
+ }
+ return : list<Efl.Ui.Focus.Object>;
+ }
+ @property parent {
+ values {
+ node : Efl.Ui.Focus.Object;
+ }
+ }
+ }
+ implements {
+ @empty .select_set;
+ @empty Efl.Ui.Focus.Object.geometry_get;
+ @empty Efl.Ui.Focus.Object.focus.get;
+ @empty Efl.Ui.Focus.User.manager.get;
+ Efl.Object.constructor;
+ Efl.Object.destructor;
+ Efl.Object.finalize;
+ }
+} \ No newline at end of file