jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=bda0b8069a175b32dd194f559b8865114912f510

commit bda0b8069a175b32dd194f559b8865114912f510
Author: Daniel Zaoui <daniel.za...@samsung.com>
Date:   Wed Mar 26 15:12:34 2014 +0200

    Eolian: Integration of Spinner
---
 src/lib/Makefile.am          |  10 +-
 src/lib/elm_spinner.c        | 486 ++++++++-----------------------------------
 src/lib/elm_spinner.eo       | 389 ++++++++++++++++++++++++++++++++++
 src/lib/elm_spinner_eo.h     |   4 +
 src/lib/elm_widget_spinner.h |   6 +-
 5 files changed, 490 insertions(+), 405 deletions(-)

diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 939a75b..de8914c 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -648,7 +648,9 @@ BUILT_SOURCES = \
                elm_slider.eo.c \
                elm_slider.eo.h \
                elm_slideshow.eo.c \
-               elm_slideshow.eo.h
+               elm_slideshow.eo.h \
+               elm_spinner.eo.c \
+               elm_spinner.eo.h
 
 EXTRA_DIST += \
             elm_widget.eo \
@@ -712,7 +714,8 @@ EXTRA_DIST += \
             elm_segment_control.eo \
             elm_separator.eo \
             elm_slider.eo \
-            elm_slideshow.eo
+            elm_slideshow.eo \
+            elm_spinner.eo
 
 nodist_includesunstable_HEADERS = \
                                  elm_widget.eo.h \
@@ -776,5 +779,6 @@ nodist_includesunstable_HEADERS = \
                                  elm_segment_control.eo.h \
                                  elm_separator.eo.h \
                                  elm_slider.eo.h \
-                                 elm_slideshow.eo.h
+                                 elm_slideshow.eo.h \
+                                 elm_spinner.eo.h
 
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index 3199df8..a6e7976 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -10,8 +10,6 @@
 
 #include "Eo.h"
 
-EAPI Eo_Op ELM_OBJ_SPINNER_BASE_ID = EO_NOOP;
-
 #define MY_CLASS ELM_OBJ_SPINNER_CLASS
 
 #define MY_CLASS_NAME "Elm_Spinner"
@@ -37,7 +35,7 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
 };
 
 static void
-_entry_show(Elm_Spinner_Smart_Data *sd)
+_entry_show(Elm_Spinner_Data *sd)
 {
    char buf[32], fmt[32] = "%0.f";
 
@@ -440,8 +438,8 @@ _button_dec_stop_cb(void *data,
    _val_dec_stop(data);
 }
 
-static void
-_elm_spinner_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
+EOLIAN static void
+_elm_spinner_elm_layout_sizing_eval(Eo *obj, Elm_Spinner_Data *_pd EINA_UNUSED)
 {
    Evas_Coord minw = -1, minh = -1;
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
@@ -454,24 +452,17 @@ _elm_spinner_smart_sizing_eval(Eo *obj, void *_pd 
EINA_UNUSED, va_list *list EIN
    evas_object_size_hint_max_set(obj, -1, -1);
 }
 
-static void
-_elm_spinner_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_spinner_elm_widget_event(Eo *obj, Elm_Spinner_Data *sd EINA_UNUSED, 
Evas_Object *src, Evas_Callback_Type type, void *event_info)
 {
-   Evas_Object *src = va_arg(*list, Evas_Object *);
-   Evas_Callback_Type type = va_arg(*list, Evas_Callback_Type);
-   void *event_info = va_arg(*list, void *);
    Evas_Event_Key_Down *ev = event_info;
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    Evas_Event_Mouse_Wheel *mev;
-   ELM_SPINNER_DATA_GET(obj, sd);
-
-   if (ret) *ret = EINA_FALSE;
    (void) src;
 
    Eina_Bool horz = !!strncmp(elm_widget_style_get(obj), "vertical", 8);
 
-   if (elm_widget_disabled_get(obj)) return;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+   if (elm_widget_disabled_get(obj)) return EINA_FALSE;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
 
    if (type == EVAS_CALLBACK_KEY_DOWN)
      {
@@ -523,7 +514,7 @@ _elm_spinner_smart_event(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list)
                  !strcmp(ev->key, "Down") ||
                  ((!strcmp(ev->key, "KP_Down")) && (!ev->string)))
           _val_dec_stop(obj);
-        else return;
+        else return EINA_FALSE;
 
         goto success;
      }
@@ -544,23 +535,19 @@ _elm_spinner_smart_event(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list)
         _spin_value(obj);
      }
 
-   return;
+   return EINA_FALSE;
 
 success:
    ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-   if (ret) *ret = EINA_TRUE;
+   return EINA_TRUE;
 }
 
