}
}
+static void
+_efl_ui_spin_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
+{
+ Eext_Circle_Object *circle_obj = (Eext_Circle_Object *)data;
+ Eext_Circle_Object_Spinner_Data *widget_data = (Eext_Circle_Object_Spinner_Data *)circle_obj->widget_data;
+
+ if (widget_data->rotary_event)
+ _eext_circle_object_spinner_mark_update(circle_obj, EINA_TRUE);
+ else
+ _eext_circle_object_spinner_update(circle_obj);
+}
+
static void
_eext_circle_object_spinner_init(Eext_Circle_Object *obj, Evas_Object *spinner)
{
obj->widget_type = EEXT_CIRCLE_OBJECT_SPINNER_TYPE;
obj->del_func = _eext_circle_object_spinner_del_cb;
obj->disabled_func = _eext_circle_object_spinner_disabled_cb;
- obj->visible_on_activate = EINA_TRUE;
+ //C# FIXME: If activate is true, efl ui spinner is not shown
+ //obj->visible_on_activate = EINA_TRUE;
data = (Eext_Circle_Object_Spinner_Data *)calloc(1, sizeof(Eext_Circle_Object_Spinner_Data));
obj->widget_data = (void *)data;
elm_spinner_editable_set(spinner, EINA_FALSE);
- evas_object_smart_callback_add(spinner, "changed", _eext_circle_object_spinner_changed_cb, obj);
- evas_object_smart_callback_add(spinner, "focused", _eext_circle_object_spinner_focused_cb, NULL);
- evas_object_smart_callback_add(spinner, "unfocused", _eext_circle_object_spinner_unfocused_cb, NULL);
+ if (!strcmp(efl_class_name_get(spinner), "Spin"))
+ {
+ efl_event_callback_add(spinner, EFL_UI_SPIN_EVENT_CHANGED, _efl_ui_spin_changed_cb, obj);
+ //C# FIXME: consider focus / unfocus
+ }
+ else
+ {
+ evas_object_smart_callback_add(spinner, "changed", _eext_circle_object_spinner_changed_cb, obj);
+ evas_object_smart_callback_add(spinner, "focused", _eext_circle_object_spinner_focused_cb, NULL);
+ evas_object_smart_callback_add(spinner, "unfocused", _eext_circle_object_spinner_unfocused_cb, NULL);
+
+ }
//for accessibility
evas_object_smart_callback_add(elm_object_part_content_get(obj->widget_object, "elm.swallow.text_button"), "atspi,highlighted", _accessibility_spinner_highlighted_cb, obj);