forked from enlightenment/efl
atspi: checked state for elm_check added
Reviewers: stanluk Differential Revision: https://phab.enlightenment.org/D1000
This commit is contained in:
parent
44b2c2bbb9
commit
3c0067305f
|
@ -2569,6 +2569,8 @@ _set_broadcast_flag(const char *event)
|
|||
STATE_TYPE_SET(_object_state_broadcast_mask, ATSPI_STATE_FOCUSED);
|
||||
else if (!strcmp(tokens[2], "Showing"))
|
||||
STATE_TYPE_SET(_object_state_broadcast_mask, ATSPI_STATE_SHOWING);
|
||||
else if (!strcmp(tokens[2], "Checked"))
|
||||
STATE_TYPE_SET(_object_state_broadcast_mask, ATSPI_STATE_CHECKED);
|
||||
}
|
||||
else if (!strcmp(tokens[1], "PropertyChange"))
|
||||
{
|
||||
|
@ -2699,6 +2701,9 @@ _state_changed_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_Descr
|
|||
case ELM_ATSPI_STATE_ACTIVE:
|
||||
type_desc = "active";
|
||||
break;
|
||||
case ELM_ATSPI_STATE_CHECKED:
|
||||
type_desc = "checked";
|
||||
break;
|
||||
default:
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
|
|
@ -71,6 +71,11 @@ _activate(Evas_Object *obj)
|
|||
}
|
||||
|
||||
evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
|
||||
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj,
|
||||
ELM_ATSPI_STATE_CHECKED,
|
||||
sd->state);
|
||||
}
|
||||
|
||||
/* FIXME: replicated from elm_layout just because check's icon spot
|
||||
|
@ -89,6 +94,19 @@ _icon_signal_emit(Evas_Object *obj)
|
|||
edje_object_message_signal_process(wd->resize_obj);
|
||||
}
|
||||
|
||||
EOLIAN static Elm_Atspi_State_Set
|
||||
_elm_check_elm_interface_atspi_accessible_state_set_get(Eo *obj, Elm_Check_Data *_pd EINA_UNUSED)
|
||||
{
|
||||
Elm_Atspi_State_Set states = 0;
|
||||
|
||||
eo_do_super(obj, ELM_CHECK_CLASS, states = elm_interface_atspi_accessible_state_set_get());
|
||||
|
||||
if (elm_check_state_get(obj))
|
||||
STATE_TYPE_SET(states, ELM_ATSPI_STATE_CHECKED);
|
||||
|
||||
return states;
|
||||
}
|
||||
|
||||
/* FIXME: replicated from elm_layout just because check's icon spot
|
||||
* is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
|
||||
* can changed the theme API */
|
||||
|
@ -259,6 +277,11 @@ _on_check_off(void *data,
|
|||
|
||||
elm_layout_signal_emit(obj, "elm,state,check,off", "elm");
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(data,
|
||||
ELM_ATSPI_STATE_CHECKED,
|
||||
sd->state);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -275,6 +298,11 @@ _on_check_on(void *data,
|
|||
if (sd->statep) *sd->statep = sd->state;
|
||||
elm_layout_signal_emit(obj, "elm,state,check,on", "elm");
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(data,
|
||||
ELM_ATSPI_STATE_CHECKED,
|
||||
sd->state);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -58,6 +58,7 @@ class Elm_Check (Elm_Layout)
|
|||
Elm_Layout::text_aliases::get;
|
||||
Elm_Layout::content_aliases::get;
|
||||
Elm_Layout::sizing_eval;
|
||||
Elm_Interface_Atspi_Accessible::state_set::get;
|
||||
}
|
||||
events {
|
||||
changed;
|
||||
|
|
Loading…
Reference in New Issue