jackdanielz pushed a commit to branch master.

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

commit d0d7a89319dfbca68ddb8e3be9d0f0cd31251737
Author: Daniel Zaoui <daniel.za...@samsung.com>
Date:   Sun Mar 30 10:15:55 2014 +0300

    Eolian: Integration of File Selector
---
 src/lib/Makefile.am               |   4 +
 src/lib/elc_fileselector.c        | 438 +++++++++++---------------------------
 src/lib/elc_fileselector.eo       |  69 ++++++
 src/lib/elc_fileselector_eo.h     |   5 +-
 src/lib/elm_widget_fileselector.h |  10 +-
 5 files changed, 206 insertions(+), 320 deletions(-)

diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index ac1eb27..7dee6ea 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -585,6 +585,8 @@ BUILT_SOURCES = \
                elm_diskselector.eo.h \
                elm_entry.eo.c \
                elm_entry.eo.h \
+               elc_fileselector.eo.c \
+               elc_fileselector.eo.h \
                elc_fileselector_button.eo.c \
                elc_fileselector_button.eo.h \
                elc_fileselector_entry.eo.c \
@@ -705,6 +707,7 @@ EXTRA_DIST += \
             elm_dayselector.eo \
             elm_diskselector.eo \
             elm_entry.eo \
+            elc_fileselector.eo \
             elc_fileselector_button.eo \
             elc_fileselector_entry.eo \
             elm_flip.eo \
@@ -781,6 +784,7 @@ nodist_includesunstable_HEADERS = \
                                  elm_dayselector.eo.h \
                                  elm_diskselector.eo.h \
                                  elm_entry.eo.h \
+                                 elc_fileselector.eo.h \
                                  elc_fileselector_button.eo.h \
                                  elc_fileselector_entry.eo.h \
                                  elm_flip.eo.h \
diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c
index 0ebc412..6d9678c 100644
--- a/src/lib/elc_fileselector.c
+++ b/src/lib/elc_fileselector.c
@@ -14,8 +14,6 @@
 #include "elm_interface_fileselector.h"
 #include "elm_widget_fileselector.h"
 
-EAPI Eo_Op ELM_OBJ_FILESELECTOR_BASE_ID = EO_NOOP;
-
 #define MY_CLASS ELM_OBJ_FILESELECTOR_CLASS
 
 #define MY_CLASS_NAME "Elm_Fileselector"
@@ -49,7 +47,7 @@ static void _canc(void *data, Evas_Object *obj, void 
*event_info);
 
 /* final routine on deletion */
 static void
-_elm_fileselector_smart_del_do(Elm_Fileselector_Smart_Data *sd)
+_elm_fileselector_smart_del_do(Elc_Fileselector_Data *sd)
 {
    eina_stringshare_del(sd->path);
    eina_stringshare_del(sd->selection);
@@ -58,8 +56,8 @@ _elm_fileselector_smart_del_do(Elm_Fileselector_Smart_Data 
*sd)
    eo_do_super(sd->obj, MY_CLASS, evas_obj_smart_del());
 }
 
-static void
-_elm_fileselector_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_elm_layout_sizing_eval(Eo *obj, Elc_Fileselector_Data *sd 
EINA_UNUSED)
 {
    Evas_Coord minw = -1, minh = -1;
 
@@ -83,21 +81,18 @@ _mirrored_set(Evas_Object *obj, Eina_Bool rtl)
    elm_widget_mirrored_set(sd->home_button, rtl);
 }
 
-static void
-_elm_fileselector_smart_theme(Eo *obj, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_widget_theme_apply(Eo *obj, Elc_Fileselector_Data *sd)
 {
    const char *style;
    const char *data;
    char buf[1024];
 
-   Elm_Fileselector_Smart_Data *sd = _pd;
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-   Eina_Bool int_ret;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
 
+   Eina_Bool int_ret;
    eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret));
-   if (!int_ret) return;
+   if (!int_ret) return EINA_FALSE;
 
    style = elm_widget_style_get(obj);
    _mirrored_set(obj, elm_widget_mirrored_get(obj));
@@ -139,23 +134,18 @@ _elm_fileselector_smart_theme(Eo *obj, void *_pd, va_list 
*list)
 
    elm_layout_sizing_eval(obj);
 
-   if (ret) *ret = EINA_TRUE;
+   return EINA_TRUE;
 }
 