-static void
-_elm_spinner_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_spinner_elm_widget_on_focus(Eo *obj, Elm_Spinner_Data *sd)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret;
-   Elm_Spinner_Smart_Data *sd = _pd;
-
    eo_do_super(obj, MY_CLASS, elm_obj_widget_on_focus(&int_ret));
-   if (!int_ret) return;
+   if (!int_ret) return EINA_FALSE;
 
    if (!elm_widget_focus_get(obj))
      {
@@ -570,7 +557,7 @@ _elm_spinner_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list)
         _entry_value_apply(obj);
      }
 
-   if (ret) *ret = EINA_TRUE;
+   return EINA_TRUE;
 }
 
 static char *
@@ -701,10 +688,9 @@ _access_spinner_register(Evas_Object *obj, Eina_Bool 
is_access)
    _elm_access_callback_set(ai, ELM_ACCESS_STATE, _access_state_cb, obj);
 }
 
-static void
-_elm_spinner_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_spinner_evas_smart_add(Eo *obj, Elm_Spinner_Data *priv)
 {
-   Elm_Spinner_Smart_Data *priv = _pd;
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
@@ -749,13 +735,11 @@ _elm_spinner_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
      _access_spinner_register(obj, EINA_TRUE);
 }
 
-static void
-_elm_spinner_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_spinner_evas_smart_del(Eo *obj, Elm_Spinner_Data *sd)
 {
    Elm_Spinner_Special_Value *sv;
 
-   Elm_Spinner_Smart_Data *sd = _pd;
-
    eina_stringshare_del(sd->label);
    ecore_timer_del(sd->delay_change_timer);
    ecore_timer_del(sd->spin_timer);
@@ -773,15 +757,11 @@ _elm_spinner_smart_del(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
    eo_do_super(obj, MY_CLASS, evas_obj_smart_del());
 }
 
-static void
-_elm_spinner_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_spinner_elm_widget_theme_apply(Eo *obj, Elm_Spinner_Data *sd EINA_UNUSED)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Eina_Bool int_ret;
-
-   int_ret = elm_layout_theme_set(obj, "spinner", "base",
+   Eina_Bool int_ret = elm_layout_theme_set(obj, "spinner", "base",
                               elm_widget_style_get(obj));
-   if (ret) *ret = int_ret;
 
    if (!int_ret) CRI("Failed to set layout!");
 
@@ -789,22 +769,22 @@ _elm_spinner_smart_theme(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list)
      _access_spinner_register(obj, EINA_TRUE);
 
    elm_layout_sizing_eval(obj);
+
+   return int_ret;
 }
 
 static Eina_Bool _elm_spinner_smart_focus_next_enable = EINA_FALSE;
 
-static void
-_elm_spinner_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd 
EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_spinner_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, 
Elm_Spinner_Data *_pd EINA_UNUSED)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = _elm_spinner_smart_focus_next_enable;
+   return _elm_spinner_smart_focus_next_enable;
 }
 
-static void
-_elm_spinner_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd 
EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_spinner_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, 
Elm_Spinner_Data *_pd EINA_UNUSED)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
+   return EINA_FALSE;
 }
 
 static Evas_Object *
@@ -820,22 +800,15 @@ _access_object_get(const Evas_Object *obj, const char* 
part)
    return ao;
 }
 
-static void
-_elm_spinner_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_spinner_elm_widget_focus_next(Eo *obj, Elm_Spinner_Data *_pd EINA_UNUSED, 
Elm_Focus_Direction dir, Evas_Object **next)
 {
    Evas_Object *ao;
-   Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction);
-   Evas_Object **next = va_arg(*list, Evas_Object **);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-   Eina_Bool int_ret;
 
    Eina_List *items = NULL;
    const char* increment_part;
    const char* decrement_part;
 
-   ELM_SPINNER_CHECK(obj);
-
    if (!strcmp(elm_widget_style_get(obj), "vertical"))
      {
         increment_part = "up_bt";
@@ -856,17 +829,14 @@ _elm_spinner_smart_focus_next(Eo *obj, void *_pd 
EINA_UNUSED, va_list *list)
    ao = _access_object_get(obj, increment_part);
    items = eina_list_append(items, ao);
 
-   int_ret = elm_widget_focus_list_next_get
+   return elm_widget_focus_list_next_get
             (obj, items, eina_list_data_get, dir, next);
-   if (ret) *ret = int_ret;
 }
 
