diff options
author | Lukasz Stanislawski <l.stanislaws@samsung.com> | 2014-07-25 10:33:19 +0200 |
---|---|---|
committer | Lukasz Stanislawski <l.stanislaws@samsung.com> | 2014-07-25 11:58:16 +0200 |
commit | 4dcb2df11c1bb99e310f43e2951bdfb87e43f057 (patch) | |
tree | 25b468eb70e694f2e1cdde8b36e8aaefb49b369a /src/lib | |
parent | 06cd087da13b7703725b65074b556e435dbf28c9 (diff) |
atspi: expose more actions through atspi bus.
Summary:
Main purpose of exposing widget actions and keyboard shortcuts
is to allow accessibility clients to implement alternative methods
of GUI navigation.
Reviewers: z.kosinski
Reviewed By: z.kosinski
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D1227
Diffstat (limited to 'src/lib')
55 files changed, 564 insertions, 53 deletions
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index efff27023..11e5e3638 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am | |||
@@ -50,6 +50,7 @@ includesunstable_HEADERS = \ | |||
50 | elm_gen_common.h \ | 50 | elm_gen_common.h \ |
51 | elm_interface_atspi_accessible.h \ | 51 | elm_interface_atspi_accessible.h \ |
52 | elm_interface_atspi_text.h \ | 52 | elm_interface_atspi_text.h \ |
53 | elm_interface_atspi_widget_action.h \ | ||
53 | elm_interface_fileselector.h \ | 54 | elm_interface_fileselector.h \ |
54 | elm_interface_scrollable.h \ | 55 | elm_interface_scrollable.h \ |
55 | elm_widget.h \ | 56 | elm_widget.h \ |
diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c index a2ae83d25..072638d20 100644 --- a/src/lib/elc_ctxpopup.c +++ b/src/lib/elc_ctxpopup.c | |||
@@ -11,6 +11,10 @@ | |||
11 | #include "elm_interface_atspi_accessible.h" | 11 | #include "elm_interface_atspi_accessible.h" |
12 | #include "elm_interface_atspi_accessible.eo.h" | 12 | #include "elm_interface_atspi_accessible.eo.h" |
13 | 13 | ||
14 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
15 | #include "elm_interface_atspi_widget_action.h" | ||
16 | #include "elm_interface_atspi_widget_action.eo.h" | ||
17 | |||
14 | #define MY_CLASS ELM_CTXPOPUP_CLASS | 18 | #define MY_CLASS ELM_CTXPOPUP_CLASS |
15 | 19 | ||
16 | #define MY_CLASS_NAME "Elm_Ctxpopup" | 20 | #define MY_CLASS_NAME "Elm_Ctxpopup" |
@@ -1436,4 +1440,19 @@ _item_new(Eo *obj, | |||
1436 | return item; | 1440 | return item; |
1437 | } | 1441 | } |
1438 | 1442 | ||
1443 | EOLIAN static const Elm_Atspi_Action* | ||
1444 | _elm_ctxpopup_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED) | ||
1445 | { | ||
1446 | static Elm_Atspi_Action atspi_actions[] = { | ||
1447 | { "move,previous", "move", "previous", _key_action_move}, | ||
1448 | { "move,next", "move", "next", _key_action_move}, | ||
1449 | { "move,left", "move", "left", _key_action_move}, | ||
1450 | { "move,right", "move", "right", _key_action_move}, | ||
1451 | { "move,up", "move", "up", _key_action_move}, | ||
1452 | { "move,down", "move", "down", _key_action_move}, | ||
1453 | { NULL, NULL, NULL, NULL } | ||
1454 | }; | ||
1455 | return &atspi_actions[0]; | ||
1456 | } | ||
1457 | |||
1439 | #include "elc_ctxpopup.eo.c" | 1458 | #include "elc_ctxpopup.eo.c" |
diff --git a/src/lib/elc_ctxpopup.eo b/src/lib/elc_ctxpopup.eo index b9ffdbc67..4dc74d585 100644 --- a/src/lib/elc_ctxpopup.eo +++ b/src/lib/elc_ctxpopup.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Ctxpopup (Elm_Layout) | 1 | class Elm_Ctxpopup (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_ctxpopup; | 3 | eo_prefix: elm_obj_ctxpopup; |
4 | properties { | 4 | properties { |
@@ -263,6 +263,7 @@ class Elm_Ctxpopup (Elm_Layout) | |||
263 | Elm_Container.content_unset; | 263 | Elm_Container.content_unset; |
264 | Elm_Layout.sub_object_add_enable; | 264 | Elm_Layout.sub_object_add_enable; |
265 | Elm_Layout.sizing_eval; | 265 | Elm_Layout.sizing_eval; |
266 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
266 | } | 267 | } |
267 | events { | 268 | events { |
268 | language,changed; | 269 | language,changed; |
diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c index 106b91039..cf91b176a 100644 --- a/src/lib/elc_fileselector.c +++ b/src/lib/elc_fileselector.c | |||
@@ -18,6 +18,10 @@ | |||
18 | #include "elm_interface_atspi_accessible.h" | 18 | #include "elm_interface_atspi_accessible.h" |
19 | #include "elm_interface_atspi_accessible.eo.h" | 19 | #include "elm_interface_atspi_accessible.eo.h" |
20 | 20 | ||
21 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
22 | #include "elm_interface_atspi_widget_action.h" | ||
23 | #include "elm_interface_atspi_widget_action.eo.h" | ||
24 | |||
21 | #define MY_CLASS ELM_FILESELECTOR_CLASS | 25 | #define MY_CLASS ELM_FILESELECTOR_CLASS |
22 | 26 | ||
23 | #define MY_CLASS_NAME "Elm_Fileselector" | 27 | #define MY_CLASS_NAME "Elm_Fileselector" |
@@ -2320,4 +2324,15 @@ _elm_fileselector_class_destructor(Eo_Class *klass EINA_UNUSED) | |||
2320 | } | 2324 | } |
2321 | } | 2325 | } |
2322 | 2326 | ||
2327 | EOLIAN const Elm_Atspi_Action * | ||
2328 | _elm_fileselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Fileselector_Data *pd EINA_UNUSED) | ||
2329 | { | ||
2330 | static Elm_Atspi_Action atspi_actions[] = { | ||
2331 | { "select", "select", NULL, _key_action_select }, | ||
2332 | { "escape", "escape", NULL, _key_action_escape}, | ||
2333 | { NULL, NULL, NULL, NULL} | ||
2334 | }; | ||
2335 | return &atspi_actions[0]; | ||
2336 | } | ||
2337 | |||
2323 | #include "elc_fileselector.eo.c" | 2338 | #include "elc_fileselector.eo.c" |
diff --git a/src/lib/elc_fileselector.eo b/src/lib/elc_fileselector.eo index 255da19c3..9b85ae434 100644 --- a/src/lib/elc_fileselector.eo +++ b/src/lib/elc_fileselector.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Fileselector (Elm_Layout, Elm_Interface_Fileselector) | 1 | class Elm_Fileselector (Elm_Layout, Elm_Interface_Fileselector, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_fileselector; | 4 | eo_prefix: elm_obj_fileselector; |
4 | properties { | 5 | properties { |
@@ -61,6 +62,7 @@ class Elm_Fileselector (Elm_Layout, Elm_Interface_Fileselector) | |||
61 | Elm_Interface_Fileselector.multi_select; | 62 | Elm_Interface_Fileselector.multi_select; |
62 | Elm_Interface_Fileselector.folder_only; | 63 | Elm_Interface_Fileselector.folder_only; |
63 | Elm_Interface_Fileselector.mode; | 64 | Elm_Interface_Fileselector.mode; |
65 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
64 | } | 66 | } |
65 | events { | 67 | events { |
66 | focused; | 68 | focused; |
diff --git a/src/lib/elc_hoversel.c b/src/lib/elc_hoversel.c index 612ba6c83..a7d43e95d 100644 --- a/src/lib/elc_hoversel.c +++ b/src/lib/elc_hoversel.c | |||
@@ -11,6 +11,10 @@ | |||
11 | #include "elm_interface_atspi_accessible.h" | 11 | #include "elm_interface_atspi_accessible.h" |
12 | #include "elm_interface_atspi_accessible.eo.h" | 12 | #include "elm_interface_atspi_accessible.eo.h" |
13 | 13 | ||
14 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
15 | #include "elm_interface_atspi_widget_action.h" | ||
16 | #include "elm_interface_atspi_widget_action.eo.h" | ||
17 | |||
14 | #define MY_CLASS ELM_HOVERSEL_CLASS | 18 | #define MY_CLASS ELM_HOVERSEL_CLASS |
15 | 19 | ||
16 | #define MY_CLASS_NAME "Elm_Hoversel" | 20 | #define MY_CLASS_NAME "Elm_Hoversel" |
@@ -591,4 +595,17 @@ _elm_hoversel_class_constructor(Eo_Class *klass) | |||
591 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 595 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
592 | } | 596 | } |
593 | 597 | ||
598 | EOLIAN const Elm_Atspi_Action * | ||
599 | _elm_hoversel_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Hoversel_Data *pd EINA_UNUSED) | ||
600 | { | ||
601 | static Elm_Atspi_Action atspi_actions[] = { | ||
602 | { "move,up", "move", "up", _key_action_move}, | ||
603 | { "move,down", "move", "down", _key_action_move}, | ||
604 | { "move,left", "move", "left", _key_action_move}, | ||
605 | { "move,right", "move", "right", _key_action_move}, | ||
606 | { NULL, NULL, NULL, NULL} | ||
607 | }; | ||
608 | return &atspi_actions[0]; | ||
609 | } | ||
610 | |||
594 | #include "elc_hoversel.eo.c" | 611 | #include "elc_hoversel.eo.c" |
diff --git a/src/lib/elc_hoversel.eo b/src/lib/elc_hoversel.eo index 385356ec3..47ad95da5 100644 --- a/src/lib/elc_hoversel.eo +++ b/src/lib/elc_hoversel.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Hoversel (Elm_Button, Evas.Selectable_Interface) | 1 | class Elm_Hoversel (Elm_Button, Evas.Selectable_Interface, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_hoversel; | 4 | eo_prefix: elm_obj_hoversel; |
4 | properties { | 5 | properties { |
@@ -149,6 +150,7 @@ class Elm_Hoversel (Elm_Button, Evas.Selectable_Interface) | |||
149 | Elm_Widget.translate; | 150 | Elm_Widget.translate; |
150 | Elm_Widget.event; | 151 | Elm_Widget.event; |
151 | Elm_Button.admits_autorepeat.get; | 152 | Elm_Button.admits_autorepeat.get; |
153 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
152 | } | 154 | } |
153 | events { | 155 | events { |
154 | selected; | 156 | selected; |
diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index cefcfd493..2e58c44b9 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include "elm_interface_atspi_accessible.eo.h" | 12 | #include "elm_interface_atspi_accessible.eo.h" |
13 | 13 | ||
14 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | 14 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED |
15 | #include "elm_interface_atspi_widget_action.h" | ||
15 | #include "elm_interface_atspi_widget_action.eo.h" | 16 | #include "elm_interface_atspi_widget_action.eo.h" |
16 | 17 | ||
17 | #define MY_CLASS ELM_NAVIFRAME_CLASS | 18 | #define MY_CLASS ELM_NAVIFRAME_CLASS |
@@ -1888,10 +1889,14 @@ _elm_naviframe_class_constructor(Eo_Class *klass) | |||
1888 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 1889 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
1889 | } | 1890 | } |
1890 | 1891 | ||
1891 | EOLIAN const Elm_Action * | 1892 | EOLIAN const Elm_Atspi_Action * |
1892 | _elm_naviframe_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Naviframe_Data *pd EINA_UNUSED) | 1893 | _elm_naviframe_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Naviframe_Data *pd EINA_UNUSED) |
1893 | { | 1894 | { |
1894 | return &key_actions[0]; | 1895 | static Elm_Atspi_Action atspi_actions[] = { |
1896 | { "top_item_get", "top_item_get", NULL, _key_action_top_item_get }, | ||
1897 | { NULL, NULL, NULL, NULL } | ||
1898 | }; | ||
1899 | return &atspi_actions[0]; | ||
1895 | } | 1900 | } |
1896 | 1901 | ||
1897 | #include "elc_naviframe.eo.c" | 1902 | #include "elc_naviframe.eo.c" |
diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c index 3da4abee9..3733d353f 100644 --- a/src/lib/elc_player.c +++ b/src/lib/elc_player.c | |||
@@ -13,6 +13,10 @@ | |||
13 | #include "elm_interface_atspi_accessible.h" | 13 | #include "elm_interface_atspi_accessible.h" |
14 | #include "elm_interface_atspi_accessible.eo.h" | 14 | #include "elm_interface_atspi_accessible.eo.h" |
15 | 15 | ||
16 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
17 | #include "elm_interface_atspi_widget_action.h" | ||
18 | #include "elm_interface_atspi_widget_action.eo.h" | ||
19 | |||
16 | #define MY_CLASS ELM_PLAYER_CLASS | 20 | #define MY_CLASS ELM_PLAYER_CLASS |
17 | 21 | ||
18 | #define MY_CLASS_NAME "Elm_Player" | 22 | #define MY_CLASS_NAME "Elm_Player" |
@@ -722,4 +726,16 @@ _elm_player_class_constructor(Eo_Class *klass) | |||
722 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 726 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
723 | } | 727 | } |
724 | 728 | ||
729 | EOLIAN const Elm_Atspi_Action * | ||
730 | _elm_player_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Player_Data *pd EINA_UNUSED) | ||
731 | { | ||
732 | static Elm_Atspi_Action atspi_actions[] = { | ||
733 | { "move,left", "move", "left", _key_action_move}, | ||
734 | { "move,right", "move", "right", _key_action_move}, | ||
735 | { "play", "play", NULL, _key_action_play}, | ||
736 | { NULL, NULL, NULL, NULL} | ||
737 | }; | ||
738 | return &atspi_actions[0]; | ||
739 | } | ||
740 | |||
725 | #include "elc_player.eo.c" | 741 | #include "elc_player.eo.c" |
diff --git a/src/lib/elc_player.eo b/src/lib/elc_player.eo index 84ebbd415..b85ea3985 100644 --- a/src/lib/elc_player.eo +++ b/src/lib/elc_player.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Player (Elm_Layout) | 1 | class Elm_Player (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_player; | 3 | eo_prefix: elm_obj_player; |
4 | implements { | 4 | implements { |
@@ -10,6 +10,7 @@ class Elm_Player (Elm_Layout) | |||
10 | Elm_Widget.event; | 10 | Elm_Widget.event; |
11 | Elm_Container.content_set; | 11 | Elm_Container.content_set; |
12 | Elm_Layout.sizing_eval; | 12 | Elm_Layout.sizing_eval; |
13 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
13 | } | 14 | } |
14 | events { | 15 | events { |
15 | forward,clicked; | 16 | forward,clicked; |
diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c index c5a3d7843..65233d989 100644 --- a/src/lib/elc_popup.c +++ b/src/lib/elc_popup.c | |||
@@ -10,6 +10,10 @@ | |||
10 | #include "elm_interface_atspi_accessible.h" | 10 | #include "elm_interface_atspi_accessible.h" |
11 | #include "elm_interface_atspi_accessible.eo.h" | 11 | #include "elm_interface_atspi_accessible.eo.h" |
12 | 12 | ||
13 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
14 | #include "elm_interface_atspi_widget_action.h" | ||
15 | #include "elm_interface_atspi_widget_action.eo.h" | ||
16 | |||
13 | #define MY_CLASS ELM_POPUP_CLASS | 17 | #define MY_CLASS ELM_POPUP_CLASS |
14 | 18 | ||
15 | #define MY_CLASS_NAME "Elm_Popup" | 19 | #define MY_CLASS_NAME "Elm_Popup" |
@@ -1692,4 +1696,19 @@ _elm_popup_class_constructor(Eo_Class *klass) | |||
1692 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 1696 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
1693 | } | 1697 | } |
1694 | 1698 | ||
1699 | EOLIAN const Elm_Atspi_Action * | ||
1700 | _elm_popup_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Popup_Data *pd EINA_UNUSED) | ||
1701 | { | ||
1702 | static Elm_Atspi_Action atspi_actions[] = { | ||
1703 | { "move,previous", "move", "previous", _key_action_move}, | ||
1704 | { "move,next", "move", "next", _key_action_move}, | ||
1705 | { "move,left", "move", "left", _key_action_move}, | ||
1706 | { "move,right", "move", "right", _key_action_move}, | ||
1707 | { "move,up", "move", "up", _key_action_move}, | ||
1708 | { "move,down", "move", "down", _key_action_move}, | ||
1709 | { NULL, NULL, NULL, NULL } | ||
1710 | }; | ||
1711 | return &atspi_actions[0]; | ||
1712 | } | ||
1713 | |||
1695 | #include "elc_popup.eo.c" | 1714 | #include "elc_popup.eo.c" |
diff --git a/src/lib/elc_popup.eo b/src/lib/elc_popup.eo index 00618eb9b..c3b73c5de 100644 --- a/src/lib/elc_popup.eo +++ b/src/lib/elc_popup.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Popup (Elm_Layout) | 1 | class Elm_Popup (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_popup; | 3 | eo_prefix: elm_obj_popup; |
4 | properties { | 4 | properties { |
@@ -177,6 +177,7 @@ class Elm_Popup (Elm_Layout) | |||
177 | Elm_Layout.text_set; | 177 | Elm_Layout.text_set; |
178 | Elm_Layout.text_get; | 178 | Elm_Layout.text_get; |
179 | Elm_Layout.sizing_eval; | 179 | Elm_Layout.sizing_eval; |
180 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
180 | } | 181 | } |
181 | events { | 182 | events { |
182 | block,clicked; | 183 | block,clicked; |
diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c index 66d63ebb6..e83757c91 100644 --- a/src/lib/elm_atspi_bridge.c +++ b/src/lib/elm_atspi_bridge.c | |||
@@ -921,7 +921,8 @@ _action_localized_name_get(const Eldbus_Service_Interface *iface, const Eldbus_M | |||
921 | static Eldbus_Message * | 921 | static Eldbus_Message * |
922 | _action_key_binding_get(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg) | 922 | _action_key_binding_get(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg) |
923 | { | 923 | { |
924 | const char *key, *obj_path = eldbus_service_object_path_get(iface); | 924 | const char *obj_path = eldbus_service_object_path_get(iface); |
925 | char *key; | ||
925 | Eo *obj = _access_object_from_path(obj_path); | 926 | Eo *obj = _access_object_from_path(obj_path); |
926 | int idx; | 927 | int idx; |
927 | Eldbus_Message *ret; | 928 | Eldbus_Message *ret; |
@@ -933,8 +934,8 @@ _action_key_binding_get(const Eldbus_Service_Interface *iface, const Eldbus_Mess | |||
933 | EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); | 934 | EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); |
934 | 935 | ||
935 | eo_do(obj, key = elm_interface_atspi_action_keybinding_get(idx)); | 936 | eo_do(obj, key = elm_interface_atspi_action_keybinding_get(idx)); |
936 | key = key ? key : ""; | 937 | eldbus_message_arguments_append(ret, "s", key ? key : ""); |
937 | eldbus_message_arguments_append(ret, "s", key); | 938 | if (key) free(key); |
938 | 939 | ||
939 | return ret; | 940 | return ret; |
940 | } | 941 | } |
@@ -962,12 +963,13 @@ _action_actions_get(const Eldbus_Service_Interface *iface, const Eldbus_Message | |||
962 | int id = 0; | 963 | int id = 0; |
963 | EINA_LIST_FREE(actions, action) | 964 | EINA_LIST_FREE(actions, action) |
964 | { | 965 | { |
965 | const char *key, *descr; | 966 | const char *descr; |
967 | char *key; | ||
966 | eo_do(obj, key = elm_interface_atspi_action_keybinding_get(id)); | 968 | eo_do(obj, key = elm_interface_atspi_action_keybinding_get(id)); |
967 | key = key ? key : ""; | ||
968 | eo_do(obj, descr = elm_interface_atspi_action_description_get(id)); | 969 | eo_do(obj, descr = elm_interface_atspi_action_description_get(id)); |
969 | descr = descr ? descr : ""; | 970 | descr = descr ? descr : ""; |
970 | eldbus_message_iter_arguments_append(iter_array, "sss", action, descr, key); | 971 | eldbus_message_iter_arguments_append(iter_array, "sss", action, descr, key ? key : ""); |
972 | if (key) free(key); | ||
971 | id++; | 973 | id++; |
972 | } | 974 | } |
973 | 975 | ||
diff --git a/src/lib/elm_button.c b/src/lib/elm_button.c index d9376c08f..418b79157 100644 --- a/src/lib/elm_button.c +++ b/src/lib/elm_button.c | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | // ATSPI Accessibility | 12 | // ATSPI Accessibility |
13 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | 13 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED |
14 | #include "elm_interface_atspi_widget_action.h" | ||
14 | #include "elm_interface_atspi_widget_action.eo.h" | 15 | #include "elm_interface_atspi_widget_action.eo.h" |
15 | 16 | ||
16 | #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED | 17 | #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED |
@@ -427,10 +428,14 @@ _elm_button_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elm_Butto | |||
427 | return EINA_FALSE; | 428 | return EINA_FALSE; |
428 | } | 429 | } |
429 | 430 | ||
430 | EOLIAN const Elm_Action * | 431 | EOLIAN const Elm_Atspi_Action * |
431 | _elm_button_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Button_Data *pd EINA_UNUSED) | 432 | _elm_button_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Button_Data *pd EINA_UNUSED) |
432 | { | 433 | { |
433 | return &key_actions[0]; | 434 | static Elm_Atspi_Action atspi_actions[] = { |
435 | { "activate", "activate", NULL, _key_action_activate }, | ||
436 | { NULL, NULL, NULL, NULL} | ||
437 | }; | ||
438 | return &atspi_actions[0]; | ||
434 | } | 439 | } |
435 | 440 | ||
436 | static void | 441 | static void |
diff --git a/src/lib/elm_calendar.c b/src/lib/elm_calendar.c index 976c9bb1b..1bde95d89 100644 --- a/src/lib/elm_calendar.c +++ b/src/lib/elm_calendar.c | |||
@@ -10,6 +10,10 @@ | |||
10 | #include "elm_interface_atspi_accessible.h" | 10 | #include "elm_interface_atspi_accessible.h" |
11 | #include "elm_interface_atspi_accessible.eo.h" | 11 | #include "elm_interface_atspi_accessible.eo.h" |
12 | 12 | ||
13 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
14 | #include "elm_interface_atspi_widget_action.h" | ||
15 | #include "elm_interface_atspi_widget_action.eo.h" | ||
16 | |||
13 | #define MY_CLASS ELM_CALENDAR_CLASS | 17 | #define MY_CLASS ELM_CALENDAR_CLASS |
14 | 18 | ||
15 | #define MY_CLASS_NAME "Elm_Calendar" | 19 | #define MY_CLASS_NAME "Elm_Calendar" |
@@ -1435,4 +1439,19 @@ _elm_calendar_class_constructor(Eo_Class *klass) | |||
1435 | _elm_calendar_smart_focus_next_enable = EINA_TRUE; | 1439 | _elm_calendar_smart_focus_next_enable = EINA_TRUE; |
1436 | } | 1440 | } |
1437 | 1441 | ||
1442 | EOLIAN static const Elm_Atspi_Action* | ||
1443 | _elm_calendar_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Calendar_Data *sd EINA_UNUSED) | ||
1444 | { | ||
1445 | static Elm_Atspi_Action atspi_actions[] = { | ||
1446 | { "move,prior", "move", "prior", _key_action_move}, | ||
1447 | { "move,next", "move", "next", _key_action_move}, | ||
1448 | { "move,left", "move", "left", _key_action_move}, | ||
1449 | { "move,right", "move", "right", _key_action_move}, | ||
1450 | { "move,up", "move", "up", _key_action_move}, | ||
1451 | { "move,down", "move", "down", _key_action_move}, | ||
1452 | { NULL, NULL, NULL, NULL } | ||
1453 | }; | ||
1454 | return &atspi_actions[0]; | ||
1455 | } | ||
1456 | |||
1438 | #include "elm_calendar.eo.c" | 1457 | #include "elm_calendar.eo.c" |
diff --git a/src/lib/elm_calendar.eo b/src/lib/elm_calendar.eo index 0d30bcaed..2156ef685 100644 --- a/src/lib/elm_calendar.eo +++ b/src/lib/elm_calendar.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Calendar (Elm_Layout) | 1 | class Elm_Calendar (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_calendar; | 3 | eo_prefix: elm_obj_calendar; |
4 | properties { | 4 | properties { |
@@ -402,6 +402,7 @@ class Elm_Calendar (Elm_Layout) | |||
402 | Elm_Widget.focus_next; | 402 | Elm_Widget.focus_next; |
403 | Elm_Widget.event; | 403 | Elm_Widget.event; |
404 | Elm_Layout.sizing_eval; | 404 | Elm_Layout.sizing_eval; |
405 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
405 | } | 406 | } |
406 | events { | 407 | events { |
407 | changed; | 408 | changed; |
diff --git a/src/lib/elm_check.c b/src/lib/elm_check.c index f64941020..9a6373651 100644 --- a/src/lib/elm_check.c +++ b/src/lib/elm_check.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include "elm_interface_atspi_accessible.eo.h" | 13 | #include "elm_interface_atspi_accessible.eo.h" |
14 | 14 | ||
15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | 15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED |
16 | #include "elm_interface_atspi_widget_action.h" | ||
16 | #include "elm_interface_atspi_widget_action.eo.h" | 17 | #include "elm_interface_atspi_widget_action.eo.h" |
17 | 18 | ||
18 | #define MY_CLASS ELM_CHECK_CLASS | 19 | #define MY_CLASS ELM_CHECK_CLASS |
@@ -437,10 +438,14 @@ _elm_check_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elm_Check_ | |||
437 | return EINA_FALSE; | 438 | return EINA_FALSE; |
438 | } | 439 | } |
439 | 440 | ||
440 | EOLIAN const Elm_Action * | 441 | EOLIAN const Elm_Atspi_Action * |
441 | _elm_check_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Check_Data *pd EINA_UNUSED) | 442 | _elm_check_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Check_Data *pd EINA_UNUSED) |
442 | { | 443 | { |
443 | return &key_actions[0]; | 444 | static Elm_Atspi_Action atspi_action[] = { |
445 | { "activate", "activate", NULL, _key_action_activate }, | ||
446 | { NULL, NULL, NULL, NULL } | ||
447 | }; | ||
448 | return &atspi_action[0]; | ||
444 | } | 449 | } |
445 | 450 | ||
446 | static void | 451 | static void |
diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c index dad612fdb..e57294d0a 100644 --- a/src/lib/elm_colorselector.c +++ b/src/lib/elm_colorselector.c | |||
@@ -10,6 +10,10 @@ | |||
10 | #include "elm_interface_atspi_accessible.h" | 10 | #include "elm_interface_atspi_accessible.h" |
11 | #include "elm_interface_atspi_accessible.eo.h" | 11 | #include "elm_interface_atspi_accessible.eo.h" |
12 | 12 | ||
13 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
14 | #include "elm_interface_atspi_widget_action.h" | ||
15 | #include "elm_interface_atspi_widget_action.eo.h" | ||
16 | |||
13 | #define MY_CLASS ELM_COLORSELECTOR_CLASS | 17 | #define MY_CLASS ELM_COLORSELECTOR_CLASS |
14 | 18 | ||
15 | #define MY_CLASS_NAME "Elm_Colorselector" | 19 | #define MY_CLASS_NAME "Elm_Colorselector" |
@@ -2145,4 +2149,17 @@ _elm_colorselector_class_constructor(Eo_Class *klass) | |||
2145 | _elm_colorselector_smart_focus_next_enable = EINA_TRUE; | 2149 | _elm_colorselector_smart_focus_next_enable = EINA_TRUE; |
2146 | } | 2150 | } |
2147 | 2151 | ||
2152 | EOLIAN static const Elm_Atspi_Action* | ||
2153 | _elm_colorselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Colorselector_Data *sd EINA_UNUSED) | ||
2154 | { | ||
2155 | static Elm_Atspi_Action atspi_actions[] = { | ||
2156 | { "move,left", "move", "left", _key_action_move}, | ||
2157 | { "move,right", "move", "right", _key_action_move}, | ||
2158 | { "move,up", "move", "up", _key_action_move}, | ||
2159 | { "move,down", "move", "down", _key_action_move}, | ||
2160 | { NULL, NULL, NULL, NULL } | ||
2161 | }; | ||
2162 | return &atspi_actions[0]; | ||
2163 | } | ||
2164 | |||
2148 | #include "elm_colorselector.eo.c" | 2165 | #include "elm_colorselector.eo.c" |
diff --git a/src/lib/elm_colorselector.eo b/src/lib/elm_colorselector.eo index fda588bc8..bc9765893 100644 --- a/src/lib/elm_colorselector.eo +++ b/src/lib/elm_colorselector.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Colorselector (Elm_Layout) | 1 | class Elm_Colorselector (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_colorselector; | 3 | eo_prefix: elm_obj_colorselector; |
4 | properties { | 4 | properties { |
@@ -135,6 +135,7 @@ class Elm_Colorselector (Elm_Layout) | |||
135 | Elm_Widget.access; | 135 | Elm_Widget.access; |
136 | Elm_Widget.event; | 136 | Elm_Widget.event; |
137 | Elm_Layout.sizing_eval; | 137 | Elm_Layout.sizing_eval; |
138 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
138 | } | 139 | } |
139 | events { | 140 | events { |
140 | color,item,selected; | 141 | color,item,selected; |
diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c index 44a56df6c..1021d8438 100644 --- a/src/lib/elm_diskselector.c +++ b/src/lib/elm_diskselector.c | |||
@@ -11,6 +11,10 @@ | |||
11 | #include "elm_interface_atspi_accessible.h" | 11 | #include "elm_interface_atspi_accessible.h" |
12 | #include "elm_interface_atspi_accessible.eo.h" | 12 | #include "elm_interface_atspi_accessible.eo.h" |
13 | 13 | ||
14 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
15 | #include "elm_interface_atspi_widget_action.h" | ||
16 | #include "elm_interface_atspi_widget_action.eo.h" | ||
17 | |||
14 | #define DISPLAY_ITEM_NUM_MIN 3 | 18 | #define DISPLAY_ITEM_NUM_MIN 3 |
15 | 19 | ||
16 | #define MY_CLASS ELM_DISKSELECTOR_CLASS | 20 | #define MY_CLASS ELM_DISKSELECTOR_CLASS |
@@ -1787,4 +1791,17 @@ _elm_diskselector_class_constructor(Eo_Class *klass) | |||
1787 | _elm_diskselector_smart_focus_next_enable = EINA_TRUE; | 1791 | _elm_diskselector_smart_focus_next_enable = EINA_TRUE; |
1788 | } | 1792 | } |
1789 | 1793 | ||
1794 | EOLIAN static const Elm_Atspi_Action* | ||
1795 | _elm_diskselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Diskselector_Data *sd EINA_UNUSED) | ||
1796 | { | ||
1797 | static Elm_Atspi_Action atspi_actions[] = { | ||
1798 | { "move,previous", "move", "prev", _key_action_move}, | ||
1799 | { "move,next", "move", "next", _key_action_move}, | ||
1800 | { "move,first", "move", "first", _key_action_move}, | ||
1801 | { "move,last", "move", "last", _key_action_move}, | ||
1802 | { NULL, NULL, NULL, NULL } | ||
1803 | }; | ||
1804 | return &atspi_actions[0]; | ||
1805 | } | ||
1806 | |||
1790 | #include "elm_diskselector.eo.c" | 1807 | #include "elm_diskselector.eo.c" |
diff --git a/src/lib/elm_diskselector.eo b/src/lib/elm_diskselector.eo index 11655603e..87dab781a 100644 --- a/src/lib/elm_diskselector.eo +++ b/src/lib/elm_diskselector.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Diskselector (Elm_Widget, Elm_Interface_Scrollable) | 1 | class Elm_Diskselector (Elm_Widget, Elm_Interface_Scrollable, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_diskselector; | 4 | eo_prefix: elm_obj_diskselector; |
4 | properties { | 5 | properties { |
@@ -249,6 +250,7 @@ class Elm_Diskselector (Elm_Widget, Elm_Interface_Scrollable) | |||
249 | Elm_Widget.sub_object_del; | 250 | Elm_Widget.sub_object_del; |
250 | Elm_Widget.event; | 251 | Elm_Widget.event; |
251 | Elm_Interface_Scrollable.policy; | 252 | Elm_Interface_Scrollable.policy; |
253 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
252 | } | 254 | } |
253 | events { | 255 | events { |
254 | selected; | 256 | selected; |
diff --git a/src/lib/elm_flipselector.c b/src/lib/elm_flipselector.c index 09a1d47fb..b7b826e46 100644 --- a/src/lib/elm_flipselector.c +++ b/src/lib/elm_flipselector.c | |||
@@ -11,6 +11,10 @@ | |||
11 | #include "elm_interface_atspi_accessible.h" | 11 | #include "elm_interface_atspi_accessible.h" |
12 | #include "elm_interface_atspi_accessible.eo.h" | 12 | #include "elm_interface_atspi_accessible.eo.h" |
13 | 13 | ||
14 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
15 | #include "elm_interface_atspi_widget_action.h" | ||
16 | #include "elm_interface_atspi_widget_action.eo.h" | ||
17 | |||
14 | #define MY_CLASS ELM_FLIPSELECTOR_CLASS | 18 | #define MY_CLASS ELM_FLIPSELECTOR_CLASS |
15 | 19 | ||
16 | #define MY_CLASS_NAME "Elm_Flipselector" | 20 | #define MY_CLASS_NAME "Elm_Flipselector" |
@@ -862,4 +866,15 @@ _elm_flipselector_class_constructor(Eo_Class *klass) | |||
862 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 866 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
863 | } | 867 | } |
864 | 868 | ||
869 | EOLIAN const Elm_Atspi_Action * | ||
870 | _elm_flipselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Flipselector_Data *pd EINA_UNUSED) | ||
871 | { | ||
872 | static Elm_Atspi_Action atspi_actions[] = { | ||
873 | { "flip,up", "flip", "up", _key_action_flip}, | ||
874 | { "flip,down", "flip", "down", _key_action_flip}, | ||
875 | { NULL, NULL, NULL, NULL} | ||
876 | }; | ||
877 | return &atspi_actions[0]; | ||
878 | } | ||
879 | |||
865 | #include "elm_flipselector.eo.c" | 880 | #include "elm_flipselector.eo.c" |
diff --git a/src/lib/elm_flipselector.eo b/src/lib/elm_flipselector.eo index eba93555b..d78827c04 100644 --- a/src/lib/elm_flipselector.eo +++ b/src/lib/elm_flipselector.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Flipselector (Elm_Layout) | 1 | class Elm_Flipselector (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_flipselector; | 3 | eo_prefix: elm_obj_flipselector; |
4 | properties { | 4 | properties { |
@@ -202,6 +202,7 @@ class Elm_Flipselector (Elm_Layout) | |||
202 | Elm_Widget.focus_direction_manager_is; | 202 | Elm_Widget.focus_direction_manager_is; |
203 | Elm_Widget.event; | 203 | Elm_Widget.event; |
204 | Elm_Layout.sizing_eval; | 204 | Elm_Layout.sizing_eval; |
205 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
205 | } | 206 | } |
206 | events { | 207 | events { |
207 | selected; | 208 | selected; |
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index c357e5a1a..03c6d7ac0 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c | |||
@@ -12,6 +12,10 @@ | |||
12 | #include "elm_interface_atspi_accessible.h" | 12 | #include "elm_interface_atspi_accessible.h" |
13 | #include "elm_interface_atspi_accessible.eo.h" | 13 | #include "elm_interface_atspi_accessible.eo.h" |
14 | 14 | ||
15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
16 | #include "elm_interface_atspi_widget_action.h" | ||
17 | #include "elm_interface_atspi_widget_action.eo.h" | ||
18 | |||
15 | #define MY_PAN_CLASS ELM_GENGRID_PAN_CLASS | 19 | #define MY_PAN_CLASS ELM_GENGRID_PAN_CLASS |
16 | 20 | ||
17 | #define MY_PAN_CLASS_NAME "Elm_Gengrid_Pan" | 21 | #define MY_PAN_CLASS_NAME "Elm_Gengrid_Pan" |
@@ -4795,4 +4799,27 @@ _elm_gengrid_class_constructor(Eo_Class *klass) | |||
4795 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 4799 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
4796 | } | 4800 | } |
4797 | 4801 | ||
4802 | EOLIAN const Elm_Atspi_Action * | ||
4803 | _elm_gengrid_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *pd EINA_UNUSED) | ||
4804 | { | ||
4805 | static Elm_Atspi_Action atspi_actions[] = { | ||
4806 | { "move,prior", "move", "prior", _key_action_move}, | ||
4807 | { "move,next", "move", "next", _key_action_move}, | ||
4808 | { "move,left", "move", "left", _key_action_move}, | ||
4809 | { "move,left,multi", "move", "left_multi", _key_action_move}, | ||
4810 | { "move,right", "move", "right", _key_action_move}, | ||
4811 | { "move,right,multi", "move", "right_multi", _key_action_move}, | ||
4812 | { "move,up", "move", "up", _key_action_move}, | ||
4813 | { "move,up,multi", "move", "up_multi", _key_action_move}, | ||
4814 | { "move,down", "move", "down", _key_action_move}, | ||
4815 | { "move,down,multi", "move", "down_multi", _key_action_move}, | ||
4816 | { "move,first", "move", "first", _key_action_move}, | ||
4817 | { "move,last", "move", "last", _key_action_move}, | ||
4818 | { "select", "select", NULL, _key_action_select}, | ||
4819 | { "escape", "escape", NULL, _key_action_escape}, | ||
4820 | { NULL, NULL, NULL, NULL } | ||
4821 | }; | ||
4822 | return &atspi_actions[0]; | ||
4823 | } | ||
4824 | |||
4798 | #include "elm_gengrid.eo.c" | 4825 | #include "elm_gengrid.eo.c" |
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index f09f1fe90..bb347d1ce 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c | |||
@@ -15,6 +15,10 @@ | |||
15 | #include "elm_interface_atspi_accessible.h" | 15 | #include "elm_interface_atspi_accessible.h" |
16 | #include "elm_interface_atspi_accessible.eo.h" | 16 | #include "elm_interface_atspi_accessible.eo.h" |
17 | 17 | ||
18 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
19 | #include "elm_interface_atspi_widget_action.h" | ||
20 | #include "elm_interface_atspi_widget_action.eo.h" | ||
21 | |||
18 | #define MY_PAN_CLASS ELM_GENLIST_PAN_CLASS | 22 | #define MY_PAN_CLASS ELM_GENLIST_PAN_CLASS |
19 | 23 | ||
20 | #define MY_PAN_CLASS_NAME "Elm_Genlist_Pan" | 24 | #define MY_PAN_CLASS_NAME "Elm_Genlist_Pan" |
@@ -7621,4 +7625,25 @@ _elm_genlist_class_constructor(Eo_Class *klass) | |||
7621 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 7625 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
7622 | } | 7626 | } |
7623 | 7627 | ||
7628 | EOLIAN const Elm_Atspi_Action * | ||
7629 | _elm_genlist_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Genlist_Data *pd EINA_UNUSED) | ||
7630 | { | ||
7631 | static Elm_Atspi_Action atspi_actions[] = { | ||
7632 | { "move,prior", "move", "prior", _key_action_move}, | ||
7633 | { "move,next", "move", "next", _key_action_move}, | ||
7634 | { "move,left", "move", "left", _key_action_move}, | ||
7635 | { "move,right", "move", "right", _key_action_move}, | ||
7636 | { "move,up", "move", "up", _key_action_move}, | ||
7637 | { "move,up,multi", "move", "up_multi", _key_action_move}, | ||
7638 | { "move,down", "move", "down", _key_action_move}, | ||
7639 | { "move,down,multi", "move", "down_multi", _key_action_move}, | ||
7640 | { "move,first", "move", "first", _key_action_move}, | ||
7641 | { "move,last", "move", "last", _key_action_move}, | ||
7642 | { "select", "select", NULL, _key_action_select}, | ||
7643 | { "escape", "escape", NULL, _key_action_escape}, | ||
7644 | { NULL, NULL, NULL, NULL } | ||
7645 | }; | ||
7646 | return &atspi_actions[0]; | ||
7647 | } | ||
7648 | |||
7624 | #include "elm_genlist.eo.c" | 7649 | #include "elm_genlist.eo.c" |
diff --git a/src/lib/elm_genlist.eo b/src/lib/elm_genlist.eo index 78aed245a..cc4077c3a 100644 --- a/src/lib/elm_genlist.eo +++ b/src/lib/elm_genlist.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Genlist (Elm_Layout, Elm_Interface_Scrollable, Evas.Clickable_Interface) | 1 | class Elm_Genlist (Elm_Layout, Elm_Interface_Scrollable, Evas.Clickable_Interface, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_genlist; | 4 | eo_prefix: elm_obj_genlist; |
4 | properties { | 5 | properties { |
@@ -727,6 +728,7 @@ class Elm_Genlist (Elm_Layout, Elm_Interface_Scrollable, Evas.Clickable_Interfac | |||
727 | Elm_Layout.sizing_eval; | 728 | Elm_Layout.sizing_eval; |
728 | Elm_Interface_Scrollable.bounce_allow; | 729 | Elm_Interface_Scrollable.bounce_allow; |
729 | Elm_Interface_Scrollable.policy; | 730 | Elm_Interface_Scrollable.policy; |
731 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
730 | } | 732 | } |
731 | events { | 733 | events { |
732 | language,changed; | 734 | language,changed; |
diff --git a/src/lib/elm_image.c b/src/lib/elm_image.c index 73ca0a68d..eb0ac6ab3 100644 --- a/src/lib/elm_image.c +++ b/src/lib/elm_image.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include "elm_interface_atspi_accessible.eo.h" | 15 | #include "elm_interface_atspi_accessible.eo.h" |
16 | 16 | ||
17 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | 17 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED |
18 | #include "elm_interface_atspi_widget_action.h" | ||
18 | #include "elm_interface_atspi_widget_action.eo.h" | 19 | #include "elm_interface_atspi_widget_action.eo.h" |
19 | 20 | ||
20 | #define FMT_SIZE_T "%zu" | 21 | #define FMT_SIZE_T "%zu" |
@@ -1345,10 +1346,14 @@ _elm_image_elm_interface_atspi_image_extents_get(Eo *obj, Elm_Image_Data *sd EIN | |||
1345 | elm_image_object_size_get(obj, w, h); | 1346 | elm_image_object_size_get(obj, w, h); |
1346 | } | 1347 | } |
1347 | 1348 | ||
1348 | EOLIAN const Elm_Action * | 1349 | EOLIAN const Elm_Atspi_Action * |
1349 | _elm_image_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Image_Data *pd EINA_UNUSED) | 1350 | _elm_image_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Image_Data *pd EINA_UNUSED) |
1350 | { | 1351 | { |
1351 | return &key_actions[0]; | 1352 | static Elm_Atspi_Action atspi_actions[] = { |
1353 | { "activate", "activate", NULL, _key_action_activate }, | ||
1354 | { NULL, NULL, NULL, NULL }, | ||
1355 | }; | ||
1356 | return &atspi_actions[0]; | ||
1352 | } | 1357 | } |
1353 | 1358 | ||
1354 | 1359 | ||
diff --git a/src/lib/elm_interface_atspi_action.eo b/src/lib/elm_interface_atspi_action.eo index 0f876e729..4afa82a89 100644 --- a/src/lib/elm_interface_atspi_action.eo +++ b/src/lib/elm_interface_atspi_action.eo | |||
@@ -59,11 +59,12 @@ mixin Elm_Interface_Atspi_Action () | |||
59 | return bool; | 59 | return bool; |
60 | } | 60 | } |
61 | keybinding_get @protected { | 61 | keybinding_get @protected { |
62 | /*@ Gets configured keybinding for specific action and widget. */ | 62 | /*@ Gets configured keybinding for specific action and widget. |
63 | returned pointer should be free by a user.*/ | ||
63 | params { | 64 | params { |
64 | @in int id; | 65 | @in int id; |
65 | } | 66 | } |
66 | return const(char)*; | 67 | return char*; |
67 | } | 68 | } |
68 | } | 69 | } |
69 | implements { | 70 | implements { |
diff --git a/src/lib/elm_interface_atspi_widget_action.c b/src/lib/elm_interface_atspi_widget_action.c index af2a05274..489ad814d 100644 --- a/src/lib/elm_interface_atspi_widget_action.c +++ b/src/lib/elm_interface_atspi_widget_action.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | 10 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED |
11 | 11 | ||
12 | #include "elm_interface_atspi_action.eo.h" | 12 | #include "elm_interface_atspi_action.eo.h" |
13 | #include "elm_interface_atspi_widget_action.h" | ||
13 | #include "elm_interface_atspi_widget_action.eo.h" | 14 | #include "elm_interface_atspi_widget_action.eo.h" |
14 | 15 | ||
15 | extern Eina_Hash *_elm_key_bindings; | 16 | extern Eina_Hash *_elm_key_bindings; |
@@ -17,7 +18,8 @@ extern Eina_Hash *_elm_key_bindings; | |||
17 | EOLIAN static Eina_Bool | 18 | EOLIAN static Eina_Bool |
18 | _elm_interface_atspi_widget_action_elm_interface_atspi_action_action_do(Eo *obj, void *pd EINA_UNUSED, int id) | 19 | _elm_interface_atspi_widget_action_elm_interface_atspi_action_action_do(Eo *obj, void *pd EINA_UNUSED, int id) |
19 | { | 20 | { |
20 | const Elm_Action *actions = NULL; | 21 | const Elm_Atspi_Action *actions = NULL; |
22 | const char *param; | ||
21 | Eina_Bool (*func)(Eo *eo, const char *params) = NULL; | 23 | Eina_Bool (*func)(Eo *eo, const char *params) = NULL; |
22 | int tmp = 0; | 24 | int tmp = 0; |
23 | 25 | ||
@@ -29,6 +31,7 @@ _elm_interface_atspi_widget_action_elm_interface_atspi_action_action_do(Eo *obj, | |||
29 | if (tmp == id) | 31 | if (tmp == id) |
30 | { | 32 | { |
31 | func = actions[tmp].func; | 33 | func = actions[tmp].func; |
34 | param = actions[tmp].param; | ||
32 | break; | 35 | break; |
33 | } | 36 | } |
34 | tmp++; | 37 | tmp++; |
@@ -37,15 +40,15 @@ _elm_interface_atspi_widget_action_elm_interface_atspi_action_action_do(Eo *obj, | |||
37 | if (!func) | 40 | if (!func) |
38 | return EINA_FALSE; | 41 | return EINA_FALSE; |
39 | 42 | ||
40 | return func(obj, NULL); | 43 | return func(obj, param); |
41 | } | 44 | } |
42 | 45 | ||
43 | EOLIAN static const char * | 46 | EOLIAN static char* |
44 | _elm_interface_atspi_widget_action_elm_interface_atspi_action_keybinding_get(Eo *obj, void *pd EINA_UNUSED, int id) | 47 | _elm_interface_atspi_widget_action_elm_interface_atspi_action_keybinding_get(Eo *obj, void *pd EINA_UNUSED, int id) |
45 | { | 48 | { |
46 | const Elm_Action *actions = NULL; | 49 | const Elm_Atspi_Action *actions = NULL; |
47 | Eina_List *l, *binding_list; | 50 | Eina_List *l1, *binding_list; |
48 | const char *action = NULL; | 51 | const char *action = NULL, *param = NULL; |
49 | Elm_Config_Binding_Key *binding; | 52 | Elm_Config_Binding_Key *binding; |
50 | int tmp = 0; | 53 | int tmp = 0; |
51 | 54 | ||
@@ -59,7 +62,8 @@ _elm_interface_atspi_widget_action_elm_interface_atspi_action_keybinding_get(Eo | |||
59 | { | 62 | { |
60 | if (tmp == id) | 63 | if (tmp == id) |
61 | { | 64 | { |
62 | action = actions->name; | 65 | action = actions[tmp].action; |
66 | param = actions[tmp].param; | ||
63 | break; | 67 | break; |
64 | } | 68 | } |
65 | tmp++; | 69 | tmp++; |
@@ -70,10 +74,22 @@ _elm_interface_atspi_widget_action_elm_interface_atspi_action_keybinding_get(Eo | |||
70 | 74 | ||
71 | if (binding_list) | 75 | if (binding_list) |
72 | { | 76 | { |
73 | EINA_LIST_FOREACH(binding_list, l, binding) | 77 | EINA_LIST_FOREACH(binding_list, l1, binding) |
74 | { | 78 | { |
75 | if (!strcmp(binding->action, action)) | 79 | if (!strcmp(binding->action, action) && (!param || |
76 | return binding->key; | 80 | !strcmp(binding->params, param))) |
81 | { | ||
82 | Eina_List *l2; | ||
83 | Elm_Config_Binding_Modifier *bm; | ||
84 | char *ret; | ||
85 | Eina_Strbuf *buf = eina_strbuf_new(); | ||
86 | eina_strbuf_append_printf(buf, "%s", binding->key); | ||
87 | EINA_LIST_FOREACH(binding->modifiers, l2, bm) | ||
88 | if (bm->flag) eina_strbuf_append_printf(buf, "+%s", bm->mod); | ||
89 | ret = eina_strbuf_string_steal(buf); | ||
90 | eina_strbuf_free(buf); | ||
91 | return ret; | ||
92 | } | ||
77 | } | 93 | } |
78 | } | 94 | } |
79 | 95 | ||
@@ -83,7 +99,7 @@ _elm_interface_atspi_widget_action_elm_interface_atspi_action_keybinding_get(Eo | |||
83 | EOLIAN static const char * | 99 | EOLIAN static const char * |
84 | _elm_interface_atspi_widget_action_elm_interface_atspi_action_name_get(Eo *obj, void *pd EINA_UNUSED, int id) | 100 | _elm_interface_atspi_widget_action_elm_interface_atspi_action_name_get(Eo *obj, void *pd EINA_UNUSED, int id) |
85 | { | 101 | { |
86 | const Elm_Action *actions = NULL; | 102 | const Elm_Atspi_Action *actions = NULL; |
87 | int tmp = 0; | 103 | int tmp = 0; |
88 | 104 | ||
89 | eo_do(obj, actions = elm_interface_atspi_widget_action_elm_actions_get()); | 105 | eo_do(obj, actions = elm_interface_atspi_widget_action_elm_actions_get()); |
@@ -91,7 +107,7 @@ _elm_interface_atspi_widget_action_elm_interface_atspi_action_name_get(Eo *obj, | |||
91 | 107 | ||
92 | while (actions[tmp].name) | 108 | while (actions[tmp].name) |
93 | { | 109 | { |
94 | if (tmp == id) return actions->name; | 110 | if (tmp == id) return actions[tmp].name; |
95 | tmp++; | 111 | tmp++; |
96 | } | 112 | } |
97 | return NULL; | 113 | return NULL; |
@@ -112,7 +128,7 @@ _elm_interface_atspi_widget_action_elm_interface_atspi_action_description_get(Eo | |||
112 | EOLIAN static Eina_List* | 128 | EOLIAN static Eina_List* |
113 | _elm_interface_atspi_widget_action_elm_interface_atspi_action_actions_get(Eo *obj, void *pd EINA_UNUSED) | 129 | _elm_interface_atspi_widget_action_elm_interface_atspi_action_actions_get(Eo *obj, void *pd EINA_UNUSED) |
114 | { | 130 | { |
115 | const Elm_Action *actions = NULL; | 131 | const Elm_Atspi_Action *actions = NULL; |
116 | Eina_List *ret = NULL; | 132 | Eina_List *ret = NULL; |
117 | int tmp = 0; | 133 | int tmp = 0; |
118 | 134 | ||
diff --git a/src/lib/elm_interface_atspi_widget_action.eo b/src/lib/elm_interface_atspi_widget_action.eo index 7d5d1a798..5f24f7332 100644 --- a/src/lib/elm_interface_atspi_widget_action.eo +++ b/src/lib/elm_interface_atspi_widget_action.eo | |||
@@ -8,7 +8,7 @@ mixin Elm_Interface_Atspi_Widget_Action (Elm_Interface_Atspi_Action) | |||
8 | get { | 8 | get { |
9 | } | 9 | } |
10 | values { | 10 | values { |
11 | const(Elm_Action)* actions; /*@ NULL-terminated array of Elm_Actions | 11 | const(Elm_Atspi_Action)* actions; /*@ NULL-terminated array of Elm_Actions |
12 | */ | 12 | */ |
13 | } | 13 | } |
14 | } | 14 | } |
diff --git a/src/lib/elm_interface_atspi_widget_action.h b/src/lib/elm_interface_atspi_widget_action.h new file mode 100644 index 000000000..8002edfe4 --- /dev/null +++ b/src/lib/elm_interface_atspi_widget_action.h | |||
@@ -0,0 +1,10 @@ | |||
1 | |||
2 | struct _Elm_Atspi_Action | ||
3 | { | ||
4 | const char *name; | ||
5 | const char *action; | ||
6 | const char *param; | ||
7 | Eina_Bool (*func)(Evas_Object *obj, const char *params); | ||
8 | }; | ||
9 | |||
10 | typedef struct _Elm_Atspi_Action Elm_Atspi_Action; | ||
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c index bf20b911f..455c2084f 100644 --- a/src/lib/elm_list.c +++ b/src/lib/elm_list.c | |||
@@ -12,6 +12,10 @@ | |||
12 | #include "elm_interface_atspi_accessible.h" | 12 | #include "elm_interface_atspi_accessible.h" |
13 | #include "elm_interface_atspi_accessible.eo.h" | 13 | #include "elm_interface_atspi_accessible.eo.h" |
14 | 14 | ||
15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
16 | #include "elm_interface_atspi_widget_action.h" | ||
17 | #include "elm_interface_atspi_widget_action.eo.h" | ||
18 | |||
15 | #define MY_CLASS ELM_LIST_CLASS | 19 | #define MY_CLASS ELM_LIST_CLASS |
16 | 20 | ||
17 | #define MY_CLASS_NAME "Elm_List" | 21 | #define MY_CLASS_NAME "Elm_List" |
@@ -2985,4 +2989,27 @@ _elm_list_class_constructor(Eo_Class *klass) | |||
2985 | 2989 | ||
2986 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 2990 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
2987 | } | 2991 | } |
2992 | |||
2993 | EOLIAN const Elm_Atspi_Action * | ||
2994 | _elm_list_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_List_Data *pd EINA_UNUSED) | ||
2995 | { | ||
2996 | static Elm_Atspi_Action atspi_actions[] = { | ||
2997 | { "move,prior", "move", "prior", _key_action_move}, | ||
2998 | { "move,next", "move", "next", _key_action_move}, | ||
2999 | { "move,left", "move", "left", _key_action_move}, | ||
3000 | { "move,left,multi", "move", "left_multi", _key_action_move}, | ||
3001 | { "move,right", "move", "right", _key_action_move}, | ||
3002 | { "move,right,multi", "move", "right_multi", _key_action_move}, | ||
3003 | { "move,up", "move", "up", _key_action_move}, | ||
3004 | { "move,up,multi", "move", "up_multi", _key_action_move}, | ||
3005 | { "move,down", "move", "down", _key_action_move}, | ||
3006 | { "move,down,multi", "move", "down_multi", _key_action_move}, | ||
3007 | { "move,first", "move", "first", _key_action_move}, | ||
3008 | { "move,last", "move", "last", _key_action_move}, | ||
3009 | { "select", "select", NULL, _key_action_select}, | ||
3010 | { "escape", "escape", NULL, _key_action_escape}, | ||
3011 | { NULL, NULL, NULL, NULL } | ||
3012 | }; | ||
3013 | return &atspi_actions[0]; | ||
3014 | } | ||
2988 | #include "elm_list.eo.c" | 3015 | #include "elm_list.eo.c" |
diff --git a/src/lib/elm_list.eo b/src/lib/elm_list.eo index c093d0575..8a495d0ed 100644 --- a/src/lib/elm_list.eo +++ b/src/lib/elm_list.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_List (Elm_Layout, Elm_Interface_Scrollable) | 1 | class Elm_List (Elm_Layout, Elm_Interface_Scrollable, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_list; | 4 | eo_prefix: elm_obj_list; |
4 | properties { | 5 | properties { |
@@ -607,6 +608,7 @@ class Elm_List (Elm_Layout, Elm_Interface_Scrollable) | |||
607 | Elm_Widget.item_loop_enabled.get; | 608 | Elm_Widget.item_loop_enabled.get; |
608 | Elm_Layout.sizing_eval; | 609 | Elm_Layout.sizing_eval; |
609 | Elm_Interface_Scrollable.policy.set; | 610 | Elm_Interface_Scrollable.policy.set; |
611 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
610 | } | 612 | } |
611 | events { | 613 | events { |
612 | activated; | 614 | activated; |
diff --git a/src/lib/elm_map.c b/src/lib/elm_map.c index 4541279c5..a704e4ac4 100644 --- a/src/lib/elm_map.c +++ b/src/lib/elm_map.c | |||
@@ -12,6 +12,10 @@ | |||
12 | #include "elm_interface_atspi_accessible.h" | 12 | #include "elm_interface_atspi_accessible.h" |
13 | #include "elm_interface_atspi_accessible.eo.h" | 13 | #include "elm_interface_atspi_accessible.eo.h" |
14 | 14 | ||
15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
16 | #include "elm_interface_atspi_widget_action.h" | ||
17 | #include "elm_interface_atspi_widget_action.eo.h" | ||
18 | |||
15 | #define MY_PAN_CLASS ELM_MAP_PAN_CLASS | 19 | #define MY_PAN_CLASS ELM_MAP_PAN_CLASS |
16 | 20 | ||
17 | #define MY_PAN_CLASS_NAME "Elm_Map_Pan" | 21 | #define MY_PAN_CLASS_NAME "Elm_Map_Pan" |
@@ -5501,4 +5505,21 @@ _elm_map_class_constructor(Eo_Class *klass) | |||
5501 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 5505 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
5502 | } | 5506 | } |
5503 | 5507 | ||
5508 | EOLIAN const Elm_Atspi_Action * | ||
5509 | _elm_map_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Map_Data *pd EINA_UNUSED) | ||
5510 | { | ||
5511 | static Elm_Atspi_Action atspi_actions[] = { | ||
5512 | { "move,prior", "move", "prior", _key_action_move}, | ||
5513 | { "move,next", "move", "next", _key_action_move}, | ||
5514 | { "move,left", "move", "left", _key_action_move}, | ||
5515 | { "move,right", "move", "right", _key_action_move}, | ||
5516 | { "move,up", "move", "up", _key_action_move}, | ||
5517 | { "move,down", "move", "down", _key_action_move}, | ||
5518 | { "zoom,in", "zoom", "in", _key_action_zoom}, | ||
5519 | { "zoom,out", "zoom", "out", _key_action_zoom}, | ||
5520 | { NULL, NULL, NULL, NULL } | ||
5521 | }; | ||
5522 | return &atspi_actions[0]; | ||
5523 | } | ||
5524 | |||
5504 | #include "elm_map.eo.c" | 5525 | #include "elm_map.eo.c" |
diff --git a/src/lib/elm_map.eo b/src/lib/elm_map.eo index d394785a3..5d07d771e 100644 --- a/src/lib/elm_map.eo +++ b/src/lib/elm_map.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Map (Elm_Widget, Elm_Interface_Scrollable) | 1 | class Elm_Map (Elm_Widget, Elm_Interface_Scrollable, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_map; | 4 | eo_prefix: elm_obj_map; |
4 | properties { | 5 | properties { |
@@ -780,6 +781,7 @@ class Elm_Map (Elm_Widget, Elm_Interface_Scrollable) | |||
780 | Elm_Widget.theme_apply; | 781 | Elm_Widget.theme_apply; |
781 | Elm_Widget.on_focus; | 782 | Elm_Widget.on_focus; |
782 | Elm_Widget.event; | 783 | Elm_Widget.event; |
784 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
783 | } | 785 | } |
784 | events { | 786 | events { |
785 | clicked; | 787 | clicked; |
diff --git a/src/lib/elm_panel.c b/src/lib/elm_panel.c index c3245a28d..b6af91b38 100644 --- a/src/lib/elm_panel.c +++ b/src/lib/elm_panel.c | |||
@@ -13,6 +13,10 @@ | |||
13 | #include "elm_interface_atspi_accessible.h" | 13 | #include "elm_interface_atspi_accessible.h" |
14 | #include "elm_interface_atspi_accessible.eo.h" | 14 | #include "elm_interface_atspi_accessible.eo.h" |
15 | 15 | ||
16 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
17 | #include "elm_interface_atspi_widget_action.h" | ||
18 | #include "elm_interface_atspi_widget_action.eo.h" | ||
19 | |||
16 | #define MY_CLASS ELM_PANEL_CLASS | 20 | #define MY_CLASS ELM_PANEL_CLASS |
17 | 21 | ||
18 | #define MY_CLASS_NAME "Elm_Panel" | 22 | #define MY_CLASS_NAME "Elm_Panel" |
@@ -1387,4 +1391,14 @@ _elm_panel_class_constructor(Eo_Class *klass) | |||
1387 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 1391 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
1388 | } | 1392 | } |
1389 | 1393 | ||
1394 | EOLIAN const Elm_Atspi_Action * | ||
1395 | _elm_panel_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Panel_Data *pd EINA_UNUSED) | ||
1396 | { | ||
1397 | static Elm_Atspi_Action atspi_actions[] = { | ||
1398 | { "toggle", "toggle", NULL, _key_action_toggle}, | ||
1399 | { NULL, NULL, NULL, NULL } | ||
1400 | }; | ||
1401 | return &atspi_actions[0]; | ||
1402 | } | ||
1403 | |||
1390 | #include "elm_panel.eo.c" | 1404 | #include "elm_panel.eo.c" |
diff --git a/src/lib/elm_panel.eo b/src/lib/elm_panel.eo index 25e98b7ac..e2396154d 100644 --- a/src/lib/elm_panel.eo +++ b/src/lib/elm_panel.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Panel (Elm_Layout, Elm_Interface_Scrollable) | 1 | class Elm_Panel (Elm_Layout, Elm_Interface_Scrollable, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_panel; | 4 | eo_prefix: elm_obj_panel; |
4 | properties { | 5 | properties { |
@@ -96,6 +97,7 @@ class Elm_Panel (Elm_Layout, Elm_Interface_Scrollable) | |||
96 | Elm_Container.content_unset; | 97 | Elm_Container.content_unset; |
97 | Elm_Container.content_set; | 98 | Elm_Container.content_set; |
98 | Elm_Layout.sizing_eval; | 99 | Elm_Layout.sizing_eval; |
100 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
99 | } | 101 | } |
100 | events { | 102 | events { |
101 | focused; | 103 | focused; |
diff --git a/src/lib/elm_photocam.c b/src/lib/elm_photocam.c index da9895deb..57e813769 100644 --- a/src/lib/elm_photocam.c +++ b/src/lib/elm_photocam.c | |||
@@ -12,6 +12,10 @@ | |||
12 | #include "elm_interface_atspi_accessible.h" | 12 | #include "elm_interface_atspi_accessible.h" |
13 | #include "elm_interface_atspi_accessible.eo.h" | 13 | #include "elm_interface_atspi_accessible.eo.h" |
14 | 14 | ||
15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
16 | #include "elm_interface_atspi_widget_action.h" | ||
17 | #include "elm_interface_atspi_widget_action.eo.h" | ||
18 | |||
15 | #define MY_PAN_CLASS ELM_PHOTOCAM_PAN_CLASS | 19 | #define MY_PAN_CLASS ELM_PHOTOCAM_PAN_CLASS |
16 | 20 | ||
17 | #define MY_PAN_CLASS_NAME "Elm_Photocam_Pan" | 21 | #define MY_PAN_CLASS_NAME "Elm_Photocam_Pan" |
@@ -2075,4 +2079,21 @@ _elm_photocam_class_constructor(Eo_Class *klass) | |||
2075 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 2079 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
2076 | } | 2080 | } |
2077 | 2081 | ||
2082 | EOLIAN const Elm_Atspi_Action * | ||
2083 | _elm_photocam_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Photocam_Data *pd EINA_UNUSED) | ||
2084 | { | ||
2085 | static Elm_Atspi_Action atspi_actions[] = { | ||
2086 | { "move,prior", "move", "prior", _key_action_move}, | ||
2087 | { "move,next", "move", "next", _key_action_move}, | ||
2088 | { "move,left", "move", "left", _key_action_move}, | ||
2089 | { "move,right", "move", "right", _key_action_move}, | ||
2090 | { "move,up", "move", "up", _key_action_move}, | ||
2091 | { "move,down", "move", "down", _key_action_move}, | ||
2092 | { "zoom,in", "zoom", "in", _key_action_zoom}, | ||
2093 | { "zoom,out", "zoom", "out", _key_action_zoom}, | ||
2094 | { NULL, NULL, NULL, NULL } | ||
2095 | }; | ||
2096 | return &atspi_actions[0]; | ||
2097 | } | ||
2098 | |||
2078 | #include "elm_photocam.eo.c" | 2099 | #include "elm_photocam.eo.c" |
diff --git a/src/lib/elm_photocam.eo b/src/lib/elm_photocam.eo index 70dfb3bf1..f07a05424 100644 --- a/src/lib/elm_photocam.eo +++ b/src/lib/elm_photocam.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Photocam (Elm_Widget, Elm_Interface_Scrollable) | 1 | class Elm_Photocam (Elm_Widget, Elm_Interface_Scrollable, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_photocam; | 4 | eo_prefix: elm_obj_photocam; |
4 | properties { | 5 | properties { |
@@ -234,6 +235,7 @@ class Elm_Photocam (Elm_Widget, Elm_Interface_Scrollable) | |||
234 | Elm_Widget.on_focus; | 235 | Elm_Widget.on_focus; |
235 | Elm_Widget.event; | 236 | Elm_Widget.event; |
236 | Elm_Interface_Scrollable.region_bring_in; | 237 | Elm_Interface_Scrollable.region_bring_in; |
238 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
237 | } | 239 | } |
238 | events { | 240 | events { |
239 | clicked; | 241 | clicked; |
diff --git a/src/lib/elm_radio.c b/src/lib/elm_radio.c index 0532c1834..045ce2917 100644 --- a/src/lib/elm_radio.c +++ b/src/lib/elm_radio.c | |||
@@ -12,6 +12,10 @@ | |||
12 | #include "elm_interface_atspi_accessible.h" | 12 | #include "elm_interface_atspi_accessible.h" |
13 | #include "elm_interface_atspi_accessible.eo.h" | 13 | #include "elm_interface_atspi_accessible.eo.h" |
14 | 14 | ||
15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
16 | #include "elm_interface_atspi_widget_action.h" | ||
17 | #include "elm_interface_atspi_widget_action.eo.h" | ||
18 | |||
15 | #define MY_CLASS ELM_RADIO_CLASS | 19 | #define MY_CLASS ELM_RADIO_CLASS |
16 | 20 | ||
17 | #define MY_CLASS_NAME "Elm_Radio" | 21 | #define MY_CLASS_NAME "Elm_Radio" |
@@ -444,4 +448,14 @@ _elm_radio_class_constructor(Eo_Class *klass) | |||
444 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 448 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
445 | } | 449 | } |
446 | 450 | ||
451 | EOLIAN const Elm_Atspi_Action * | ||
452 | _elm_radio_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Radio_Data *pd EINA_UNUSED) | ||
453 | { | ||
454 | static Elm_Atspi_Action atspi_actions[] = { | ||
455 | { "activate", "activate", NULL, _key_action_activate}, | ||
456 | { NULL, NULL, NULL, NULL } | ||
457 | }; | ||
458 | return &atspi_actions[0]; | ||
459 | } | ||
460 | |||
447 | #include "elm_radio.eo.c" | 461 | #include "elm_radio.eo.c" |
diff --git a/src/lib/elm_radio.eo b/src/lib/elm_radio.eo index 22037c451..ae5d99a47 100644 --- a/src/lib/elm_radio.eo +++ b/src/lib/elm_radio.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Radio (Elm_Layout) | 1 | class Elm_Radio (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_radio; | 3 | eo_prefix: elm_obj_radio; |
4 | properties { | 4 | properties { |
@@ -112,6 +112,7 @@ class Elm_Radio (Elm_Layout) | |||
112 | Elm_Layout.text_aliases.get; | 112 | Elm_Layout.text_aliases.get; |
113 | Elm_Layout.content_aliases.get; | 113 | Elm_Layout.content_aliases.get; |
114 | Elm_Layout.sizing_eval; | 114 | Elm_Layout.sizing_eval; |
115 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
115 | } | 116 | } |
116 | events { | 117 | events { |
117 | changed; | 118 | changed; |
diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c index 7d10c7516..64c6e0954 100644 --- a/src/lib/elm_scroller.c +++ b/src/lib/elm_scroller.c | |||
@@ -13,6 +13,10 @@ | |||
13 | #include "elm_interface_atspi_accessible.h" | 13 | #include "elm_interface_atspi_accessible.h" |
14 | #include "elm_interface_atspi_accessible.eo.h" | 14 | #include "elm_interface_atspi_accessible.eo.h" |
15 | 15 | ||
16 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
17 | #include "elm_interface_atspi_widget_action.h" | ||
18 | #include "elm_interface_atspi_widget_action.eo.h" | ||
19 | |||
16 | #define MY_CLASS ELM_SCROLLER_CLASS | 20 | #define MY_CLASS ELM_SCROLLER_CLASS |
17 | 21 | ||
18 | #define MY_CLASS_NAME "Elm_Scroller" | 22 | #define MY_CLASS_NAME "Elm_Scroller" |
@@ -1128,4 +1132,21 @@ _elm_scroller_class_constructor(Eo_Class *klass) | |||
1128 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 1132 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
1129 | } | 1133 | } |
1130 | 1134 | ||
1135 | EOLIAN const Elm_Atspi_Action * | ||
1136 | _elm_scroller_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Scroller_Data *pd EINA_UNUSED) | ||
1137 | { | ||
1138 | static Elm_Atspi_Action atspi_actions[] = { | ||
1139 | { "move,prior", "move", "prior", _key_action_move}, | ||
1140 | { "move,next", "move", "next", _key_action_move}, | ||
1141 | { "move,left", "move", "left", _key_action_move}, | ||
1142 | { "move,right", "move", "right", _key_action_move}, | ||
1143 | { "move,up", "move", "up", _key_action_move}, | ||
1144 | { "move,down", "move", "down", _key_action_move}, | ||
1145 | { "move,first", "move", "first", _key_action_move}, | ||
1146 | { "move,last", "move", "last", _key_action_move}, | ||
1147 | { NULL, NULL, NULL, NULL } | ||
1148 | }; | ||
1149 | return &atspi_actions[0]; | ||
1150 | } | ||
1151 | |||
1131 | #include "elm_scroller.eo.c" | 1152 | #include "elm_scroller.eo.c" |
diff --git a/src/lib/elm_scroller.eo b/src/lib/elm_scroller.eo index cee1b65dc..953cc853a 100644 --- a/src/lib/elm_scroller.eo +++ b/src/lib/elm_scroller.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Scroller (Elm_Layout, Elm_Interface_Scrollable) | 1 | class Elm_Scroller (Elm_Layout, Elm_Interface_Scrollable, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_scroller; | 4 | eo_prefix: elm_obj_scroller; |
4 | properties { | 5 | properties { |
@@ -92,6 +93,7 @@ class Elm_Scroller (Elm_Layout, Elm_Interface_Scrollable) | |||
92 | Elm_Interface_Scrollable.page_size.set; | 93 | Elm_Interface_Scrollable.page_size.set; |
93 | Elm_Interface_Scrollable.policy.set; | 94 | Elm_Interface_Scrollable.policy.set; |
94 | Elm_Interface_Scrollable.single_direction; | 95 | Elm_Interface_Scrollable.single_direction; |
96 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
95 | } | 97 | } |
96 | events { | 98 | events { |
97 | focused; | 99 | focused; |
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c index 64d4e1d08..e437bb155 100644 --- a/src/lib/elm_slider.c +++ b/src/lib/elm_slider.c | |||
@@ -12,6 +12,10 @@ | |||
12 | #include "elm_interface_atspi_accessible.h" | 12 | #include "elm_interface_atspi_accessible.h" |
13 | #include "elm_interface_atspi_accessible.eo.h" | 13 | #include "elm_interface_atspi_accessible.eo.h" |
14 | 14 | ||
15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
16 | #include "elm_interface_atspi_widget_action.h" | ||
17 | #include "elm_interface_atspi_widget_action.eo.h" | ||
18 | |||
15 | #define ELM_INTERFACE_ATSPI_VALUE_PROTECTED | 19 | #define ELM_INTERFACE_ATSPI_VALUE_PROTECTED |
16 | #include "elm_interface_atspi_value.eo.h" | 20 | #include "elm_interface_atspi_value.eo.h" |
17 | 21 | ||
@@ -1236,6 +1240,19 @@ _elm_slider_elm_interface_atspi_value_increment_get(Eo *obj EINA_UNUSED, Elm_Sli | |||
1236 | return sd->step; | 1240 | return sd->step; |
1237 | } | 1241 | } |
1238 | 1242 | ||
1243 | EOLIAN const Elm_Atspi_Action * | ||
1244 | _elm_slider_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Slider_Data *pd EINA_UNUSED) | ||
1245 | { | ||
1246 | static Elm_Atspi_Action atspi_actions[] = { | ||
1247 | { "drag,left", "drag", "left", _key_action_drag}, | ||
1248 | { "drag,right", "drag", "right", _key_action_drag}, | ||
1249 | { "drag,up", "drag", "up", _key_action_drag}, | ||
1250 | { "drag,down", "drag", "down", _key_action_drag}, | ||
1251 | { NULL, NULL, NULL, NULL} | ||
1252 | }; | ||
1253 | return &atspi_actions[0]; | ||
1254 | } | ||
1255 | |||
1239 | // A11Y Accessibility - END | 1256 | // A11Y Accessibility - END |
1240 | 1257 | ||
1241 | #include "elm_slider.eo.c" | 1258 | #include "elm_slider.eo.c" |
diff --git a/src/lib/elm_slider.eo b/src/lib/elm_slider.eo index c4255eb78..3712789d4 100644 --- a/src/lib/elm_slider.eo +++ b/src/lib/elm_slider.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Slider (Elm_Layout, Elm_Interface_Atspi_Value) | 1 | class Elm_Slider (Elm_Layout, Elm_Interface_Atspi_Value, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_slider; | 4 | eo_prefix: elm_obj_slider; |
4 | properties { | 5 | properties { |
@@ -379,6 +380,7 @@ class Elm_Slider (Elm_Layout, Elm_Interface_Atspi_Value) | |||
379 | Elm_Interface_Atspi_Value.value_and_text.set; | 380 | Elm_Interface_Atspi_Value.value_and_text.set; |
380 | Elm_Interface_Atspi_Value.range.get; | 381 | Elm_Interface_Atspi_Value.range.get; |
381 | Elm_Interface_Atspi_Value.increment.get; | 382 | Elm_Interface_Atspi_Value.increment.get; |
383 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
382 | } | 384 | } |
383 | events { | 385 | events { |
384 | changed; | 386 | changed; |
diff --git a/src/lib/elm_slideshow.c b/src/lib/elm_slideshow.c index 830b763c0..890d2280b 100644 --- a/src/lib/elm_slideshow.c +++ b/src/lib/elm_slideshow.c | |||
@@ -11,6 +11,10 @@ | |||
11 | #include "elm_interface_atspi_accessible.h" | 11 | #include "elm_interface_atspi_accessible.h" |
12 | #include "elm_interface_atspi_accessible.eo.h" | 12 | #include "elm_interface_atspi_accessible.eo.h" |
13 | 13 | ||
14 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
15 | #include "elm_interface_atspi_widget_action.h" | ||
16 | #include "elm_interface_atspi_widget_action.eo.h" | ||
17 | |||
14 | #define MY_CLASS ELM_SLIDESHOW_CLASS | 18 | #define MY_CLASS ELM_SLIDESHOW_CLASS |
15 | 19 | ||
16 | #define MY_CLASS_NAME "Elm_Slideshow" | 20 | #define MY_CLASS_NAME "Elm_Slideshow" |
@@ -712,4 +716,16 @@ _elm_slideshow_class_constructor(Eo_Class *klass) | |||
712 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 716 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
713 | } | 717 | } |
714 | 718 | ||
719 | EOLIAN static const Elm_Atspi_Action* | ||
720 | _elm_slideshow_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Slideshow_Data *sd EINA_UNUSED) | ||
721 | { | ||
722 | static Elm_Atspi_Action atspi_actions[] = { | ||
723 | { "move,left", "move", "left", _key_action_move}, | ||
724 | { "move,right", "move", "right", _key_action_move}, | ||
725 | { "pause", "pause", NULL, _key_action_pause}, | ||
726 | { NULL, NULL, NULL, NULL } | ||
727 | }; | ||
728 | return &atspi_actions[0]; | ||
729 | } | ||
730 | |||
715 | #include "elm_slideshow.eo.c" | 731 | #include "elm_slideshow.eo.c" |
diff --git a/src/lib/elm_slideshow.eo b/src/lib/elm_slideshow.eo index c54c427ab..b32112b72 100644 --- a/src/lib/elm_slideshow.eo +++ b/src/lib/elm_slideshow.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Slideshow (Elm_Layout) | 1 | class Elm_Slideshow (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_slideshow; | 3 | eo_prefix: elm_obj_slideshow; |
4 | properties { | 4 | properties { |
@@ -424,6 +424,7 @@ class Elm_Slideshow (Elm_Layout) | |||
424 | Elm_Widget.focus_direction_manager_is; | 424 | Elm_Widget.focus_direction_manager_is; |
425 | Elm_Widget.event; | 425 | Elm_Widget.event; |
426 | Elm_Layout.sizing_eval; | 426 | Elm_Layout.sizing_eval; |
427 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
427 | } | 428 | } |
428 | events { | 429 | events { |
429 | changed; | 430 | changed; |
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c index 8f167c618..afba203a6 100644 --- a/src/lib/elm_spinner.c +++ b/src/lib/elm_spinner.c | |||
@@ -17,6 +17,10 @@ | |||
17 | #define ELM_INTERFACE_ATSPI_VALUE_PROTECTED | 17 | #define ELM_INTERFACE_ATSPI_VALUE_PROTECTED |
18 | #include "elm_interface_atspi_value.eo.h" | 18 | #include "elm_interface_atspi_value.eo.h" |
19 | 19 | ||
20 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
21 | #include "elm_interface_atspi_widget_action.h" | ||
22 | #include "elm_interface_atspi_widget_action.eo.h" | ||
23 | |||
20 | #define MY_CLASS ELM_SPINNER_CLASS | 24 | #define MY_CLASS ELM_SPINNER_CLASS |
21 | 25 | ||
22 | #define MY_CLASS_NAME "Elm_Spinner" | 26 | #define MY_CLASS_NAME "Elm_Spinner" |
@@ -1107,6 +1111,20 @@ _elm_spinner_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Spinner_Data * | |||
1107 | { | 1111 | { |
1108 | return elm_layout_text_get(obj, "elm.text"); | 1112 | return elm_layout_text_get(obj, "elm.text"); |
1109 | } | 1113 | } |
1114 | |||
1115 | EOLIAN static const Elm_Atspi_Action* | ||
1116 | _elm_spinner_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd EINA_UNUSED) | ||
1117 | { | ||
1118 | static Elm_Atspi_Action atspi_actions[] = { | ||
1119 | { "spin,left", "spin", "left", _key_action_spin}, | ||
1120 | { "spin,right", "spin", "right", _key_action_spin}, | ||
1121 | { "spin,up", "spin", "up", _key_action_spin}, | ||
1122 | { "spin,down", "spin", "down", _key_action_spin}, | ||
1123 | { "toggle", "toggle", NULL, _key_action_toggle}, | ||
1124 | { NULL, NULL, NULL, NULL } | ||
1125 | }; | ||
1126 | return &atspi_actions[0]; | ||
1127 | } | ||
1110 | // A11Y Accessibility - END | 1128 | // A11Y Accessibility - END |
1111 | 1129 | ||
1112 | #include "elm_spinner.eo.c" | 1130 | #include "elm_spinner.eo.c" |
diff --git a/src/lib/elm_spinner.eo b/src/lib/elm_spinner.eo index cf29276b9..ed31d4a27 100644 --- a/src/lib/elm_spinner.eo +++ b/src/lib/elm_spinner.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Spinner (Elm_Layout, Elm_Interface_Atspi_Value) | 1 | class Elm_Spinner (Elm_Layout, Elm_Interface_Atspi_Value, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_spinner; | 3 | eo_prefix: elm_obj_spinner; |
4 | properties { | 4 | properties { |
@@ -379,6 +379,7 @@ class Elm_Spinner (Elm_Layout, Elm_Interface_Atspi_Value) | |||
379 | Elm_Interface_Atspi_Value.value_and_text.set; | 379 | Elm_Interface_Atspi_Value.value_and_text.set; |
380 | Elm_Interface_Atspi_Value.range.get; | 380 | Elm_Interface_Atspi_Value.range.get; |
381 | Elm_Interface_Atspi_Value.increment.get; | 381 | Elm_Interface_Atspi_Value.increment.get; |
382 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
382 | } | 383 | } |
383 | events { | 384 | events { |
384 | changed; | 385 | changed; |
@@ -390,5 +391,4 @@ class Elm_Spinner (Elm_Layout, Elm_Interface_Atspi_Value) | |||
390 | focused; | 391 | focused; |
391 | unfocused; | 392 | unfocused; |
392 | } | 393 | } |
393 | |||
394 | } | 394 | } |
diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c index 546773966..c38a40f06 100644 --- a/src/lib/elm_toolbar.c +++ b/src/lib/elm_toolbar.c | |||
@@ -12,6 +12,10 @@ | |||
12 | #include "elm_interface_atspi_accessible.h" | 12 | #include "elm_interface_atspi_accessible.h" |
13 | #include "elm_interface_atspi_accessible.eo.h" | 13 | #include "elm_interface_atspi_accessible.eo.h" |
14 | 14 | ||
15 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
16 | #include "elm_interface_atspi_widget_action.h" | ||
17 | #include "elm_interface_atspi_widget_action.eo.h" | ||
18 | |||
15 | #define MY_CLASS ELM_TOOLBAR_CLASS | 19 | #define MY_CLASS ELM_TOOLBAR_CLASS |
16 | 20 | ||
17 | #define MY_CLASS_NAME "Elm_Toolbar" | 21 | #define MY_CLASS_NAME "Elm_Toolbar" |
@@ -3844,4 +3848,18 @@ _elm_toolbar_class_constructor(Eo_Class *klass) | |||
3844 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 3848 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
3845 | } | 3849 | } |
3846 | 3850 | ||
3851 | EOLIAN static const Elm_Atspi_Action* | ||
3852 | _elm_toolbar_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd EINA_UNUSED) | ||
3853 | { | ||
3854 | static Elm_Atspi_Action atspi_actions[] = { | ||
3855 | { "select", "select", NULL, _key_action_select}, | ||
3856 | { "move,left", "move", "left", _key_action_move}, | ||
3857 | { "move,right", "move", "right", _key_action_move}, | ||
3858 | { "move,up", "move", "up", _key_action_move}, | ||
3859 | { "move,down", "move", "down", _key_action_move}, | ||
3860 | { NULL, NULL, NULL, NULL } | ||
3861 | }; | ||
3862 | return &atspi_actions[0]; | ||
3863 | } | ||
3864 | |||
3847 | #include "elm_toolbar.eo.c" | 3865 | #include "elm_toolbar.eo.c" |
diff --git a/src/lib/elm_toolbar.eo b/src/lib/elm_toolbar.eo index 4c46d8354..70f69d697 100644 --- a/src/lib/elm_toolbar.eo +++ b/src/lib/elm_toolbar.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Toolbar (Elm_Widget, Elm_Interface_Scrollable) | 1 | class Elm_Toolbar (Elm_Widget, Elm_Interface_Scrollable, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_toolbar; | 4 | eo_prefix: elm_obj_toolbar; |
4 | properties { | 5 | properties { |
@@ -511,6 +512,7 @@ class Elm_Toolbar (Elm_Widget, Elm_Interface_Scrollable) | |||
511 | Elm_Widget.event; | 512 | Elm_Widget.event; |
512 | Elm_Widget.focus_highlight_geometry_get; | 513 | Elm_Widget.focus_highlight_geometry_get; |
513 | Elm_Widget.focused_item.get; | 514 | Elm_Widget.focused_item.get; |
515 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
514 | } | 516 | } |
515 | events { | 517 | events { |
516 | scroll; | 518 | scroll; |
diff --git a/src/lib/elm_video.c b/src/lib/elm_video.c index d49b58133..cf0ac909d 100644 --- a/src/lib/elm_video.c +++ b/src/lib/elm_video.c | |||
@@ -17,6 +17,10 @@ | |||
17 | #include "elm_interface_atspi_accessible.h" | 17 | #include "elm_interface_atspi_accessible.h" |
18 | #include "elm_interface_atspi_accessible.eo.h" | 18 | #include "elm_interface_atspi_accessible.eo.h" |
19 | 19 | ||
20 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
21 | #include "elm_interface_atspi_widget_action.h" | ||
22 | #include "elm_interface_atspi_widget_action.eo.h" | ||
23 | |||
20 | #define MY_CLASS ELM_VIDEO_CLASS | 24 | #define MY_CLASS ELM_VIDEO_CLASS |
21 | 25 | ||
22 | #define MY_CLASS_NAME "Elm_Video" | 26 | #define MY_CLASS_NAME "Elm_Video" |
@@ -436,4 +440,16 @@ _elm_video_class_constructor(Eo_Class *klass) | |||
436 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); | 440 | evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); |
437 | } | 441 | } |
438 | 442 | ||
443 | EOLIAN const Elm_Atspi_Action * | ||
444 | _elm_video_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Video_Data *pd EINA_UNUSED) | ||
445 | { | ||
446 | static Elm_Atspi_Action atspi_actions[] = { | ||
447 | { "move,left", "move", "left", _key_action_move}, | ||
448 | { "move,right", "move", "right", _key_action_move}, | ||
449 | { "play", "play", NULL, _key_action_play}, | ||
450 | { NULL, NULL, NULL, NULL} | ||
451 | }; | ||
452 | return &atspi_actions[0]; | ||
453 | } | ||
454 | |||
439 | #include "elm_video.eo.c" | 455 | #include "elm_video.eo.c" |
diff --git a/src/lib/elm_video.eo b/src/lib/elm_video.eo index f3382146d..bd3589e74 100644 --- a/src/lib/elm_video.eo +++ b/src/lib/elm_video.eo | |||
@@ -1,4 +1,4 @@ | |||
1 | class Elm_Video (Elm_Layout) | 1 | class Elm_Video (Elm_Layout, Elm_Interface_Atspi_Widget_Action) |
2 | { | 2 | { |
3 | eo_prefix: elm_obj_video; | 3 | eo_prefix: elm_obj_video; |
4 | properties { | 4 | properties { |
@@ -210,6 +210,7 @@ class Elm_Video (Elm_Layout) | |||
210 | Elm_Widget.focus_direction_manager_is; | 210 | Elm_Widget.focus_direction_manager_is; |
211 | Elm_Widget.event; | 211 | Elm_Widget.event; |
212 | Elm_Layout.sizing_eval; | 212 | Elm_Layout.sizing_eval; |
213 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
213 | } | 214 | } |
214 | events { | 215 | events { |
215 | focused; | 216 | focused; |
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index abcf482db..77696de90 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c | |||
@@ -15,6 +15,10 @@ | |||
15 | #include "elm_interface_atspi_window.eo.h" | 15 | #include "elm_interface_atspi_window.eo.h" |
16 | #include "elm_interface_atspi_widget.eo.h" | 16 | #include "elm_interface_atspi_widget.eo.h" |
17 | 17 | ||
18 | #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED | ||
19 | #include "elm_interface_atspi_widget_action.h" | ||
20 | #include "elm_interface_atspi_widget_action.eo.h" | ||
21 | |||
18 | #define MY_CLASS ELM_WIN_CLASS | 22 | #define MY_CLASS ELM_WIN_CLASS |
19 | 23 | ||
20 | #define MY_CLASS_NAME "Elm_Win" | 24 | #define MY_CLASS_NAME "Elm_Win" |
@@ -4906,4 +4910,19 @@ _elm_win_elm_interface_atspi_accessible_parent_get(Eo *obj EINA_UNUSED, Elm_Win_ | |||
4906 | return _elm_atspi_bridge_root_get(); | 4910 | return _elm_atspi_bridge_root_get(); |
4907 | } | 4911 | } |
4908 | 4912 | ||
4913 | EOLIAN static const Elm_Atspi_Action* | ||
4914 | _elm_win_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd EINA_UNUSED) | ||
4915 | { | ||
4916 | static Elm_Atspi_Action atspi_actions[] = { | ||
4917 | { "move,previous", "move", "previous", _key_action_move}, | ||
4918 | { "move,next", "move", "next", _key_action_move}, | ||
4919 | { "move,left", "move", "left", _key_action_move}, | ||
4920 | { "move,right", "move", "right", _key_action_move}, | ||
4921 | { "move,up", "move", "up", _key_action_move}, | ||
4922 | { "move,down", "move", "down", _key_action_move}, | ||
4923 | { NULL, NULL, NULL, NULL } | ||
4924 | }; | ||
4925 | return &atspi_actions[0]; | ||
4926 | } | ||
4927 | |||
4909 | #include "elm_win.eo.c" | 4928 | #include "elm_win.eo.c" |
diff --git a/src/lib/elm_win.eo b/src/lib/elm_win.eo index 2981f1b5d..ff797d2fc 100644 --- a/src/lib/elm_win.eo +++ b/src/lib/elm_win.eo | |||
@@ -1,4 +1,5 @@ | |||
1 | class Elm_Win (Elm_Widget, Elm_Interface_Atspi_Window) | 1 | class Elm_Win (Elm_Widget, Elm_Interface_Atspi_Window, |
2 | Elm_Interface_Atspi_Widget_Action) | ||
2 | { | 3 | { |
3 | eo_prefix: elm_obj_win; | 4 | eo_prefix: elm_obj_win; |
4 | constructors { | 5 | constructors { |
@@ -1346,6 +1347,7 @@ class Elm_Win (Elm_Widget, Elm_Interface_Atspi_Window) | |||
1346 | Elm_Widget.on_focus; | 1347 | Elm_Widget.on_focus; |
1347 | Elm_Widget.event; | 1348 | Elm_Widget.event; |
1348 | Elm_Interface_Atspi_Accessible.parent.get; | 1349 | Elm_Interface_Atspi_Accessible.parent.get; |
1350 | Elm_Interface_Atspi_Widget_Action.elm_actions.get; | ||
1349 | } | 1351 | } |
1350 | events { | 1352 | events { |
1351 | delete,request; | 1353 | delete,request; |