-static void
-_elm_fileselector_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_widget_event(Eo *obj, Elc_Fileselector_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);
-   Evas_Event_Key_Down *ev = va_arg(*list, void *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-
-   if (ret) *ret = EINA_FALSE;
+   Evas_Event_Key_Down *ev = event_info;
    (void) src;
 
-   if (elm_widget_disabled_get(obj)) return;
-   if (type != EVAS_CALLBACK_KEY_DOWN) return;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+   if (elm_widget_disabled_get(obj)) return EINA_FALSE;
+   if (type != EVAS_CALLBACK_KEY_DOWN) return EINA_FALSE;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
 
    if ((!strcmp(ev->key, "Return")) ||
        (!strcmp(ev->key, "KP_Enter")))
@@ -163,10 +153,10 @@ _elm_fileselector_smart_event(Eo *obj, void *_pd 
EINA_UNUSED, va_list *list)
    else if (!strcmp(ev->key, "Escape"))
      _canc(obj, NULL, NULL);
    else
-     return;
+     return EINA_FALSE;
 
    ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-   if (ret) *ret = EINA_TRUE;
+   return EINA_TRUE;
 }
 
 /***  GENLIST/GENGRID "MODEL"  ***/
@@ -758,7 +748,7 @@ _on_item_activated(void *data,
 }
 
 static void
-_clear_selections(Elm_Fileselector_Smart_Data *sd, Elm_Object_Item 
*last_selected)
+_clear_selections(Elc_Fileselector_Data *sd, Elm_Object_Item *last_selected)
 {
    Eina_List *items;
    Elm_Object_Item *sel;
@@ -1335,13 +1325,11 @@ _name_entry_activated_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
    _ok(data, NULL, NULL);
 }
 
-static void
-_elm_fileselector_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_evas_smart_add(Eo *obj, Elc_Fileselector_Data *priv)
 {
    Evas_Object *ic, *bt, *en, *pb;
 
-   Elm_Fileselector_Smart_Data *priv = _pd;
-
    EINA_REFCOUNT_INIT(priv);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
@@ -1448,10 +1436,9 @@ _elm_fileselector_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
    eo_do(obj, elm_obj_widget_theme_apply(NULL));
 }
 
-static void
-_elm_fileselector_smart_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list 
EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_evas_smart_del(Eo *obj EINA_UNUSED, Elc_Fileselector_Data 
*sd)
 {
-   Elm_Fileselector_Smart_Data *sd = _pd;
    Elm_Fileselector_Filter *filter;
    char *path;
    Ecore_Event_Handler *h;
@@ -1497,10 +1484,9 @@ elm_fileselector_add(Evas_Object *parent)
    return obj;
 }
 
-static void
-_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_eo_base_constructor(Eo *obj, Elc_Fileselector_Data *sd)
 {
-   Elm_Fileselector_Smart_Data *sd = _pd;
    sd->obj = obj;
    eo_do_super(obj, MY_CLASS, eo_constructor());
    eo_do(obj,
@@ -1516,12 +1502,9 @@ elm_fileselector_is_save_set(Evas_Object *obj,
    eo_do(obj, elm_interface_fileselector_is_save_set(is_save));
 }
 
-static void
-_is_save_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_is_save_set(Eo *obj, 
Elc_Fileselector_Data *sd, Eina_Bool is_save)
 {
-   Eina_Bool is_save = va_arg(*list, int);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    elm_object_disabled_set(sd->name_entry, !is_save);
 
    if (is_save) elm_layout_signal_emit(obj, "elm,state,save,on", "elm");
@@ -1537,12 +1520,10 @@ elm_fileselector_is_save_get(const Evas_Object *obj)
    return ret;
 }
 
-static void
-_is_save_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_interface_fileselector_is_save_get(Eo *obj EINA_UNUSED, 
Elc_Fileselector_Data *sd)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-   if (ret) *ret = !elm_object_disabled_get(sd->name_entry);
+   return !elm_object_disabled_get(sd->name_entry);
 }
 
 EAPI void
@@ -1553,12 +1534,9 @@ elm_fileselector_folder_only_set(Evas_Object *obj,
    eo_do(obj, elm_interface_fileselector_folder_only_set(only));
 }
 
-static void
-_folder_only_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_folder_only_set(Eo *obj, 
Elc_Fileselector_Data *sd, Eina_Bool only)
 {
-   Eina_Bool only = va_arg(*list, int);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    if (sd->only_folder == only) return;
 
    sd->only_folder = !!only;
@@ -1574,31 +1552,17 @@ elm_fileselector_folder_only_get(const Evas_Object *obj)
    return ret;
 }
 
-static void
-_folder_only_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->only_folder;
-}
-
-EAPI void
-elm_fileselector_buttons_ok_cancel_set(Evas_Object *obj,
-                                       Eina_Bool visible)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_interface_fileselector_folder_only_get(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd)
 {
-   ELM_FILESELECTOR_CHECK(obj);
-   eo_do(obj, elm_obj_fileselector_buttons_ok_cancel_set(visible));
+   return sd->only_folder;
 }
 