-static void
-_elm_spinner_smart_access(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elm_spinner_elm_widget_access(Eo *obj, Elm_Spinner_Data *_pd EINA_UNUSED, 
Eina_Bool acs)
 {
-   ELM_SPINNER_CHECK(obj);
-
-   _elm_spinner_smart_focus_next_enable = va_arg(*list, int);
+   _elm_spinner_smart_focus_next_enable = acs;
    _access_spinner_register(obj, _elm_spinner_smart_focus_next_enable);
 }
 
@@ -879,8 +849,8 @@ elm_spinner_add(Evas_Object *parent)
    return obj;
 }
 
-static void
-_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_spinner_eo_base_constructor(Eo *obj, Elm_Spinner_Data *_pd EINA_UNUSED)
 {
    eo_do_super(obj, MY_CLASS, eo_constructor());
    eo_do(obj,
@@ -888,58 +858,23 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
 }
 
-EAPI void
-elm_spinner_label_format_set(Evas_Object *obj,
-                             const char *fmt)
-{
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_label_format_set(fmt));
-}
-
-static void
-_elm_spinner_label_format_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elm_spinner_label_format_set(Eo *obj, Elm_Spinner_Data *sd, const char *fmt)
 {
-   const char *fmt = va_arg(*list, const char *);
-   Elm_Spinner_Smart_Data *sd = _pd;
-
    eina_stringshare_replace(&sd->label, fmt);
    _label_write(obj);
    elm_layout_sizing_eval(obj);
 }
 
-EAPI const char *
-elm_spinner_label_format_get(const Evas_Object *obj)
+EOLIAN static const char*
+_elm_spinner_label_format_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 {
-   ELM_SPINNER_CHECK(obj) NULL;
-   const char *ret;
-   eo_do((Eo *) obj, elm_obj_spinner_label_format_get(&ret));
-   return ret;
+   return sd->label;
 }
 
-static void
-_elm_spinner_label_format_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_spinner_min_max_set(Eo *obj, Elm_Spinner_Data *sd, double min, double max)
 {
-   const char **ret = va_arg(*list, const char **);
-   Elm_Spinner_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->label;
-}
-
-EAPI void
-elm_spinner_min_max_set(Evas_Object *obj,
-                        double min,
-                        double max)
-{
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_min_max_set(min, max));
-}
-
-static void
-_elm_spinner_min_max_set(Eo *obj, void *_pd, va_list *list)
-{
-   double min = va_arg(*list, double);
-   double max = va_arg(*list, double);
-   Elm_Spinner_Smart_Data *sd = _pd;
-
    if ((sd->val_min == min) && (sd->val_max == max)) return;
    sd->val_min = min;
    sd->val_max = max;
@@ -949,77 +884,28 @@ _elm_spinner_min_max_set(Eo *obj, void *_pd, va_list 
*list)
    _label_write(obj);
 }
 
-EAPI void
-elm_spinner_min_max_get(const Evas_Object *obj,
-                        double *min,
-                        double *max)
-{
-   if (min) *min = 0.0;
-   if (max) *max = 0.0;
-
-   ELM_SPINNER_CHECK(obj);
-   eo_do((Eo *) obj, elm_obj_spinner_min_max_get(min, max));
-}
-
-static void
-_elm_spinner_min_max_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_spinner_min_max_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd, double 
*min, double *max)
 {
-   double *min = va_arg(*list, double *);
-   double *max = va_arg(*list, double *);
-
-   Elm_Spinner_Smart_Data *sd = _pd;
-
    if (min) *min = sd->val_min;
    if (max) *max = sd->val_max;
 }
 
-EAPI void
-elm_spinner_step_set(Evas_Object *obj,
-                     double step)
+EOLIAN static void
+_elm_spinner_step_set(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd, double step)
 {
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_step_set(step));
-}
-
-static void
-_elm_spinner_step_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   double step = va_arg(*list, double);
-   Elm_Spinner_Smart_Data *sd = _pd;
    sd->step = step;
 }
 
-EAPI double
-elm_spinner_step_get(const Evas_Object *obj)
-{
-   ELM_SPINNER_CHECK(obj) 0.0;
-   double ret;
-   eo_do((Eo *) obj, elm_obj_spinner_step_get(&ret));
-   return ret;
-}
-
-static void
-_elm_spinner_step_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   double *ret = va_arg(*list, double *);
-   Elm_Spinner_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->step;
-}
-
-EAPI void
-elm_spinner_value_set(Evas_Object *obj,
-                      double val)
+EOLIAN static double
+_elm_spinner_step_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 {
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_value_set(val));
+   return sd->step;
 }
 
-static void
-_elm_spinner_value_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elm_spinner_value_set(Eo *obj, Elm_Spinner_Data *sd, double val)
 {
-   double val = va_arg(*list, double);
-   Elm_Spinner_Smart_Data *sd = _pd;
-
    if (sd->val == val) return;
    sd->val = val;
    sd->val_updated = EINA_FALSE;
@@ -1037,73 +923,29 @@ _elm_spinner_value_set(Eo *obj, void *_pd, va_list *list)
    _label_write(obj);
 }
 
