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"))
{
case ELM_ATSPI_STATE_ACTIVE:
type_desc = "active";
break;
+ case ELM_ATSPI_STATE_CHECKED:
+ type_desc = "checked";
+ break;
default:
return EINA_FALSE;
}
}
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
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 */
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
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