access: call "access,activated" smart callback 10/123410/2
authorShinwoo Kim <cinoo.kim@samsung.com>
Wed, 5 Apr 2017 10:30:15 +0000 (19:30 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Fri, 7 Apr 2017 02:11:08 +0000 (19:11 -0700)
The "access,activated" smart callback is called when "Activate the selected item"
gesture occurs.

Application could do the activation action using elm_access_action_cb_set.
But we recommend not to use elm_access_action_cb_set for this purpose on atspi
environment. And this would be usual widget behavior as elm_button does.
Moreover we had provided this before Tizen 2.4.

Change-Id: I7371a9c0718079d30fb287f6936e95e745e7eda6

src/lib/elm_access.c

index d22d06344156715786d05c6715abc59c206e3865..b09c56b4af8ed22dcddaac18674d91ac6d0e4001 100644 (file)
@@ -38,6 +38,13 @@ static Evas_Object * _elm_access_add(Evas_Object *parent);
 
 static void _access_object_unregister(Evas_Object *obj);
 
+static const char SIG_ACTIVATED[] = "access,activated";
+static const Evas_Smart_Cb_Description _smart_callbacks[] =
+{
+   {SIG_ACTIVATED, ""},
+   {NULL, NULL}
+};
+
 EOLIAN static void
 _elm_access_evas_object_smart_add(Eo *obj, void *_pd EINA_UNUSED)
 {
@@ -1250,7 +1257,8 @@ _elm_access_eo_base_constructor(Eo *obj, void *_pd EINA_UNUSED)
 {
    obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor());
    eo_do(obj,
-         evas_obj_type_set(MY_CLASS_NAME_LEGACY));
+         evas_obj_type_set(MY_CLASS_NAME_LEGACY),
+         evas_obj_smart_callbacks_descriptions_set(_smart_callbacks));
 
    return obj;
 }
@@ -1541,7 +1549,10 @@ _access_atspi_action_do(Evas_Object *obj, const char *params)
    else if (!strcmp(params, "highlight,prev"))
      ret = _access_action_callback_call(obj, ELM_ACCESS_ACTION_HIGHLIGHT_PREV, NULL);
    else if (!strcmp(params, "activate"))
-     ret = _access_action_callback_call(obj, ELM_ACCESS_ACTION_ACTIVATE, NULL);
+     {
+        evas_object_smart_callback_call(obj, SIG_ACTIVATED, NULL);
+        ret = _access_action_callback_call(obj, ELM_ACCESS_ACTION_ACTIVATE, NULL);
+     }
    else if (!strcmp(params, "value,up"))
      ret = _access_action_callback_call(obj, ELM_ACCESS_ACTION_UP, NULL);
    else if (!strcmp(params, "value,down"))