atspi: add 'checked' state for elm_radio

This commit is contained in:
Lukasz Stanislawski 2014-10-24 13:32:08 +02:00 committed by Lukasz Stanislawski
parent d6ca04a1b5
commit d4d3da2cef
2 changed files with 22 additions and 0 deletions

View File

@ -57,6 +57,15 @@ _state_set(Evas_Object *obj, Eina_Bool state)
elm_layout_signal_emit(obj, "elm,state,radio,on", "elm");
else
elm_layout_signal_emit(obj, "elm,state,radio,off", "elm");
if (_elm_config->atspi_mode)
{
if (sd->state)
{
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_CHECKED, EINA_TRUE);
}
else
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_CHECKED, EINA_FALSE);
}
}
}
@ -451,4 +460,16 @@ _elm_radio_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED
return &atspi_actions[0];
}
EOLIAN Elm_Atspi_State_Set
_elm_radio_elm_interface_atspi_accessible_state_set_get(Eo *obj, Elm_Radio_Data *pd EINA_UNUSED)
{
Elm_Atspi_State_Set ret;
eo_do_super(obj, ELM_RADIO_CLASS, ret = elm_interface_atspi_accessible_state_set_get());
if (obj == elm_radio_selected_object_get(obj))
STATE_TYPE_SET(ret, ELM_ATSPI_STATE_CHECKED);
return ret;
}
#include "elm_radio.eo.c"

View File

@ -112,6 +112,7 @@ class Elm_Radio (Elm_Layout, Elm_Interface_Atspi_Widget_Action)
Elm_Layout.text_aliases.get;
Elm_Layout.content_aliases.get;
Elm_Layout.sizing_eval;
Elm_Interface_Atspi_Accessible.state_set.get;
Elm_Interface_Atspi_Widget_Action.elm_actions.get;
}
events {