-EAPI double
-elm_spinner_value_get(const Evas_Object *obj)
-{
-   ELM_SPINNER_CHECK(obj) 0.0;
-   double ret;
-   eo_do((Eo *) obj, elm_obj_spinner_value_get(&ret));
-   return ret;
-}
-
-static void
-_elm_spinner_value_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   double *ret = va_arg(*list, double *);
-   Elm_Spinner_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->val;
-}
-
-EAPI void
-elm_spinner_wrap_set(Evas_Object *obj,
-                     Eina_Bool wrap)
+EOLIAN static double
+_elm_spinner_value_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 {
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_wrap_set(wrap));
+   return sd->val;
 }
 
-static void
-_elm_spinner_wrap_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_spinner_wrap_set(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd, Eina_Bool 
wrap)
 {
-   Eina_Bool wrap = va_arg(*list, int);
-   Elm_Spinner_Smart_Data *sd = _pd;
    sd->wrap = wrap;
 }
 
-EAPI Eina_Bool
-elm_spinner_wrap_get(const Evas_Object *obj)
+EOLIAN static Eina_Bool
+_elm_spinner_wrap_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 {
-   ELM_SPINNER_CHECK(obj) EINA_FALSE;
-   Eina_Bool ret;
-   eo_do((Eo *) obj, elm_obj_spinner_wrap_get(&ret));
-   return ret;
+   return sd->wrap;
 }
 
-static void
-_elm_spinner_wrap_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_spinner_special_value_add(Eo *obj, Elm_Spinner_Data *sd, double value, 
const char *label)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Spinner_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->wrap;
-}
-
-EAPI void
-elm_spinner_special_value_add(Evas_Object *obj,
-                              double value,
-                              const char *label)
-{
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_special_value_add(value, label));
-}
-
-static void
-_elm_spinner_special_value_add(Eo *obj, void *_pd, va_list *list)
-{
-   double value = va_arg(*list, double);
-   const char *label = va_arg(*list, const char *);
    Elm_Spinner_Special_Value *sv;
    Eina_List *l;
-   Elm_Spinner_Smart_Data *sd = _pd;
 
    EINA_LIST_FOREACH(sd->special_values, l, sv)
      {
@@ -1166,215 +1008,61 @@ elm_spinner_special_value_get(Evas_Object *obj,
    return NULL;
 }
 
-EAPI void
-elm_spinner_editable_set(Evas_Object *obj,
-                         Eina_Bool editable)
+EOLIAN static void
+_elm_spinner_editable_set(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd, Eina_Bool 
editable)
 {
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_editable_set(editable));
-}
-
-static void
-_elm_spinner_editable_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool editable = va_arg(*list, int);
-   Elm_Spinner_Smart_Data *sd = _pd;
    sd->editable = editable;
 }
 
-EAPI Eina_Bool
-elm_spinner_editable_get(const Evas_Object *obj)
-{
-   ELM_SPINNER_CHECK(obj) EINA_FALSE;
-   Eina_Bool ret;
-   eo_do((Eo *) obj, elm_obj_spinner_editable_get(&ret));
-   return ret;
-}
-
-static void
-_elm_spinner_editable_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elm_spinner_editable_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Spinner_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->editable;
+   return sd->editable;
 }
 
-EAPI void
-elm_spinner_interval_set(Evas_Object *obj,
-                         double interval)
+EOLIAN static void
+_elm_spinner_interval_set(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd, double 
interval)
 {
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_interval_set(interval));
-}
-
-static void
-_elm_spinner_interval_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   double interval = va_arg(*list, double);
-   Elm_Spinner_Smart_Data *sd = _pd;
    sd->first_interval = interval;
 }
 
-EAPI double
-elm_spinner_interval_get(const Evas_Object *obj)
+EOLIAN static double
+_elm_spinner_interval_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 {
-   ELM_SPINNER_CHECK(obj) 0.0;
-   double ret;
-   eo_do((Eo *) obj, elm_obj_spinner_interval_get(&ret));
-   return ret;
+   return sd->first_interval;
 }
 
-static void
-_elm_spinner_interval_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_spinner_base_set(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd, double base)
 {
-   double *ret = va_arg(*list, double *);
-   Elm_Spinner_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->first_interval;
-}
-
-EAPI void
-elm_spinner_base_set(Evas_Object *obj,
-                     double base)
-{
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_base_set(base));
-}
-
-static void
-_elm_spinner_base_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   double base = va_arg(*list, double);
-   Elm_Spinner_Smart_Data *sd = _pd;
    sd->val_base = base;
 }
 