-static void
-_buttons_ok_cancel_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_buttons_ok_cancel_set(Eo *obj, Elc_Fileselector_Data *sd, 
Eina_Bool visible)
 {
-   Eina_Bool visible = va_arg(*list, int);
-
    Evas_Object *bt;
 
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    if (visible && (!sd->ok_button))
      {
         // cancel btn
@@ -1628,21 +1592,10 @@ _buttons_ok_cancel_set(Eo *obj, void *_pd, va_list 
*list)
      }
 }
 
-EAPI Eina_Bool
-elm_fileselector_buttons_ok_cancel_get(const Evas_Object *obj)
+EOLIAN static Eina_Bool
+_elc_fileselector_buttons_ok_cancel_get(Eo *obj EINA_UNUSED, 
Elc_Fileselector_Data *sd)
 {
-   ELM_FILESELECTOR_INTERFACE_CHECK(obj, EINA_FALSE);
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *) obj, elm_obj_fileselector_buttons_ok_cancel_get(&ret));
-   return ret;
-}
-
-static void
-_buttons_ok_cancel_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->ok_button ? EINA_TRUE : EINA_FALSE;
+   return sd->ok_button ? EINA_TRUE : EINA_FALSE;
 }
 
 EAPI void
@@ -1653,12 +1606,9 @@ elm_fileselector_expandable_set(Evas_Object *obj,
    eo_do(obj, elm_interface_fileselector_expandable_set(expand));
 }
 
-static void
-_expandable_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_expandable_set(Eo *obj, 
Elc_Fileselector_Data *sd, Eina_Bool expand)
 {
-   Eina_Bool expand = va_arg(*list, int);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    sd->expand = !!expand;
 
    if (sd->path) _populate(obj, sd->path, NULL, NULL);
@@ -1673,12 +1623,10 @@ elm_fileselector_expandable_get(const Evas_Object *obj)
    return ret;
 }
 
-static void
-_expandable_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_interface_fileselector_expandable_get(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->expand;
+   return sd->expand;
 }
 
 EAPI void
@@ -1689,10 +1637,9 @@ elm_fileselector_path_set(Evas_Object *obj,
    eo_do(obj, elm_interface_fileselector_path_set(_path));
 }
 
-static void
-_path_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_path_set(Eo *obj, 
Elc_Fileselector_Data *sd EINA_UNUSED, const char *_path)
 {
-   const char *_path = va_arg(*list, const char *);
    char *path;
 
    path = ecore_file_realpath(_path);
@@ -1709,12 +1656,10 @@ elm_fileselector_path_get(const Evas_Object *obj)
    return ret;
 }
 
-static void
-_path_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static const char*
+_elc_fileselector_elm_interface_fileselector_path_get(Eo *obj EINA_UNUSED, 
Elc_Fileselector_Data *sd)
 {
-   const char **ret = va_arg(*list, const char **);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->path;
+   return sd->path;
 }
 
 EAPI void
@@ -1725,13 +1670,10 @@ elm_fileselector_mode_set(Evas_Object *obj,
    eo_do(obj, elm_interface_fileselector_mode_set(mode));
 }
 
-static void
-_mode_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_mode_set(Eo *obj, 
Elc_Fileselector_Data *sd, Elm_Fileselector_Mode mode)
 {
    Evas_Object *old;
-   Elm_Fileselector_Mode mode = va_arg(*list, Elm_Fileselector_Mode);
-
-   Elm_Fileselector_Smart_Data *sd = _pd;
 
    if (mode == sd->mode) return;
 
@@ -1768,12 +1710,10 @@ elm_fileselector_mode_get(const Evas_Object *obj)
    return ret;
 }
 
