summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2018-11-22 17:54:57 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2018-11-26 11:37:04 +0100
commitfccc5fc438f798d0bd71c45d18691ce3fd5b754d (patch)
tree1342b8ffe7b48176b3b9374d63050d683414a48b /src
parente661c4acc3805bc0d2b76b83352d43211e59498c (diff)
elm_focus: implement missing functions
there is one function that needs to be implemented by the inheritor of Efl.Ui.Focus.Object and that is focus_parent, otherwise child_focus cannot be propagated correctly. This is now achived correctly for all widgets. This fixes from elm_object_focus_get results for toolbar and calendar. Segmentcontrol inherits from the class, however, the widget itself does not allow focus, so its never registered probebly. Differential Revision: https://phab.enlightenment.org/D7331
Diffstat (limited to 'src')
-rw-r--r--src/lib/elementary/efl_ui_calendar.c6
-rw-r--r--src/lib/elementary/efl_ui_calendar_item.eo1
-rw-r--r--src/lib/elementary/elm_calendar.c7
-rw-r--r--src/lib/elementary/elm_calendar_item.eo1
-rw-r--r--src/lib/elementary/elm_segment_control.c6
-rw-r--r--src/lib/elementary/elm_segment_control_item.eo1
-rw-r--r--src/lib/elementary/elm_toolbar.c6
-rw-r--r--src/lib/elementary/elm_toolbar_item.eo1
8 files changed, 29 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_calendar.c b/src/lib/elementary/efl_ui_calendar.c
index 15ab19bfc7..ae0e0ab69c 100644
--- a/src/lib/elementary/efl_ui_calendar.c
+++ b/src/lib/elementary/efl_ui_calendar.c
@@ -1301,4 +1301,10 @@ _efl_ui_calendar_item_efl_ui_focus_object_focus_geometry_get(const Eo *obj EINA_
1301 return efl_gfx_entity_geometry_get(pd->part); 1301 return efl_gfx_entity_geometry_get(pd->part);
1302} 1302}
1303 1303
1304EOLIAN static Efl_Ui_Focus_Object*
1305_efl_ui_calendar_item_efl_ui_focus_object_focus_parent_get(const Eo *obj, Efl_Ui_Calendar_Item_Data *pd EINA_UNUSED)
1306{
1307 return efl_parent_get(obj);
1308}
1309
1304#include "efl_ui_calendar_item.eo.c" 1310#include "efl_ui_calendar_item.eo.c"
diff --git a/src/lib/elementary/efl_ui_calendar_item.eo b/src/lib/elementary/efl_ui_calendar_item.eo
index d2d5c46609..cccc17c59a 100644
--- a/src/lib/elementary/efl_ui_calendar_item.eo
+++ b/src/lib/elementary/efl_ui_calendar_item.eo
@@ -11,6 +11,7 @@ class Efl.Ui.Calendar_Item (Efl.Object, Efl.Ui.Focus.Object)
11 } 11 }
12 implements { 12 implements {
13 Efl.Ui.Focus.Object.focus {set;} 13 Efl.Ui.Focus.Object.focus {set;}
14 Efl.Ui.Focus.Object.focus_parent {get;}
14 Efl.Ui.Focus.Object.focus_geometry {get;} 15 Efl.Ui.Focus.Object.focus_geometry {get;}
15 } 16 }
16} 17}
diff --git a/src/lib/elementary/elm_calendar.c b/src/lib/elementary/elm_calendar.c
index 82335e7376..75fde218aa 100644
--- a/src/lib/elementary/elm_calendar.c
+++ b/src/lib/elementary/elm_calendar.c
@@ -1979,4 +1979,11 @@ _elm_calendar_item_efl_ui_focus_object_focus_geometry_get(const Eo *obj EINA_UNU
1979 return efl_gfx_entity_geometry_get(pd->part); 1979 return efl_gfx_entity_geometry_get(pd->part);
1980} 1980}
1981 1981
1982EOLIAN static Efl_Ui_Focus_Object*
1983_elm_calendar_item_efl_ui_focus_object_focus_parent_get(const Eo *obj, Elm_Calendar_Item_Data *pd EINA_UNUSED)
1984{
1985 return efl_parent_get(obj);
1986}
1987
1988
1982#include "elm_calendar_item.eo.c" 1989#include "elm_calendar_item.eo.c"
diff --git a/src/lib/elementary/elm_calendar_item.eo b/src/lib/elementary/elm_calendar_item.eo
index e5c2696ba4..3ae581d435 100644
--- a/src/lib/elementary/elm_calendar_item.eo
+++ b/src/lib/elementary/elm_calendar_item.eo
@@ -11,6 +11,7 @@ class Elm.Calendar.Item (Efl.Object, Efl.Ui.Focus.Object)
11 } 11 }
12 implements { 12 implements {
13 Efl.Ui.Focus.Object.focus {set;} 13 Efl.Ui.Focus.Object.focus {set;}
14 Efl.Ui.Focus.Object.focus_parent {get;}
14 Efl.Ui.Focus.Object.focus_geometry {get;} 15 Efl.Ui.Focus.Object.focus_geometry {get;}
15 } 16 }
16} 17}
diff --git a/src/lib/elementary/elm_segment_control.c b/src/lib/elementary/elm_segment_control.c
index 5c7af09b7a..13d7a66602 100644
--- a/src/lib/elementary/elm_segment_control.c
+++ b/src/lib/elementary/elm_segment_control.c
@@ -819,6 +819,12 @@ _elm_segment_control_item_efl_ui_focus_object_focus_geometry_get(const Eo *obj E
819 return efl_gfx_entity_geometry_get(VIEW(pd)); 819 return efl_gfx_entity_geometry_get(VIEW(pd));
820} 820}
821 821
822EOLIAN static Efl_Ui_Focus_Object*
823_elm_segment_control_item_efl_ui_focus_object_focus_parent_get(const Eo *obj EINA_UNUSED, Elm_Segment_Control_Item_Data *pd)
824{
825 return WIDGET(pd);
826}
827
822/* Internal EO APIs and hidden overrides */ 828/* Internal EO APIs and hidden overrides */
823 829
824#define ELM_SEGMENT_CONTROL_EXTRA_OPS \ 830#define ELM_SEGMENT_CONTROL_EXTRA_OPS \
diff --git a/src/lib/elementary/elm_segment_control_item.eo b/src/lib/elementary/elm_segment_control_item.eo
index dab3f9cc24..666737a5ef 100644
--- a/src/lib/elementary/elm_segment_control_item.eo
+++ b/src/lib/elementary/elm_segment_control_item.eo
@@ -42,5 +42,6 @@ class Elm.Segment_Control.Item(Elm.Widget.Item, Efl.Ui.Focus.Object, Efl.Ui.Lega
42 Elm.Widget.Item.part_text { get; set; } 42 Elm.Widget.Item.part_text { get; set; }
43 Elm.Widget.Item.part_content { get; set; } 43 Elm.Widget.Item.part_content { get; set; }
44 Efl.Ui.Focus.Object.focus_geometry {get; } 44 Efl.Ui.Focus.Object.focus_geometry {get; }
45 Efl.Ui.Focus.Object.focus_parent {get;}
45 } 46 }
46} 47}
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index 23c683ee83..b01a043a79 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -4070,6 +4070,12 @@ _elm_toolbar_efl_ui_focus_composition_prepare(Eo *obj, Elm_Toolbar_Data *pd)
4070 efl_ui_focus_composition_elements_set(obj, order); 4070 efl_ui_focus_composition_elements_set(obj, order);
4071} 4071}
4072 4072
4073EOLIAN static Efl_Ui_Focus_Object*
4074_elm_toolbar_item_efl_ui_focus_object_focus_parent_get(const Eo *obj, Elm_Toolbar_Item_Data *pd)
4075{
4076 return WIDGET(pd);
4077}
4078
4073 4079
4074/* Standard widget overrides */ 4080/* Standard widget overrides */
4075 4081
diff --git a/src/lib/elementary/elm_toolbar_item.eo b/src/lib/elementary/elm_toolbar_item.eo
index b5c8ec7aa9..8154c53615 100644
--- a/src/lib/elementary/elm_toolbar_item.eo
+++ b/src/lib/elementary/elm_toolbar_item.eo
@@ -322,6 +322,7 @@ class Elm.Toolbar_Item(Elm.Widget.Item, Efl.Ui.Focus.Object, Efl.Ui.Legacy)
322 Elm.Widget.Item.part_content_unset; 322 Elm.Widget.Item.part_content_unset;
323 Efl.Ui.Focus.Object.focus_geometry { get; } 323 Efl.Ui.Focus.Object.focus_geometry { get; }
324 Efl.Ui.Focus.Object.focus { set; } 324 Efl.Ui.Focus.Object.focus { set; }
325 Efl.Ui.Focus.Object.focus_parent { get; }
325 Efl.Access.Object.i18n_name { get; } 326 Efl.Access.Object.i18n_name { get; }
326 Efl.Access.Object.state_set { get; } 327 Efl.Access.Object.state_set { get; }
327 } 328 }