-EAPI double
-elm_spinner_base_get(const Evas_Object *obj)
-{
-   ELM_SPINNER_CHECK(obj) 0.0;
-   double ret;
-   eo_do((Eo *) obj, elm_obj_spinner_base_get(&ret));
-   return ret;
-}
-
-static void
-_elm_spinner_base_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static double
+_elm_spinner_base_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 {
-   double *ret = va_arg(*list, double *);
-   Elm_Spinner_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->val_base;
+   return sd->val_base;
 }
 
-EAPI void
-elm_spinner_round_set(Evas_Object *obj,
-                      int rnd)
+EOLIAN static void
+_elm_spinner_round_set(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd, int rnd)
 {
-   ELM_SPINNER_CHECK(obj);
-   eo_do(obj, elm_obj_spinner_round_set(rnd));
-}
-
-static void
-_elm_spinner_round_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   int rnd = va_arg(*list, int);
-   Elm_Spinner_Smart_Data *sd = _pd;
    sd->round = rnd;
 }
 
-EAPI int
-elm_spinner_round_get(const Evas_Object *obj)
+EOLIAN static int
+_elm_spinner_round_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 {
-   ELM_SPINNER_CHECK(obj) 0;
-   int ret;
-   eo_do((Eo *) obj, elm_obj_spinner_round_get(&ret));
-   return ret;
+   return sd->round;
 }
 
-static void
-_elm_spinner_round_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_spinner_class_constructor(Eo_Class *klass)
 {
-   int *ret = va_arg(*list, int *);
-   Elm_Spinner_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->round;
-}
-
-static void
-_class_constructor(Eo_Class *klass)
-{
-   const Eo_Op_Func_Description func_desc[] = {
-        EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor),
-
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_ADD), 
_elm_spinner_smart_add),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), 
_elm_spinner_smart_del),
-
-        EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_THEME_APPLY), 
_elm_spinner_smart_theme),
-        EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_ON_FOCUS), 
_elm_spinner_smart_on_focus),
-        EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_EVENT), 
_elm_spinner_smart_event),
-        
EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), 
_elm_spinner_smart_focus_next_manager_is),
-        EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT), 
_elm_spinner_smart_focus_next),
-        
EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), 
_elm_spinner_smart_focus_direction_manager_is),
-        EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_ACCESS), 
_elm_spinner_smart_access),
-
-        EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL), 
_elm_spinner_smart_sizing_eval),
-
-        
EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_LABEL_FORMAT_SET), 
_elm_spinner_label_format_set),
-        
EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_LABEL_FORMAT_GET), 
_elm_spinner_label_format_get),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_MIN_MAX_SET), 
_elm_spinner_min_max_set),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_MIN_MAX_GET), 
_elm_spinner_min_max_get),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_STEP_SET), 
_elm_spinner_step_set),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_STEP_GET), 
_elm_spinner_step_get),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_VALUE_SET), 
_elm_spinner_value_set),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_VALUE_GET), 
_elm_spinner_value_get),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_WRAP_SET), 
_elm_spinner_wrap_set),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_WRAP_GET), 
_elm_spinner_wrap_get),
-        
EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_SPECIAL_VALUE_ADD), 
_elm_spinner_special_value_add),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_EDITABLE_SET), 
_elm_spinner_editable_set),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_EDITABLE_GET), 
_elm_spinner_editable_get),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_INTERVAL_SET), 
_elm_spinner_interval_set),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_INTERVAL_GET), 
_elm_spinner_interval_get),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_BASE_SET), 
_elm_spinner_base_set),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_BASE_GET), 
_elm_spinner_base_get),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_ROUND_SET), 
_elm_spinner_round_set),
-        EO_OP_FUNC(ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_ROUND_GET), 
_elm_spinner_round_get),
-        EO_OP_FUNC_SENTINEL
-   };
-   eo_class_funcs_set(klass, func_desc);
-
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 
    if (_elm_config->access_mode)
       _elm_spinner_smart_focus_next_enable = EINA_TRUE;
 }