-static void
-_mode_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Elm_Fileselector_Mode
+_elc_fileselector_elm_interface_fileselector_mode_get(Eo *obj EINA_UNUSED, 
Elc_Fileselector_Data *sd)
 {
-   Elm_Fileselector_Mode *ret = va_arg(*list, Elm_Fileselector_Mode *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-   if (ret) *ret = sd->mode;
+   return sd->mode;
 }
 
 EAPI void
@@ -1783,11 +1723,9 @@ elm_fileselector_multi_select_set(Evas_Object *obj, 
Eina_Bool multi)
    eo_do(obj, elm_interface_fileselector_multi_select_set(multi));
 }
 
-static void
-_multi_select_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_multi_select_set(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd, Eina_Bool multi)
 {
-   Eina_Bool multi = va_arg(*list, int);
-   Elm_Fileselector_Smart_Data *sd = _pd;
    char *path;
 
    multi = !!multi;
@@ -1833,13 +1771,10 @@ elm_fileselector_multi_select_get(const Evas_Object 
*obj)
    return ret;
 }
 
-static void
-_multi_select_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_interface_fileselector_multi_select_get(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
-   if (ret) *ret = sd->multi;
+   return sd->multi;
 }
 
 EAPI const char *
@@ -1851,43 +1786,35 @@ elm_fileselector_selected_get(const Evas_Object *obj)
    return ret;
 }
 
-static void
-_selected_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static const char*
+_elc_fileselector_elm_interface_fileselector_selected_get(Eo *obj EINA_UNUSED, 
Elc_Fileselector_Data *sd)
 {
    const char *fp;
-   const char **ret = va_arg(*list, const char **);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
-   if (!ret) return;
-
-   *ret = NULL;
-
-   if (!sd->path) return;
+   if (!sd->path) return NULL;
 
    fp = elm_object_text_get(sd->path_entry);
    if (ecore_file_exists(fp))
      {
         eina_stringshare_replace(&sd->selection, fp);
 
-        *ret = sd->selection;
-        return;
+        return sd->selection;
      }
 
-   *ret = sd->path;
-
    if (sd->mode == ELM_FILESELECTOR_LIST)
      {
         Elm_Object_Item *gl_it = elm_genlist_selected_item_get(sd->files_view);
 
-        if (gl_it) *ret = elm_object_item_data_get(gl_it);
+        if (gl_it) return elm_object_item_data_get(gl_it);
      }
    else
      {
         Elm_Object_Item *gg_it = elm_gengrid_selected_item_get(sd->files_view);
 
-        if (gg_it) *ret = elm_object_item_data_get(gg_it);
+        if (gg_it) return elm_object_item_data_get(gg_it);
      }
 
+
+   return sd->path;
 }
 
 EAPI Eina_Bool
@@ -1900,18 +1827,13 @@ elm_fileselector_selected_set(Evas_Object *obj,
    return ret;
 }
 
-static void
-_selected_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_interface_fileselector_selected_set(Eo *obj, 
Elc_Fileselector_Data *sd, const char *_path)
 {
-   const char *_path = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Eina_Bool ret = EINA_TRUE;
    char *selected;
-
-   if (ret) *ret = EINA_TRUE;
    char *path;
 
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    path = ecore_file_realpath(_path);
 
    if (ecore_file_is_dir(path)) _populate(obj, path, NULL, NULL);
@@ -1919,7 +1841,7 @@ _selected_set(Eo *obj, void *_pd, va_list *list)
      {
         if (!ecore_file_exists(path))
           {
-             if (ret) *ret = EINA_FALSE;
+             ret = EINA_FALSE;
              goto clean_up;
           }
 
@@ -1931,6 +1853,8 @@ _selected_set(Eo *obj, void *_pd, va_list *list)
 
 clean_up:
    free(path);
+
+   return ret;
 }
 
 EAPI const Eina_List *
@@ -1942,22 +1866,17 @@ elm_fileselector_selected_paths_get(const Evas_Object* 
obj)
    return ret;
 }
 
-static void
-_selected_paths_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static const Eina_List*
+_elc_fileselector_elm_interface_fileselector_selected_paths_get(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd)
 {
-   const Eina_List **ret = va_arg(*list, const Eina_List**);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
-   if (!ret) return;
-
    if (sd->multi)
-     *ret = sd->paths;
+     return sd->paths;
    else
-     *ret = NULL;
+     return NULL;
 }
 
 static Elm_Fileselector_Filter *
