summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Zaoui <daniel.zaoui@samsung.com>2014-03-30 08:34:10 +0300
committerDaniel Zaoui <daniel.zaoui@samsung.com>2014-03-31 08:14:05 +0300
commit758d6bbccccea2477e3d819c4f2777376fb361b9 (patch)
treec1fe47a91ee409523399524b0d5ad7171bd6b010
parent1dd071a3e9be3e662b099a37d3ddbe90c8e76687 (diff)
downloadelementary-758d6bbccccea2477e3d819c4f2777376fb361b9.tar.gz
Eolian: Integration of File Selector Button
-rw-r--r--src/lib/Makefile.am4
-rw-r--r--src/lib/elc_fileselector_button.c265
-rw-r--r--src/lib/elc_fileselector_button.eo118
-rw-r--r--src/lib/elc_fileselector_button_eo.h4
-rw-r--r--src/lib/elm_widget_fileselector_button.h8
5 files changed, 182 insertions, 217 deletions
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 582085769..ee513e5ec 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_button.eo.c \
+ elc_fileselector_button.eo.h \
elm_flip.eo.c \
elm_flip.eo.h \
elm_gesture_layer.eo.c \
@@ -701,6 +703,7 @@ EXTRA_DIST += \
elm_dayselector.eo \
elm_diskselector.eo \
elm_entry.eo \
+ elc_fileselector_button.eo \
elm_flip.eo \
elm_gesture_layer.eo \
elm_glview.eo \
@@ -775,6 +778,7 @@ nodist_includesunstable_HEADERS = \
elm_dayselector.eo.h \
elm_diskselector.eo.h \
elm_entry.eo.h \
+ elc_fileselector_button.eo.h \
elm_flip.eo.h \
elm_gesture_layer.eo.h \
elm_glview.eo.h \
diff --git a/src/lib/elc_fileselector_button.c b/src/lib/elc_fileselector_button.c
index 7a1666b26..ce04f31f3 100644
--- a/src/lib/elc_fileselector_button.c
+++ b/src/lib/elc_fileselector_button.c
@@ -7,8 +7,6 @@
#include "elm_interface_fileselector.h"
#include "elm_widget_fileselector_button.h"
-EAPI Eo_Op ELM_OBJ_FILESELECTOR_BUTTON_BASE_ID = EO_NOOP;
-
#define MY_CLASS ELM_OBJ_FILESELECTOR_BUTTON_CLASS
#define MY_CLASS_NAME "Elm_Fileselector_Button"
@@ -31,17 +29,15 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
};
#undef ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS
-static void
-_elm_fileselector_button_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_button_elm_widget_theme_apply(Eo *obj, Elc_Fileselector_Button_Data *sd EINA_UNUSED)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- if (ret) *ret = EINA_FALSE;
Eina_Bool int_ret;
char buf[4096];
const char *style;
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+ ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
style = eina_stringshare_add(elm_widget_style_get(obj));
@@ -51,13 +47,13 @@ _elm_fileselector_button_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *li
eina_stringshare_replace(&(wd->style), buf);
eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret));
- if (!int_ret) return;
+ if (!int_ret) return EINA_FALSE;
eina_stringshare_replace(&(wd->style), style);
eina_stringshare_del(style);
- if (ret) *ret = EINA_TRUE;
+ return EINA_TRUE;
}
static void
@@ -65,7 +61,7 @@ _selection_done(void *data,
Evas_Object *obj EINA_UNUSED,
void *event_info)
{
- Elm_Fileselector_Button_Smart_Data *sd = data;
+ Elc_Fileselector_Button_Data *sd = data;
const char *file = event_info;
Evas_Object *del;
@@ -81,7 +77,7 @@ _selection_done(void *data,
}
static Evas_Object *
-_new_window_add(Elm_Fileselector_Button_Smart_Data *sd)
+_new_window_add(Elc_Fileselector_Button_Data *sd)
{
Evas_Object *win, *bg;
@@ -109,7 +105,7 @@ _parent_win_get(Evas_Object *obj)
}
static void
-_activate(Elm_Fileselector_Button_Smart_Data *sd)
+_activate(Elc_Fileselector_Button_Data *sd)
{
Eina_Bool is_inwin = EINA_FALSE;
@@ -164,11 +160,9 @@ _button_clicked(void *data,
_activate(data);
}
-static void
-_elm_fileselector_button_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_button_evas_smart_add(Eo *obj, Elc_Fileselector_Button_Data *priv)
{
- Elm_Fileselector_Button_Smart_Data *priv = _pd;
-
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
elm_widget_sub_object_parent_add(obj);
@@ -189,11 +183,9 @@ _elm_fileselector_button_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED
elm_widget_can_focus_set(obj, EINA_TRUE);
}
-static void
-_elm_fileselector_button_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_button_evas_smart_del(Eo *obj, Elc_Fileselector_Button_Data *sd)
{
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
eina_stringshare_del(sd->window_title);
eina_stringshare_del(sd->fsd.path);
evas_object_del(sd->fsw);
@@ -201,11 +193,10 @@ _elm_fileselector_button_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED
eo_do_super(obj, MY_CLASS, evas_obj_smart_del());
}
-static void
-_elm_fileselector_button_smart_admits_autorepeat_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_button_elm_button_admits_autorepeat_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd EINA_UNUSED)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- *ret = EINA_FALSE;
+ return EINA_FALSE;
}
EAPI Evas_Object *
@@ -217,10 +208,9 @@ elm_fileselector_button_add(Evas_Object *parent)
return obj;
}
-static void
-_constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elc_fileselector_button_eo_base_constructor(Eo *obj, Elc_Fileselector_Button_Data *sd)
{
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
sd->obj = obj;
eo_do_super(obj, MY_CLASS, eo_constructor());
@@ -229,81 +219,32 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
}
-EAPI void
-elm_fileselector_button_window_title_set(Evas_Object *obj,
- const char *title)
+EOLIAN static void
+_elc_fileselector_button_window_title_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd, const char *title)
{
- ELM_FILESELECTOR_BUTTON_CHECK(obj);
- eo_do(obj, elm_obj_fileselector_button_window_title_set(title));
-}
-
-static void
-_window_title_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
- const char *title = va_arg(*list, const char *);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
eina_stringshare_replace(&sd->window_title, title);
if (sd->fsw) elm_win_title_set(sd->fsw, sd->window_title);
}
-EAPI const char *
-elm_fileselector_button_window_title_get(const Evas_Object *obj)
-{
- ELM_FILESELECTOR_BUTTON_CHECK(obj) NULL;
- const char *ret = NULL;
- eo_do((Eo *) obj, elm_obj_fileselector_button_window_title_get(&ret));
- return ret;
-}
-
-static void
-_window_title_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
- const char **ret = va_arg(*list, const char **);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
- *ret = sd->window_title;
-}
-
-EAPI void
-elm_fileselector_button_window_size_set(Evas_Object *obj,
- Evas_Coord width,
- Evas_Coord height)
+EOLIAN static const char *
+_elc_fileselector_button_window_title_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd)
{
- ELM_FILESELECTOR_BUTTON_CHECK(obj);
- eo_do(obj, elm_obj_fileselector_button_window_size_set(width, height));
+ return sd->window_title;
}
-static void
-_window_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_button_window_size_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd, Evas_Coord width, Evas_Coord height)
{
- Evas_Coord width = va_arg(*list, Evas_Coord);
- Evas_Coord height = va_arg(*list, Evas_Coord);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
sd->w = width;
sd->h = height;
if (sd->fsw) evas_object_resize(sd->fsw, sd->w, sd->h);
}
-EAPI void
-elm_fileselector_button_window_size_get(const Evas_Object *obj,
- Evas_Coord *width,
- Evas_Coord *height)
-{
- ELM_FILESELECTOR_BUTTON_CHECK(obj);
- eo_do((Eo *) obj, elm_obj_fileselector_button_window_size_get(width, height));
-}
-
-static void
-_window_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_button_window_size_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd, Evas_Coord *width, Evas_Coord *height)
{
- Evas_Coord *width = va_arg(*list, Evas_Coord *);
- Evas_Coord *height = va_arg(*list, Evas_Coord *);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
if (width) *width = sd->w;
if (height) *height = sd->h;
}
@@ -316,12 +257,9 @@ elm_fileselector_button_path_set(Evas_Object *obj,
eo_do(obj, elm_interface_fileselector_path_set(path));
}
-static void
-_path_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_button_elm_interface_fileselector_path_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd, const char *path)
{
- const char *path = va_arg(*list, const char *);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
eina_stringshare_replace(&sd->fsd.path, path);
if (sd->fs) elm_fileselector_selected_set(sd->fs, sd->fsd.path);
@@ -336,13 +274,10 @@ elm_fileselector_button_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_button_elm_interface_fileselector_path_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd)
{
- const char **ret = va_arg(*list, const char **);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
- *ret = sd->fsd.path;
+ return sd->fsd.path;
}
EINA_DEPRECATED EAPI void
@@ -353,12 +288,9 @@ elm_fileselector_button_expandable_set(Evas_Object *obj,
eo_do(obj, elm_interface_fileselector_expandable_set(value));
}
-static void
-_expandable_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_button_elm_interface_fileselector_expandable_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd, Eina_Bool value)
{
- Eina_Bool value = va_arg(*list, int);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
sd->fsd.expandable = value;
if (sd->fs) elm_fileselector_expandable_set(sd->fs, sd->fsd.expandable);
@@ -373,13 +305,10 @@ elm_fileselector_button_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_button_elm_interface_fileselector_expandable_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
- *ret = sd->fsd.expandable;
+ return sd->fsd.expandable;
}
EINA_DEPRECATED EAPI void
@@ -390,12 +319,9 @@ elm_fileselector_button_folder_only_set(Evas_Object *obj,
eo_do(obj, elm_interface_fileselector_folder_only_set(value));
}
-static void
-_folder_only_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_button_elm_interface_fileselector_folder_only_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd, Eina_Bool value)
{
- Eina_Bool value = va_arg(*list, int);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
sd->fsd.folder_only = value;
if (sd->fs) elm_fileselector_folder_only_set(sd->fs, sd->fsd.folder_only);
@@ -410,13 +336,10 @@ elm_fileselector_button_folder_only_get(const Evas_Object *obj)
return ret;
}
-static void
-_folder_only_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_button_elm_interface_fileselector_folder_only_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
- *ret = sd->fsd.folder_only;
+ return sd->fsd.folder_only;
}
EINA_DEPRECATED EAPI void
@@ -427,12 +350,9 @@ elm_fileselector_button_is_save_set(Evas_Object *obj,
eo_do(obj, elm_interface_fileselector_is_save_set(value));
}
-static void
-_is_save_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_button_elm_interface_fileselector_is_save_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd, Eina_Bool value)
{
- Eina_Bool value = va_arg(*list, int);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
sd->fsd.is_save = value;
if (sd->fs) elm_fileselector_is_save_set(sd->fs, sd->fsd.is_save);
@@ -447,103 +367,22 @@ elm_fileselector_button_is_save_get(const Evas_Object *obj)
return ret;
}
-static void
-_is_save_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
- *ret = sd->fsd.is_save;
-}
-
-EAPI void
-elm_fileselector_button_inwin_mode_set(Evas_Object *obj,
- Eina_Bool value)
+EOLIAN static Eina_Bool
+_elc_fileselector_button_elm_interface_fileselector_is_save_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd)
{
- ELM_FILESELECTOR_BUTTON_CHECK(obj);
- eo_do(obj, elm_obj_fileselector_button_inwin_mode_set(value));
+ return sd->fsd.is_save;
}
-static void
-_inwin_mode_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elc_fileselector_button_inwin_mode_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd, Eina_Bool value)
{
- Eina_Bool value = va_arg(*list, int);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
sd->inwin_mode = value;
}
-EAPI Eina_Bool
-elm_fileselector_button_inwin_mode_get(const Evas_Object *obj)
-{
- ELM_FILESELECTOR_BUTTON_CHECK(obj) EINA_FALSE;
- Eina_Bool ret = EINA_FALSE;
- eo_do((Eo *) obj, elm_obj_fileselector_button_inwin_mode_get(&ret));
- return ret;
-}
-
-static void
-_inwin_mode_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elc_fileselector_button_inwin_mode_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Button_Data *sd)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- Elm_Fileselector_Button_Smart_Data *sd = _pd;
-
- *ret = sd->inwin_mode;
+ return sd->inwin_mode;
}
-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_fileselector_button_smart_add),
- EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _elm_fileselector_button_smart_del),
-
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_THEME_APPLY), _elm_fileselector_button_smart_theme),
-
- EO_OP_FUNC(ELM_OBJ_BUTTON_ID(ELM_OBJ_BUTTON_SUB_ID_ADMITS_AUTOREPEAT_GET), _elm_fileselector_button_smart_admits_autorepeat_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_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_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_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_SET), _window_title_set),
- EO_OP_FUNC(ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_GET), _window_title_get),
- EO_OP_FUNC(ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_SET), _window_size_set),
- EO_OP_FUNC(ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_GET), _window_size_get),
- EO_OP_FUNC(ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_SET), _inwin_mode_set),
- EO_OP_FUNC(ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_GET), _inwin_mode_get),
- EO_OP_FUNC_SENTINEL
- };
- eo_class_funcs_set(klass, func_desc);
-
- evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
-}
-
-static const Eo_Op_Description op_desc[] = {
- EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_SET, "Set the title for a given file selector button widget's window."),
- EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_GET, "Get the title for a given file selector button widget's window."),
- EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_SET, "Set the size of a given file selector button widget's window, holding the file selector itself."),
- EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_GET, "Get the size of a given file selector button widget's window, holding the file selector itself."),
- EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_SET, "Set whether a given file selector button widget's internal file selector will raise an Elementary 'inner window', instead of a dedicated Elementary window."),
- EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_GET, "Get whether a given file selector button widget's internal file selector will raise an Elementary 'inner window', instead of a dedicated Elementary window."),
- 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_BUTTON_BASE_ID, op_desc, ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_LAST),
- NULL,
- sizeof(Elm_Fileselector_Button_Smart_Data),
- _class_constructor,
- NULL
-};
-
-EO_DEFINE_CLASS(elm_obj_fileselector_button_class_get, &class_desc, ELM_OBJ_BUTTON_CLASS, ELM_INTERFACE_FILESELECTOR_CLASS, NULL);
+#include "elc_fileselector_button.eo.c"
diff --git a/src/lib/elc_fileselector_button.eo b/src/lib/elc_fileselector_button.eo
new file mode 100644
index 000000000..6a1a934f3
--- /dev/null
+++ b/src/lib/elc_fileselector_button.eo
@@ -0,0 +1,118 @@
+class Elc_Fileselector_Button (Elm_Button, Elm_Interface_Fileselector)
+{
+ legacy_prefix: elm_fileselector_button;
+ eo_prefix: elm_obj_fileselector_button;
+ properties {
+ inwin_mode {
+ set {
+ /*@
+ Set whether a given file selector button widget's internal file
+ selector will raise an Elementary "inner window", instead of a
+ dedicated Elementary window. By default, it depends on the current
+ profile.
+
+ @see elm_win_inwin_add() for more information on inner windows
+ @see elm_fileselector_button_inwin_mode_get()
+
+ @ingroup File_Selector_Button */
+ }
+ get {
+ /*@
+ Get whether a given file selector button widget's internal file
+ selector will raise an Elementary "inner window", instead of a
+ dedicated Elementary window.
+
+ @return @c EINA_TRUE if will use an inner window, @c EINA_TRUE
+ if it will use a dedicated window
+
+ @see elm_fileselector_button_inwin_mode_set() for more details
+
+ @ingroup File_Selector_Button */
+ }
+ values {
+ Eina_Bool value; /*@ @c EINA_TRUE to make it use an inner window, @c
+ EINA_FALSE to make it use a dedicated window */
+ }
+ }
+ window_size {
+ set {
+ /*@
+ Set the size of a given file selector button widget's window,
+ holding the file selector itself.
+
+ @note it will only take any effect if the file selector button
+ widget is @b not under "inwin mode". The default size for the
+ window (when applicable) is 400x400 pixels.
+
+ @see elm_fileselector_button_window_size_get()
+
+ @ingroup File_Selector_Button */
+ }
+ get {
+ /*@
+ Get the size of a given file selector button widget's window,
+ holding the file selector itself.
+
+ @note Use @c NULL pointers on the size values you're not
+ interested in: they'll be ignored by the function.
+
+ @see elm_fileselector_button_window_size_set(), for more details
+
+ @ingroup File_Selector_Button */
+ }
+ values {
+ Evas_Coord width; /*@ The window's width */
+ Evas_Coord height; /*@ The window's height */
+ }
+ }
+ window_title {
+ set {
+ /*@
+ Set the title for a given file selector button widget's window
+
+ This will change the popup window's title, when the file selector pops
+ out after a click on the button. Those windows have the default
+ (unlocalized) value of @c "Select a file" as titles.
+
+ @note It will only take effect if the file selector
+ button widget is @b not under "inwin mode".
+
+ @see elm_fileselector_button_window_title_get()
+
+ @ingroup File_Selector_Button */
+ }
+ get {
+ /*@
+ Get the title for a given file selector button widget's
+ window
+
+ @return Title of the file selector button's window
+
+ @see elm_fileselector_button_window_title_get() for more details
+
+ @ingroup File_Selector_Button */
+ }
+ values {
+ const char *title; /*@ The title string */
+ }
+ }
+ }
+ implements {
+ Eo_Base::constructor;
+ Evas_Smart::add;
+ Evas_Smart::del;
+ Elm_Widget::theme_apply;
+ Elm_Button::admits_autorepeat::get;
+ Elm_Interface_Fileselector::folder_only;
+ Elm_Interface_Fileselector::is_save;
+ Elm_Interface_Fileselector::path;
+ Elm_Interface_Fileselector::expandable;
+ }
+ events {
+ language,changed;
+ access,changed;
+ focused;
+ unfocused;
+ }
+
+}
diff --git a/src/lib/elc_fileselector_button_eo.h b/src/lib/elc_fileselector_button_eo.h
index 4fae45127..92b74f8cc 100644
--- a/src/lib/elc_fileselector_button_eo.h
+++ b/src/lib/elc_fileselector_button_eo.h
@@ -1,3 +1,6 @@
+#include "elc_fileselector_button.eo.h"
+
+#if 0
#define ELM_OBJ_FILESELECTOR_BUTTON_CLASS elm_obj_fileselector_button_class_get()
const Eo_Class *elm_obj_fileselector_button_class_get(void) EINA_CONST;
@@ -109,3 +112,4 @@ enum
* @ingroup File_Selector_Button
*/
#define elm_obj_fileselector_button_inwin_mode_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_GET), EO_TYPECHECK(Eina_Bool *, ret)
+#endif
diff --git a/src/lib/elm_widget_fileselector_button.h b/src/lib/elm_widget_fileselector_button.h
index 14b3878f5..938df0a94 100644
--- a/src/lib/elm_widget_fileselector_button.h
+++ b/src/lib/elm_widget_fileselector_button.h
@@ -20,9 +20,9 @@
/**
* Base button smart data extended with fileselector_button instance data.
*/
-typedef struct _Elm_Fileselector_Button_Smart_Data \
- Elm_Fileselector_Button_Smart_Data;
-struct _Elm_Fileselector_Button_Smart_Data
+typedef struct _Elc_Fileselector_Button_Data \
+ Elc_Fileselector_Button_Data;
+struct _Elc_Fileselector_Button_Data
{
Evas_Object *obj; // the object itself
Evas_Object *fs, *fsw;
@@ -45,7 +45,7 @@ struct _Elm_Fileselector_Button_Smart_Data
*/
#define ELM_FILESELECTOR_BUTTON_DATA_GET(o, sd) \
- Elm_Fileselector_Button_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_FILESELECTOR_BUTTON_CLASS)
+ Elc_Fileselector_Button_Data * sd = eo_data_scope_get(o, ELM_OBJ_FILESELECTOR_BUTTON_CLASS)
#define ELM_FILESELECTOR_BUTTON_DATA_GET_OR_RETURN(o, ptr) \
ELM_FILESELECTOR_BUTTON_DATA_GET(o, ptr); \