-static const Eo_Op_Description op_desc[] = {
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_LABEL_FORMAT_SET, "Set the 
format string of the displayed label."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_LABEL_FORMAT_GET, "Get the label 
format of the spinner."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_MIN_MAX_SET, "Set the minimum 
and maximum values for the spinner."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_MIN_MAX_GET, "Get the minimum 
and maximum values of the spinner."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_STEP_SET, "Set the step used to 
increment or decrement the spinner value."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_STEP_GET, "Get the step used to 
increment or decrement the spinner value."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_VALUE_SET, "Set the value the 
spinner displays."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_VALUE_GET, "Get the value 
displayed by the spinner."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_WRAP_SET, "Set whether the 
spinner should wrap when it reaches its minimum or maximum value."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_WRAP_GET, "Get whether the 
spinner should wrap when it reaches its minimum or maximum value."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_SPECIAL_VALUE_ADD, "Set a 
special string to display in the place of the numerical value."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_EDITABLE_SET, "Set whether the 
spinner can be directly edited by the user or not."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_EDITABLE_GET, "Get whether the 
spinner can be directly edited by the user or not."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_INTERVAL_SET, "Set the interval 
on time updates for an user mouse button hold on spinner widgets' arrows."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_INTERVAL_GET, "Get the interval 
on time updates for an user mouse button hold on spinner widgets' arrows."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_BASE_SET, "Set the base for 
rounding."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_BASE_GET, "Get the base for 
rounding."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_ROUND_SET, "Set the round value 
for rounding."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SPINNER_SUB_ID_ROUND_GET, "Get the round value 
for rounding."),
-     EO_OP_DESCRIPTION_SENTINEL
-};
-static const Eo_Class_Description class_desc = {
-     EO_VERSION,
-     MY_CLASS_NAME,
-     EO_CLASS_TYPE_REGULAR,
-     EO_CLASS_DESCRIPTION_OPS(&ELM_OBJ_SPINNER_BASE_ID, op_desc, 
ELM_OBJ_SPINNER_SUB_ID_LAST),
-     NULL,
-     sizeof(Elm_Spinner_Smart_Data),
-     _class_constructor,
-     NULL
-};
-EO_DEFINE_CLASS(elm_obj_spinner_class_get, &class_desc, ELM_OBJ_LAYOUT_CLASS, 
NULL);
+
+#include "elm_spinner.eo.c"
diff --git a/src/lib/elm_spinner.eo b/src/lib/elm_spinner.eo
new file mode 100644
index 0000000..b05e8fb
--- /dev/null
+++ b/src/lib/elm_spinner.eo
@@ -0,0 +1,389 @@
+class Elm_Spinner (Elm_Layout)
+{
+   eo_prefix: elm_obj_spinner;
+   properties {
+      min_max {
+         set {
+            /*@
+            Set the minimum and maximum values for the spinner.
+
+            Define the allowed range of values to be selected by the user.
+
+            If actual value is less than @p min, it will be updated to @p min. 
If it
+            is bigger then @p max, will be updated to @p max. Actual value can 
be
+            get with elm_spinner_value_get().
+
+            By default, min is equal to 0, and max is equal to 100.
+
+            @warning Maximum must be greater than minimum.
+
+            @see elm_spinner_min_max_get()
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get the minimum and maximum values of the spinner.
+
+            @note If only one value is needed, the other pointer can be passed
+            as @c NULL.
+
+            @see elm_spinner_min_max_set() for details.
+
+            @ingroup Spinner */
+         }
+         values {
+            double min; /*@ The minimum value. */
+            double max; /*@ The maximum value. */
+         }
+      }
+      step {
+         set {
+            /*@
+            Set the step used to increment or decrement the spinner value.
+
+            This value will be incremented or decremented to the displayed 
value.
+            It will be incremented while the user keep right or top arrow 
pressed,
+            and will be decremented while the user keep left or bottom arrow 
pressed.
+
+            The interval to increment / decrement can be set with
+            elm_spinner_interval_set().
+
+            By default step value is equal to 1.
+
+            @see elm_spinner_step_get()
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get the step used to increment or decrement the spinner value.
+
+            @return The step value.
+
+            @see elm_spinner_step_get() for more details.
+
+            @ingroup Spinner */
+         }
+         values {
+            double step; /*@ The step value. */
+         }
+      }
+      wrap {
+         set {
+            /*@
+            Set whether the spinner should wrap when it reaches its
+            minimum or maximum value.
+
+            Disabled by default. If disabled, when the user tries to increment 
the
+            value,
+            but displayed value plus step value is bigger than maximum value,
+            the new value will be the maximum value.
+            The same happens when the user tries to decrement it,
+            but the value less step is less than minimum value. In this case,
+            the new displayed value will be the minimum value.
+
+            When wrap is enabled, when the user tries to increment the value,
+            but displayed value plus step value is bigger than maximum value,
+            the new value will be the minimum value. When the the user tries to
+            decrement it, but the value less step is less than minimum value,
+            the new displayed value will be the maximum value.
+
+            E.g.:
+            @li min value = 10
+            @li max value = 50
+            @li step value = 20
+            @li displayed value = 20
+
+            When the user decrement value (using left or bottom arrow), it will
+            displays @c 50.
+
+            @see elm_spinner_wrap_get().
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get whether the spinner should wrap when it reaches its
+            minimum or maximum value.
+
+            @return @c EINA_TRUE means wrap is enabled. @c EINA_FALSE indicates
+            it's disabled. If @p obj is @c NULL, @c EINA_FALSE is returned.
+
+            @see elm_spinner_wrap_set() for details.
+
+            @ingroup Spinner */
+         }
+         values {
+            Eina_Bool wrap; /*@ @c EINA_TRUE to enable wrap or @c EINA_FALSE to
+            disable it. */
+         }
+      }
+      interval {
+         set {
+            /*@
+            Set the interval on time updates for an user mouse button hold
+            on spinner widgets' arrows.
+
+            This interval value is @b decreased while the user holds the
+            mouse pointer either incrementing or decrementing spinner's value.
+
+            This helps the user to get to a given value distant from the
+            current one easier/faster, as it will start to change quicker and
+            quicker on mouse button holds.
+
+            The calculation for the next change interval value, starting from
+            the one set with this call, is the previous interval divided by
+            @c 1.05, so it decreases a little bit.
+
+            The default starting interval value for automatic changes is
+            @c 0.85 seconds.
+
+            @see elm_spinner_interval_get()
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get the interval on time updates for an user mouse button hold
+            on spinner widgets' arrows.
+
+            @return The (first) interval value, in seconds, set on it.
+
+            @see elm_spinner_interval_set() for more details.
+
+            @ingroup Spinner */
+         }
+         values {
+            double interval; /*@ The (first) interval value in seconds. */
+         }
+      }
+      round {
+         set {
+            /*@
+            Set the round value for rounding
+
+            Sets the rounding value used for value rounding in the spinner.
+
+            @see elm_spinner_round_get()
+            @see elm_spinner_base_set()
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get the round value for rounding
+
+            @return The rounding value
+
+            This returns the round value for rounding.
+
+            @see elm_spinner_round_set() too.
+            @see elm_spinner_base_set() too.
+
+            @ingroup Spinner */
+         }
+         values {
+            int rnd; /*@ The rounding value */
+         }
+      }
+      editable {
+         set {
+            /*@
+            Set whether the spinner can be directly edited by the user or not.
+
+            Spinner objects can have edition @b disabled, in which state they 
will
+            be changed only by arrows.
+            Useful for contexts
+            where you don't want your users to interact with it writing the 
value.
+            Specially
+            when using special values, the user can see real value instead
+            of special label on edition.
+
+            It's enabled by default.
+
+            @see elm_spinner_editable_get()
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get whether the spinner can be directly edited by the user or not.
+
+            @return @c EINA_TRUE means edition is enabled. @c EINA_FALSE 
indicates
+            it's disabled. If @p obj is @c NULL, @c EINA_FALSE is returned.
+
+            @see elm_spinner_editable_set() for details.
+
+            @ingroup Spinner */
+         }
+         values {
+            Eina_Bool editable; /*@ @c EINA_TRUE to allow users to edit it or 
@c EINA_FALSE to
+            don't allow users to edit it directly. */
+         }
+      }
+      base {
+         set {
+            /*@
+            Set the base for rounding
+
+            Rounding works as follows:
+
+            rounded_val = base + (double)(((value - base) / round) * round)
+
+            Where rounded_val, value and base are doubles, and round is an 
integer.
+
+            This means that things will be rounded to increments (or 
decrements) of
+            "round" starting from value @p base. The default base for rounding 
is 0.
+
+            Example: round = 3, base = 2
+            Values:  ..., -2, 0, 2, 5, 8, 11, 14, ...
+
+            Example: round = 2, base = 5.5
+            Values: ..., -0.5, 1.5, 3.5, 5.5, 7.5, 9.5, 11.5, ...
+
+            @see elm_spinner_round_get()
+            @see elm_spinner_base_get() too.
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get the base for rounding
+
+            @return The base rounding value
+
+            This returns the base for rounding.
+
+            @see elm_spinner_round_set() too.
+            @see elm_spinner_base_set() too.
+
+            @ingroup Spinner */
+         }
+         values {
+            double base; /*@ The base value */
+         }
+      }
+      value {
+         set {
+            /*@
+            Set the value the spinner displays.
+
+            Value will be presented on the label following format specified 
with
+            elm_spinner_format_set().
+
+            @warning The value must to be between min and max values. This 
values
+            are set by elm_spinner_min_max_set().
+
+            @see elm_spinner_value_get().
+            @see elm_spinner_format_set().
+            @see elm_spinner_min_max_set().
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get the value displayed by the spinner.
+
+            @return The value displayed.
+
+            @see elm_spinner_value_set() for details.
+
+            @ingroup Spinner */
+         }
+         values {
+            double val; /*@ The value to be displayed. */
+         }
+      }
+      label_format {
+         set {
+            /*@
+            Set the format string of the displayed label.
+
+            If @c NULL, this sets the format to "%.0f". If not it sets the 
format
+            string for the label text. The label text is provided a floating 
point
+            value, so the label text can display up to 1 floating point value.
+            Note that this is optional.
+
+            Use a format string such as "%1.2f meters" for example, and it will
+            display values like: "3.14 meters" for a value equal to 3.14159.
+
+            Default is "%0.f".
+
+            @see elm_spinner_label_format_get()
+
+            @ingroup Spinner */
+         }
+         get {
+            /*@
+            Get the label format of the spinner.
+
+            @return The text label format string in UTF-8.
+
+            @see elm_spinner_label_format_set() for details.
+
+            @ingroup Spinner */
+         }
+         values {
+            const char *fmt; /*@ The format string for the label display. */
+         }
+      }
+   }
+   methods {
+      special_value_add {
+         /*@
+         Set a special string to display in the place of the numerical value.
+
+         It's useful for cases when a user should select an item that is
+         better indicated by a label than a value. For example, weekdays or 
months.
+
+         E.g.:
+         @code
+         sp = elm_spinner_add(win);
+         elm_spinner_min_max_set(sp, 1, 3);
+         elm_spinner_special_value_add(sp, 1, "January");
+         elm_spinner_special_value_add(sp, 2, "February");
+         elm_spinner_special_value_add(sp, 3, "March");
+         evas_object_show(sp);
+         @endcode
+
+         @note If another label was previously set to @p value, it will be 
replaced
+         by the new label.
+
+         @see elm_spinner_special_value_get().
+         @see elm_spinner_special_value_del().
+
+         @ingroup Spinner */
+
+         params {
+            @in double value; /*@ The value to be replaced. */
+            @in const char *label; /*@ The label to be used. */
+         }
+      }
+   }
+   implements {
+      class::constructor;
+      Eo_Base::constructor;
+      Evas_Smart::add;
+      Evas_Smart::del;
+      Elm_Widget::theme_apply;
+      Elm_Widget::focus_next_manager_is;
+      Elm_Widget::focus_direction_manager_is;
+      Elm_Widget::access;
+      Elm_Widget::focus_next;
+      Elm_Widget::on_focus;
+      Elm_Widget::event;
+      Elm_Layout::sizing_eval;
+   }
+   events {
+      changed;
+      delay,changed;
+      spinner,drag,start;
+      spinner,drag,stop;
+      language,changed;
+      access,changed;
+      focused;
+      unfocused;
+   }
+
+}
diff --git a/src/lib/elm_spinner_eo.h b/src/lib/elm_spinner_eo.h
index 415a460..4cc78e4 100644
--- a/src/lib/elm_spinner_eo.h
+++ b/src/lib/elm_spinner_eo.h
@@ -1,3 +1,6 @@
+#include "elm_spinner.eo.h"
+
+#if 0
 #define ELM_OBJ_SPINNER_CLASS elm_obj_spinner_class_get()
 
 const Eo_Class *elm_obj_spinner_class_get(void) EINA_CONST;
