stanluk pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=e071e2d8f6c7eac412d4d76c0d14de8ebc664f70

commit e071e2d8f6c7eac412d4d76c0d14de8ebc664f70
Author: Lukasz Stanislawski <l.stanisl...@samsung.com>
Date:   Wed Jul 1 10:42:45 2015 +0200

    genlist: broadcast atspi expanded state changes
---
 src/lib/elm_atspi_bridge.c | 11 ++++++++---
 src/lib/elm_genlist.c      | 11 +++++++++++
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index 289f3af..6070ebf 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -2900,11 +2900,13 @@ _set_broadcast_flag(const char *event, Eo *bridge)
              if (!tokens[2] || *tokens[2] == '\0')
                pd->object_state_broadcast_mask = -1; // broadcast all
              else if (!strcmp(tokens[2], "Focused"))
-               STATE_TYPE_SET(pd->object_state_broadcast_mask, 
ATSPI_STATE_FOCUSED);
+               STATE_TYPE_SET(pd->object_state_broadcast_mask, 
ELM_ATSPI_STATE_FOCUSED);
              else if (!strcmp(tokens[2], "Showing"))
-               STATE_TYPE_SET(pd->object_state_broadcast_mask, 
ATSPI_STATE_SHOWING);
+               STATE_TYPE_SET(pd->object_state_broadcast_mask, 
ELM_ATSPI_STATE_SHOWING);
              else if (!strcmp(tokens[2], "Checked"))
-               STATE_TYPE_SET(pd->object_state_broadcast_mask, 
ATSPI_STATE_CHECKED);
+               STATE_TYPE_SET(pd->object_state_broadcast_mask, 
ELM_ATSPI_STATE_CHECKED);
+             else if (!strcmp(tokens[2], "Expanded"))
+               STATE_TYPE_SET(pd->object_state_broadcast_mask, 
ELM_ATSPI_STATE_EXPANDED);
           }
         else if (!strcmp(tokens[1], "PropertyChange"))
           {
@@ -3048,6 +3050,9 @@ _state_changed_signal_send(void *data, Eo *obj 
EINA_UNUSED, const Eo_Event_Descr
         case ELM_ATSPI_STATE_CHECKED:
          type_desc = "checked";
          break;
+        case ELM_ATSPI_STATE_EXPANDED:
+         type_desc = "expanded";
+         break;
         default:
          return EINA_FALSE;
    }
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index e612532..e332bce 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -6711,6 +6711,8 @@ _elm_genlist_item_expanded_set(Eo *eo_item EINA_UNUSED, 
Elm_Gen_Item *it, Eina_B
           edje_object_signal_emit(VIEW(it), SIGNAL_EXPANDED, "elm");
         evas_object_smart_callback_call(WIDGET(it), SIG_EXPANDED, EO_OBJ(it));
         sd->auto_scroll_enabled = EINA_TRUE;
+        if (_elm_config->atspi_mode)
+          elm_interface_atspi_accessible_state_changed_signal_emit(eo_item, 
ELM_ATSPI_STATE_EXPANDED, EINA_TRUE);
      }
    else
      {
@@ -6719,6 +6721,8 @@ _elm_genlist_item_expanded_set(Eo *eo_item EINA_UNUSED, 
Elm_Gen_Item *it, Eina_B
           edje_object_signal_emit(VIEW(it), SIGNAL_CONTRACTED, "elm");
         evas_object_smart_callback_call(WIDGET(it), SIG_CONTRACTED, 
EO_OBJ(it));
         sd->auto_scroll_enabled = EINA_FALSE;
+        if (_elm_config->atspi_mode)
+          elm_interface_atspi_accessible_state_changed_signal_emit(eo_item, 
ELM_ATSPI_STATE_EXPANDED, EINA_FALSE);
      }
 }
 
@@ -7742,6 +7746,13 @@ 
_elm_genlist_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_Ge
    if (sel)
       STATE_TYPE_SET(ret, ELM_ATSPI_STATE_SELECTED);
 
+   if (elm_genlist_item_type_get(eo_it) == ELM_GENLIST_ITEM_TREE)
+     {
+        STATE_TYPE_SET(ret, ELM_ATSPI_STATE_EXPANDABLE);
+        if (elm_genlist_item_expanded_get(eo_it))
+           STATE_TYPE_SET(ret, ELM_ATSPI_STATE_EXPANDED);
+     }
+
    return ret;
 }
 

-- 


Reply via email to