-_filter_add(Elm_Fileselector_Smart_Data *sd, const char *filter_name)
+_filter_add(Elc_Fileselector_Data *sd, const char *filter_name)
 {
    Elm_Fileselector_Filter *ff;
    ff = malloc(sizeof(Elm_Fileselector_Filter));
@@ -1977,21 +1896,13 @@ elm_fileselector_mime_types_filter_append(Evas_Object 
*obj, const char *mime_typ
    return ret;
 }
 
-static void
-_mime_types_filter_append(Eo *obj, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_interface_fileselector_mime_types_filter_append(Eo *obj, 
Elc_Fileselector_Data *sd, const char *mime_types, const char *filter_name)
 {
-   const char *mime_types = va_arg(*list, const char *);
-   const char *filter_name = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-
-   Elm_Fileselector_Smart_Data *sd;
    Elm_Fileselector_Filter *ff;
-   Eina_Bool int_ret = EINA_FALSE;
    Eina_Bool need_theme = EINA_FALSE;
 
-   if (!mime_types) goto end;
-
-   sd = _pd;
+   if (!mime_types) return EINA_FALSE;
 
    ff = _filter_add(sd, filter_name ? filter_name : mime_types);
    ff->filter_type = ELM_FILESELECTOR_MIME_FILTER;
@@ -2014,10 +1925,7 @@ _mime_types_filter_append(Eo *obj, void *_pd, va_list 
*list)
    if (need_theme)
      eo_do(obj, elm_obj_widget_theme_apply(NULL));
 
-   int_ret = EINA_TRUE;
-
-end:
-   if (ret) *ret = int_ret;
+   return EINA_TRUE;
 }
 
 EAPI Eina_Bool
@@ -2029,22 +1937,13 @@ elm_fileselector_custom_filter_append(Evas_Object *obj, 
Elm_Fileselector_Filter_
    return ret;
 }
 
-static void
-_custom_filter_append(Eo *obj, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_interface_fileselector_custom_filter_append(Eo *obj, 
Elc_Fileselector_Data *sd, Elm_Fileselector_Filter_Func func, void *data, const 
char *filter_name)
 {
-   Elm_Fileselector_Filter_Func func = va_arg(*list, 
Elm_Fileselector_Filter_Func);
-   void *data = va_arg(*list, void *);
-   const char *filter_name = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-
-   Elm_Fileselector_Smart_Data *sd;
    Elm_Fileselector_Filter *ff;
-   Eina_Bool int_ret = EINA_FALSE;
    Eina_Bool need_theme = EINA_FALSE;
 
-   if (!func) goto end;
-
-   sd = _pd;
+   if (!func) return EINA_FALSE;
 
    ff = _filter_add(sd, filter_name ? filter_name : "custom");
    ff->filter_type = ELM_FILESELECTOR_CUSTOM_FILTER;
@@ -2069,9 +1968,7 @@ _custom_filter_append(Eo *obj, void *_pd, va_list *list)
    if (need_theme)
      eo_do(obj, elm_obj_widget_theme_apply(NULL));
 
-   int_ret = EINA_TRUE;
-end:
-   if (ret) *ret = int_ret;
+   return EINA_TRUE;
 }
 
 EAPI void
@@ -2081,10 +1978,9 @@ elm_fileselector_filters_clear(Evas_Object *obj)
    eo_do(obj, elm_interface_fileselector_filters_clear());
 }
 
-static void
-_filters_clear(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_filters_clear(Eo *obj, 
Elc_Fileselector_Data *sd)
 {
-   Elm_Fileselector_Smart_Data *sd = _pd;
    Elm_Fileselector_Filter *filter;
 
    EINA_LIST_FREE(sd->filter_list, filter)
@@ -2114,12 +2010,9 @@ elm_fileselector_hidden_visible_set(Evas_Object *obj, 
Eina_Bool visible)
    eo_do(obj, elm_interface_fileselector_hidden_visible_set(visible));
 }
 
-static void
-_hidden_visible_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_hidden_visible_set(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd, Eina_Bool visible)
 {
-   Eina_Bool visible = va_arg(*list, int);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    visible = !!visible;
    if (sd->hidden_visible == visible) return;
    sd->hidden_visible = visible;
@@ -2137,13 +2030,10 @@ elm_fileselector_hidden_visible_get(const Evas_Object 
*obj)
    return ret;
 }
 
-static void
-_hidden_visible_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_interface_fileselector_hidden_visible_get(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
-   if (ret) *ret = sd->hidden_visible;
+   return sd->hidden_visible;
 }
 
 EAPI void
@@ -2155,13 +2045,9 @@ elm_fileselector_thumbnail_size_set(Evas_Object *obj,
    eo_do(obj, elm_interface_fileselector_thumbnail_size_set(w, h));
 }
 
-static void
-_thumbnail_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_thumbnail_size_set(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd, Evas_Coord w, Evas_Coord h)
 {
-   Evas_Coord w = va_arg(*list, Evas_Coord);
-   Evas_Coord h = va_arg(*list, Evas_Coord);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    if (sd->thumbnail_size.w == w && sd->thumbnail_size.h == h) return;
 
    if (!w || !h)
@@ -2185,13 +2071,9 @@ elm_fileselector_thumbnail_size_get(const Evas_Object 
*obj,
    eo_do((Eo *) obj, elm_interface_fileselector_thumbnail_size_get(w, h));
 }
 
-static void
-_thumbnail_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_thumbnail_size_get(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd, Evas_Coord *w, Evas_Coord *h)
 {
-   Evas_Coord *w = va_arg(*list, Evas_Coord *);
-   Evas_Coord *h = va_arg(*list, Evas_Coord *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    if (w) *w = sd->thumbnail_size.w;
    if (h) *h = sd->thumbnail_size.h;
 }
@@ -2203,12 +2085,9 @@ elm_fileselector_sort_method_set(Evas_Object *obj, 
Elm_Fileselector_Sort sort)
    eo_do(obj, elm_interface_fileselector_sort_method_set(sort));
 }
 
-static void
-_sort_method_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_elm_interface_fileselector_sort_method_set(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd, Elm_Fileselector_Sort sort)
 {
-   Elm_Fileselector_Sort sort = va_arg(*list, Elm_Fileselector_Sort);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
    if (sd->sort_type == sort) return;
    sd->sort_type = sort;
 
@@ -2256,108 +2135,54 @@ elm_fileselector_sort_method_get(const Evas_Object 
*obj)
    return ret;
 }
 
-static void
-_sort_method_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static Elm_Fileselector_Sort
+_elc_fileselector_elm_interface_fileselector_sort_method_get(Eo *obj 
EINA_UNUSED, Elc_Fileselector_Data *sd)
 {
-   Elm_Fileselector_Sort *ret = va_arg(*list, Elm_Fileselector_Sort *);
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
-   if (ret) *ret = sd->sort_type;
+   return sd->sort_type;
 }
 
-static void
-_elm_fileselector_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd 
EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, 
Elc_Fileselector_Data *sd EINA_UNUSED)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
+   return EINA_FALSE;
 }
 
-static void
-_elm_fileselector_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void 
*_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, 
Elc_Fileselector_Data *sd EINA_UNUSED)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
+   return EINA_FALSE;
 }
 
