diff options
author | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-03-30 08:34:10 +0300 |
---|---|---|
committer | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-03-31 08:14:05 +0300 |
commit | 758d6bbccccea2477e3d819c4f2777376fb361b9 (patch) | |
tree | c1fe47a91ee409523399524b0d5ad7171bd6b010 | |
parent | 1dd071a3e9be3e662b099a37d3ddbe90c8e76687 (diff) | |
download | elementary-758d6bbccccea2477e3d819c4f2777376fb361b9.tar.gz |
Eolian: Integration of File Selector Button
-rw-r--r-- | src/lib/Makefile.am | 4 | ||||
-rw-r--r-- | src/lib/elc_fileselector_button.c | 265 | ||||
-rw-r--r-- | src/lib/elc_fileselector_button.eo | 118 | ||||
-rw-r--r-- | src/lib/elc_fileselector_button_eo.h | 4 | ||||
-rw-r--r-- | src/lib/elm_widget_fileselector_button.h | 8 |
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); \ |