@@ -299,3 +302,4 @@ enum
  * @ingroup Spinner
  */
 #define elm_obj_spinner_round_get(ret) 
ELM_OBJ_SPINNER_ID(ELM_OBJ_SPINNER_SUB_ID_ROUND_GET), EO_TYPECHECK(int *, ret)
+#endif
diff --git a/src/lib/elm_widget_spinner.h b/src/lib/elm_widget_spinner.h
index 1c31bdc..b317fe7 100644
--- a/src/lib/elm_widget_spinner.h
+++ b/src/lib/elm_widget_spinner.h
@@ -19,8 +19,8 @@
 /**
  * Base layout smart data extended with spinner instance data.
  */
-typedef struct _Elm_Spinner_Smart_Data    Elm_Spinner_Smart_Data;
-struct _Elm_Spinner_Smart_Data
+typedef struct _Elm_Spinner_Data    Elm_Spinner_Data;
+struct _Elm_Spinner_Data
 {
    Evas_Object          *ent;
    const char           *label;
@@ -55,7 +55,7 @@ struct _Elm_Spinner_Special_Value
  */
 
 #define ELM_SPINNER_DATA_GET(o, sd) \
-  Elm_Spinner_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_SPINNER_CLASS)
+  Elm_Spinner_Data * sd = eo_data_scope_get(o, ELM_OBJ_SPINNER_CLASS)
 
 #define ELM_SPINNER_DATA_GET_OR_RETURN(o, ptr)       \
   ELM_SPINNER_DATA_GET(o, ptr);                      \

-- 


Reply via email to