-static void
-_elm_fileselector_smart_text_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_elm_layout_text_set(Eo *obj EINA_UNUSED, 
Elc_Fileselector_Data *sd, const char *part, const char *label)
 {
-   Elm_Fileselector_Smart_Data *sd = _pd;
-
-   const char *part = va_arg(*list, const char *);
-   const char *label = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-   Eina_Bool int_ret = EINA_FALSE;
-
-   if (!part) return;
+   if (!part) return EINA_FALSE;
 
    if (sd->ok_button && !strcmp(part, "ok"))
      {
         elm_object_text_set(sd->ok_button, label);
-        int_ret = EINA_TRUE;
+        return EINA_TRUE;
      }
    else if (sd->cancel_button && !strcmp(part, "cancel"))
      {
         elm_object_text_set(sd->cancel_button, label);
-        int_ret = EINA_TRUE;
+        return EINA_TRUE;
      }
    else
-     eo_do_super(obj, MY_CLASS, elm_obj_layout_text_set(part, label, 
&int_ret));
+     {
+        Eina_Bool int_ret = EINA_FALSE;
+        eo_do_super(obj, MY_CLASS, elm_obj_layout_text_set(part, label, 
&int_ret));
+        return int_ret;
+     }
 
-   if (ret) *ret = int_ret;
+   return EINA_FALSE;
 }
 
