genlist: broadcast atspi expanded state changes

This commit is contained in:
Lukasz Stanislawski 2015-07-01 10:42:45 +02:00
parent 6e0f4e6134
commit f0fa3e0709
2 changed files with 19 additions and 3 deletions

View File

@ -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;
}

View File

@ -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;
}