summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Stanislawski <l.stanislaws@samsung.com>2015-07-01 10:42:45 +0200
committerLukasz Stanislawski <l.stanislaws@samsung.com>2015-07-01 10:44:58 +0200
commite071e2d8f6c7eac412d4d76c0d14de8ebc664f70 (patch)
treec1d404a15d69e0acea7d9a13e90b93e6d3b89275
parent08a7054aabd16b0a172282b074ca4318eff41e50 (diff)
genlist: broadcast atspi expanded state changes
-rw-r--r--src/lib/elm_atspi_bridge.c11
-rw-r--r--src/lib/elm_genlist.c11
2 files changed, 19 insertions, 3 deletions
diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index 289f3af96..6070ebf74 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)
2900 if (!tokens[2] || *tokens[2] == '\0') 2900 if (!tokens[2] || *tokens[2] == '\0')
2901 pd->object_state_broadcast_mask = -1; // broadcast all 2901 pd->object_state_broadcast_mask = -1; // broadcast all
2902 else if (!strcmp(tokens[2], "Focused")) 2902 else if (!strcmp(tokens[2], "Focused"))
2903 STATE_TYPE_SET(pd->object_state_broadcast_mask, ATSPI_STATE_FOCUSED); 2903 STATE_TYPE_SET(pd->object_state_broadcast_mask, ELM_ATSPI_STATE_FOCUSED);
2904 else if (!strcmp(tokens[2], "Showing")) 2904 else if (!strcmp(tokens[2], "Showing"))
2905 STATE_TYPE_SET(pd->object_state_broadcast_mask, ATSPI_STATE_SHOWING); 2905 STATE_TYPE_SET(pd->object_state_broadcast_mask, ELM_ATSPI_STATE_SHOWING);
2906 else if (!strcmp(tokens[2], "Checked")) 2906 else if (!strcmp(tokens[2], "Checked"))
2907 STATE_TYPE_SET(pd->object_state_broadcast_mask, ATSPI_STATE_CHECKED); 2907 STATE_TYPE_SET(pd->object_state_broadcast_mask, ELM_ATSPI_STATE_CHECKED);
2908 else if (!strcmp(tokens[2], "Expanded"))
2909 STATE_TYPE_SET(pd->object_state_broadcast_mask, ELM_ATSPI_STATE_EXPANDED);
2908 } 2910 }
2909 else if (!strcmp(tokens[1], "PropertyChange")) 2911 else if (!strcmp(tokens[1], "PropertyChange"))
2910 { 2912 {
@@ -3048,6 +3050,9 @@ _state_changed_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_Descr
3048 case ELM_ATSPI_STATE_CHECKED: 3050 case ELM_ATSPI_STATE_CHECKED:
3049 type_desc = "checked"; 3051 type_desc = "checked";
3050 break; 3052 break;
3053 case ELM_ATSPI_STATE_EXPANDED:
3054 type_desc = "expanded";
3055 break;
3051 default: 3056 default:
3052 return EINA_FALSE; 3057 return EINA_FALSE;
3053 } 3058 }
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index e6125327b..e332bce02 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
6711 edje_object_signal_emit(VIEW(it), SIGNAL_EXPANDED, "elm"); 6711 edje_object_signal_emit(VIEW(it), SIGNAL_EXPANDED, "elm");
6712 evas_object_smart_callback_call(WIDGET(it), SIG_EXPANDED, EO_OBJ(it)); 6712 evas_object_smart_callback_call(WIDGET(it), SIG_EXPANDED, EO_OBJ(it));
6713 sd->auto_scroll_enabled = EINA_TRUE; 6713 sd->auto_scroll_enabled = EINA_TRUE;
6714 if (_elm_config->atspi_mode)
6715 elm_interface_atspi_accessible_state_changed_signal_emit(eo_item, ELM_ATSPI_STATE_EXPANDED, EINA_TRUE);
6714 } 6716 }
6715 else 6717 else
6716 { 6718 {
@@ -6719,6 +6721,8 @@ _elm_genlist_item_expanded_set(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it, Eina_B
6719 edje_object_signal_emit(VIEW(it), SIGNAL_CONTRACTED, "elm"); 6721 edje_object_signal_emit(VIEW(it), SIGNAL_CONTRACTED, "elm");
6720 evas_object_smart_callback_call(WIDGET(it), SIG_CONTRACTED, EO_OBJ(it)); 6722 evas_object_smart_callback_call(WIDGET(it), SIG_CONTRACTED, EO_OBJ(it));
6721 sd->auto_scroll_enabled = EINA_FALSE; 6723 sd->auto_scroll_enabled = EINA_FALSE;
6724 if (_elm_config->atspi_mode)
6725 elm_interface_atspi_accessible_state_changed_signal_emit(eo_item, ELM_ATSPI_STATE_EXPANDED, EINA_FALSE);
6722 } 6726 }
6723} 6727}
6724 6728
@@ -7742,6 +7746,13 @@ _elm_genlist_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_Ge
7742 if (sel) 7746 if (sel)
7743 STATE_TYPE_SET(ret, ELM_ATSPI_STATE_SELECTED); 7747 STATE_TYPE_SET(ret, ELM_ATSPI_STATE_SELECTED);
7744 7748
7749 if (elm_genlist_item_type_get(eo_it) == ELM_GENLIST_ITEM_TREE)
7750 {
7751 STATE_TYPE_SET(ret, ELM_ATSPI_STATE_EXPANDABLE);
7752 if (elm_genlist_item_expanded_get(eo_it))
7753 STATE_TYPE_SET(ret, ELM_ATSPI_STATE_EXPANDED);
7754 }
7755
7745 return ret; 7756 return ret;
7746} 7757}
7747 7758