-static void
-_class_constructor(Eo_Class *klass)
+EOLIAN static void
+_elc_fileselector_class_constructor(Eo_Class *klass)
 {
    unsigned int i;
 
-   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_fileselector_smart_add),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), 
_elm_fileselector_smart_del),
-
-        EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_THEME_APPLY), 
_elm_fileselector_smart_theme),
-        EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_EVENT), 
_elm_fileselector_smart_event),
-        
EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), 
_elm_fileselector_smart_focus_next_manager_is),
-        
EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), 
_elm_fileselector_smart_focus_direction_manager_is),
-
-        EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL), 
_elm_fileselector_smart_sizing_eval),
-        EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_SET), 
_elm_fileselector_smart_text_set),
-
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_FOLDER_ONLY_SET),
 _folder_only_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_FOLDER_ONLY_GET),
 _folder_only_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_IS_SAVE_SET),
 _is_save_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_IS_SAVE_GET),
 _is_save_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_EXPANDABLE_SET),
 _expandable_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_EXPANDABLE_GET),
 _expandable_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_PATH_SET),
 _path_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_PATH_GET),
 _path_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_MODE_SET),
 _mode_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_MODE_GET),
 _mode_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_MULTI_SELECT_SET),
 _multi_select_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_MULTI_SELECT_GET),
 _multi_select_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_SELECTED_GET),
 _selected_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_SELECTED_SET),
 _selected_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_SELECTED_PATHS_GET),
 _selected_paths_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_MIME_TYPES_FILTER_APPEND),
 _mime_types_filter_append),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_CUSTOM_FILTER_APPEND),
 _custom_filter_append),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_FILTERS_CLEAR),
 _filters_clear),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_HIDDEN_VISIBLE_SET),
 _hidden_visible_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_HIDDEN_VISIBLE_GET),
 _hidden_visible_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_THUMBNAIL_SIZE_SET),
 _thumbnail_size_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_THUMBNAIL_SIZE_GET),
 _thumbnail_size_get),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_SORT_METHOD_SET),
 _sort_method_set),
-        
EO_OP_FUNC(ELM_INTERFACE_FILESELECTOR_ID(ELM_INTERFACE_FILESELECTOR_SUB_ID_SORT_METHOD_GET),
 _sort_method_get),
-
-        
EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_SET),
 _buttons_ok_cancel_set),
-        
EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_GET),
 _buttons_ok_cancel_get),
-        EO_OP_FUNC_SENTINEL
-   };
-   eo_class_funcs_set(klass, func_desc);
-
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 
    for (i = 0; i < ELM_FILE_LAST; ++i)
@@ -2382,8 +2207,8 @@ _class_constructor(Eo_Class *klass)
 
 }
 
-static void
-_class_destructor(Eo_Class *klass EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_class_destructor(Eo_Class *klass EINA_UNUSED)
 {
    unsigned int i;
 
@@ -2394,19 +2219,4 @@ _class_destructor(Eo_Class *klass EINA_UNUSED)
      }
 }
 
