summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_focus_manager.eo
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-08-30 22:33:04 +0200
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-08-30 22:39:52 +0200
commitea5b0bdfdeab75db460d4d9ccdb49b8874bcce7e (patch)
treef8ac06539934530c6dcab5b6d6d2193f900ec2db /src/lib/elementary/efl_ui_focus_manager.eo
parent57d5b5921e8a4a05f4a1b468f1cfed74d28b95f9 (diff)
efl_ui_focus_manager: make logical_end work better
it turns out that we should also repsect logical elements that are having a redirect_manager, since they are more at the "end" then a potential regular node. The user now needs to handle the logical_end call on this manager, or handle at all what he wants to do with this information. efl_ui_win now handles it in the way that it just focuses that logical node, (which results in the redirect manager beeing set, then calling again logical_end on that manager. Repeating this until we have finally found a regular node that does fit out needs.
Diffstat (limited to '')
-rw-r--r--src/lib/elementary/efl_ui_focus_manager.eo7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_focus_manager.eo b/src/lib/elementary/efl_ui_focus_manager.eo
index 546f9c38e1..cbfcfed47b 100644
--- a/src/lib/elementary/efl_ui_focus_manager.eo
+++ b/src/lib/elementary/efl_ui_focus_manager.eo
@@ -29,6 +29,11 @@ struct Efl.Ui.Focus.Relations {
29 redirect : Efl.Ui.Focus.Manager; [[Redirect manager]] 29 redirect : Efl.Ui.Focus.Manager; [[Redirect manager]]
30} 30}
31 31
32struct Efl.Ui.Focus.Manager.Logical_End_Detail {
33 is_regular_end : bool;
34 element : Efl.Ui.Focus.Object;
35}
36
32interface Efl.Ui.Focus.Manager { 37interface Efl.Ui.Focus.Manager {
33 [[Calculates the directions of Efl.Ui.Focus.Direction 38 [[Calculates the directions of Efl.Ui.Focus.Direction
34 39
@@ -123,7 +128,7 @@ interface Efl.Ui.Focus.Manager {
123 128
124 The returned object is the last object that would be returned if you start at the root and move the direction into next. 129 The returned object is the last object that would be returned if you start at the root and move the direction into next.
125 ]] 130 ]]
126 return : Efl.Ui.Focus.Object; [[Last object]] 131 return : Efl.Ui.Focus.Manager.Logical_End_Detail; [[Last object]]
127 } 132 }
128 reset_history { 133 reset_history {
129 [[Reset the history stack of this manager object. 134 [[Reset the history stack of this manager object.