-static const Eo_Op_Description op_desc[] = {
-     EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_SET, 
"Enable/disable the 'ok' and 'cancel' buttons on a given file selector 
widget."),
-     EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_GET, "Get 
whether the 'ok' and 'cancel' buttons on a given file selector widget are being 
shown."),
-     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_FILESELECTOR_BASE_ID, op_desc, 
ELM_OBJ_FILESELECTOR_SUB_ID_LAST),
-     NULL,
-     sizeof(Elm_Fileselector_Smart_Data),
-     _class_constructor,
-     _class_destructor
-};
-EO_DEFINE_CLASS(elm_obj_fileselector_class_get, &class_desc, 
ELM_OBJ_LAYOUT_CLASS, ELM_INTERFACE_FILESELECTOR_CLASS, NULL);
+#include "elc_fileselector.eo.c"
diff --git a/src/lib/elc_fileselector.eo b/src/lib/elc_fileselector.eo
new file mode 100644
index 0000000..fc2c129
--- /dev/null
+++ b/src/lib/elc_fileselector.eo
@@ -0,0 +1,69 @@
+class Elc_Fileselector (Elm_Layout, Elm_Interface_Fileselector)
+{
+   legacy_prefix: elm_fileselector;
+   eo_prefix: elm_obj_fileselector;
+   properties {
+      buttons_ok_cancel {
+         set {
+            /*@
+            Enable/disable the "ok" and "cancel" buttons on a given file
+            selector widget
+
+            @note A file selector without those buttons will never emit the
+            @c "done" smart event, and is only usable if one is just hooking
+            to the other two events.
+
+            @see elm_fileselector_buttons_ok_cancel_get()
+
+            @ingroup Fileselector */
+         }
+         get {
+            /*@
+            Get whether the "ok" and "cancel" buttons on a given file
+            selector widget are being shown.
+
+            @return @c EINA_TRUE if they are being shown, @c EINA_FALSE
+            otherwise (and on errors)
+
+            @see elm_fileselector_buttons_ok_cancel_set() for more details
+
+            @ingroup Fileselector */
+         }
+         values {
+            Eina_Bool visible; /*@ @c EINA_TRUE to show buttons, @c EINA_FALSE 
to hide. */
+         }
+      }
+   }
+   implements {
+      class::constructor;
+      class::destructor;
+      Eo_Base::constructor;
+      Evas_Smart::add;
+      Evas_Smart::del;
+      Elm_Widget::focus_direction_manager_is;
+      Elm_Widget::event;
+      Elm_Widget::theme_apply;
+      Elm_Widget::focus_next_manager_is;
+      Elm_Layout::sizing_eval;
+      Elm_Layout::text_set;
+      Elm_Interface_Fileselector::selected_paths::get;
+      Elm_Interface_Fileselector::custom_filter_append;
+      Elm_Interface_Fileselector::expandable;
+      Elm_Interface_Fileselector::thumbnail_size;
+      Elm_Interface_Fileselector::selected;
+      Elm_Interface_Fileselector::mime_types_filter_append;
+      Elm_Interface_Fileselector::hidden_visible;
+      Elm_Interface_Fileselector::filters_clear;
+      Elm_Interface_Fileselector::is_save;
+      Elm_Interface_Fileselector::path;
+      Elm_Interface_Fileselector::sort_method;
+      Elm_Interface_Fileselector::multi_select;
+      Elm_Interface_Fileselector::folder_only;
+      Elm_Interface_Fileselector::mode;
+   }
+   events {
+      focused;
+      unfocused;
+   }
+
+}
diff --git a/src/lib/elc_fileselector_eo.h b/src/lib/elc_fileselector_eo.h
index c056bed..3b86d84 100644
--- a/src/lib/elc_fileselector_eo.h
+++ b/src/lib/elc_fileselector_eo.h
@@ -3,6 +3,9 @@
  *
  * @{
  */
+#include "elc_fileselector.eo.h"
+
+#if 0
 #define ELM_OBJ_FILESELECTOR_CLASS elm_obj_fileselector_class_get()
 
 const Eo_Class *elm_obj_fileselector_class_get(void) EINA_CONST;
@@ -41,7 +44,7 @@ enum
  * @see elm_fileselector_buttons_ok_cancel_get
  */
 #define elm_obj_fileselector_buttons_ok_cancel_get(ret) 
ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_GET), 
EO_TYPECHECK(Eina_Bool *, ret)
-
+#endif
 /**
  * @}
  */
diff --git a/src/lib/elm_widget_fileselector.h 
b/src/lib/elm_widget_fileselector.h
index 03cc407..080aaa7 100644
--- a/src/lib/elm_widget_fileselector.h
+++ b/src/lib/elm_widget_fileselector.h
@@ -19,8 +19,8 @@ typedef struct _Elm_Fileselector_Filter 
Elm_Fileselector_Filter;
 /**
  * Base layout smart data extended with fileselector instance data.
  */
-typedef struct _Elm_Fileselector_Smart_Data Elm_Fileselector_Smart_Data;
-struct _Elm_Fileselector_Smart_Data
+typedef struct _Elc_Fileselector_Data Elc_Fileselector_Data;
+struct _Elc_Fileselector_Data
 {
    EINA_REFCOUNT;
 
@@ -82,7 +82,7 @@ struct sel_data
 typedef struct _Listing_Request Listing_Request;
 struct _Listing_Request
 {
-   Elm_Fileselector_Smart_Data *sd;
+   Elc_Fileselector_Data *sd;
    Elm_Object_Item             *parent_it;
 
    Evas_Object                 *obj;
@@ -114,7 +114,7 @@ struct _Elm_Fileselector_Custom_Filter
 struct _Elm_Fileselector_Filter
 {
    const char                         *filter_name;
-   Elm_Fileselector_Smart_Data        *sd;
+   Elc_Fileselector_Data        *sd;
 
    union {
       char                           **mime_types;
@@ -129,7 +129,7 @@ struct _Elm_Fileselector_Filter
  */
 
 #define ELM_FILESELECTOR_DATA_GET(o, sd) \
-  Elm_Fileselector_Smart_Data * sd = eo_data_scope_get(o, 
ELM_OBJ_FILESELECTOR_CLASS)
+  Elc_Fileselector_Data * sd = eo_data_scope_get(o, ELM_OBJ_FILESELECTOR_CLASS)
 
 #define ELM_FILESELECTOR_DATA_GET_OR_RETURN(o, ptr)  \
   ELM_FILESELECTOR_DATA_GET(o, ptr);                 \

-- 


Reply via email to