diff --git a/legacy/elementary/src/lib/Makefile.am b/legacy/elementary/src/lib/Makefile.am index ee513e5ece..ac1eb27ab9 100644 --- a/legacy/elementary/src/lib/Makefile.am +++ b/legacy/elementary/src/lib/Makefile.am @@ -587,6 +587,8 @@ BUILT_SOURCES = \ elm_entry.eo.h \ elc_fileselector_button.eo.c \ elc_fileselector_button.eo.h \ + elc_fileselector_entry.eo.c \ + elc_fileselector_entry.eo.h \ elm_flip.eo.c \ elm_flip.eo.h \ elm_gesture_layer.eo.c \ @@ -704,6 +706,7 @@ EXTRA_DIST += \ elm_diskselector.eo \ elm_entry.eo \ elc_fileselector_button.eo \ + elc_fileselector_entry.eo \ elm_flip.eo \ elm_gesture_layer.eo \ elm_glview.eo \ @@ -779,6 +782,7 @@ nodist_includesunstable_HEADERS = \ elm_diskselector.eo.h \ elm_entry.eo.h \ elc_fileselector_button.eo.h \ + elc_fileselector_entry.eo.h \ elm_flip.eo.h \ elm_gesture_layer.eo.h \ elm_glview.eo.h \ diff --git a/legacy/elementary/src/lib/elc_fileselector_entry.c b/legacy/elementary/src/lib/elc_fileselector_entry.c index d0b73fb13d..d0c1863d6d 100644 --- a/legacy/elementary/src/lib/elc_fileselector_entry.c +++ b/legacy/elementary/src/lib/elc_fileselector_entry.c @@ -8,8 +8,6 @@ #include "elm_interface_fileselector.h" #include "elm_widget_fileselector_entry.h" -EAPI Eo_Op ELM_OBJ_FILESELECTOR_ENTRY_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_FILESELECTOR_ENTRY_CLASS #define MY_CLASS_NAME "Elm_Fileselector_Entry" @@ -93,8 +91,8 @@ _ACTIVATED_fwd(void *data, evas_object_smart_callback_call(data, SIG_ACTIVATED, event_info); } -static void -_elm_fileselector_entry_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) +EOLIAN static void +_elc_fileselector_entry_elm_layout_sizing_eval(Eo *obj, Elc_Fileselector_Entry_Data *sd EINA_UNUSED) { Evas_Coord minw = -1, minh = -1; @@ -105,34 +103,25 @@ _elm_fileselector_entry_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_lis evas_object_size_hint_max_set(obj, -1, -1); } -static void -_elm_fileselector_entry_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elc_fileselector_entry_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_fileselector_entry_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elc_fileselector_entry_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_FALSE; + return EINA_FALSE; } -static void -_elm_fileselector_entry_smart_focus_next(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elc_fileselector_entry_elm_widget_focus_next(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, Elm_Focus_Direction dir, Evas_Object **next) { Evas_Object *chain[2]; Evas_Object *to_focus; unsigned char i; - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - 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 *); - Eina_Bool int_ret = EINA_FALSE; - /* Direction */ if (dir == ELM_FOCUS_PREVIOUS) { @@ -145,44 +134,34 @@ _elm_fileselector_entry_smart_focus_next(Eo *obj EINA_UNUSED, void *_pd, va_list chain[1] = sd->button; } else - goto end; + return EINA_FALSE; i = elm_widget_focus_get(chain[1]); - if (elm_widget_focus_next_get(chain[i], dir, next)) - { - int_ret = EINA_TRUE; - goto end; - } + if (elm_widget_focus_next_get(chain[i], dir, next)) return EINA_TRUE; i = !i; if (elm_widget_focus_next_get(chain[i], dir, &to_focus)) { *next = to_focus; - int_ret = !!i; - goto end; + return !!i; } -end: - if (ret) *ret = int_ret; + return EINA_FALSE; } -static void -_elm_fileselector_entry_smart_theme(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elc_fileselector_entry_elm_widget_theme_apply(Eo *obj, Elc_Fileselector_Entry_Data *sd) { const char *style; char buf[1024]; - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); Eina_Bool int_ret; - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - 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); @@ -200,137 +179,98 @@ _elm_fileselector_entry_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_entry_smart_disable(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elc_fileselector_entry_elm_widget_disable(Eo *obj, Elc_Fileselector_Entry_Data *sd) { Eina_Bool val; - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret; - eo_do_super(obj, MY_CLASS, elm_obj_widget_disable(&int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; val = elm_widget_disabled_get(obj); elm_widget_disabled_set(sd->button, val); elm_widget_disabled_set(sd->entry, val); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_fileselector_entry_smart_text_set(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elc_fileselector_entry_elm_layout_text_set(Eo *obj, Elc_Fileselector_Entry_Data *sd, const char *part, const char *label) { - Elm_Fileselector_Entry_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 *); - Eina_Bool int_ret; - if (part && strcmp(part, "default")) { + Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_layout_text_set(part, label, &int_ret)); - goto end; + return int_ret; } elm_object_text_set(sd->button, label); - int_ret = EINA_TRUE; - -end: - if (ret) *ret = int_ret; + return EINA_TRUE; } -static void -_elm_fileselector_entry_smart_text_get(Eo *obj, void *_pd, va_list *list) +EOLIAN static const char * +_elc_fileselector_entry_elm_layout_text_get(Eo *obj, Elc_Fileselector_Entry_Data *sd, const char *part) { - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - const char *part = va_arg(*list, const char *); - const char **text = va_arg(*list, const char **); - if (part && strcmp(part, "default")) { - eo_do_super(obj, MY_CLASS, elm_obj_layout_text_get(part, text)); - return; + const char *text = NULL; + eo_do_super(obj, MY_CLASS, elm_obj_layout_text_get(part, &text)); + return text; } - *text = elm_object_text_get(sd->button); + return elm_object_text_get(sd->button); } -static void -_elm_fileselector_entry_smart_content_set(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elc_fileselector_entry_elm_container_content_set(Eo *obj, Elc_Fileselector_Entry_Data *sd, const char *part, Evas_Object *content) { - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - const char *part = va_arg(*list, const char *); - Evas_Object *content = va_arg(*list, Evas_Object *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Eina_Bool int_ret; - if (part && strcmp(part, "button icon")) { + Eina_Bool int_ret; eo_do_super(obj, MY_CLASS, elm_obj_container_content_set(part, content, &int_ret)); - goto end; + return int_ret; } elm_layout_content_set(sd->button, NULL, content); - int_ret = EINA_TRUE; -end: - if (ret) *ret = int_ret; + return EINA_TRUE; } -static void -_elm_fileselector_entry_smart_content_get(Eo *obj, void *_pd, va_list *list) +EOLIAN static Evas_Object * +_elc_fileselector_entry_elm_container_content_get(Eo *obj, Elc_Fileselector_Entry_Data *sd, const char *part) { - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - const char *part = va_arg(*list, const char *); - Evas_Object **ret = va_arg(*list, Evas_Object **); - *ret = NULL; - if (part && strcmp(part, "button icon")) { - eo_do_super(obj, MY_CLASS, elm_obj_container_content_get(part, ret)); - return; + Evas_Object *ret = NULL; + eo_do_super(obj, MY_CLASS, elm_obj_container_content_get(part, &ret)); + return ret; } - *ret = elm_layout_content_get(sd->button, NULL); + return elm_layout_content_get(sd->button, NULL); } -static void -_elm_fileselector_entry_smart_content_unset(Eo *obj, void *_pd, va_list *list) +EOLIAN static Evas_Object * +_elc_fileselector_entry_elm_container_content_unset(Eo *obj, Elc_Fileselector_Entry_Data *sd, const char *part) { - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - const char *part = va_arg(*list, const char *); - Evas_Object **ret = va_arg(*list, Evas_Object **); - Evas_Object *int_ret; - if (part && strcmp(part, "button icon")) { + Evas_Object *int_ret = NULL; eo_do_super(obj, MY_CLASS, elm_obj_container_content_unset(part, &int_ret)); - goto end; + return int_ret; } - int_ret = elm_layout_content_unset(sd->button, NULL); -end: - if (ret) *ret = int_ret; + return elm_layout_content_unset(sd->button, NULL); } -static void -_elm_fileselector_entry_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elc_fileselector_entry_evas_smart_add(Eo *obj, Elc_Fileselector_Entry_Data *priv) { - Elm_Fileselector_Entry_Smart_Data *priv = _pd; - eo_do_super(obj, MY_CLASS, evas_obj_smart_add()); elm_widget_sub_object_parent_add(obj); @@ -385,11 +325,9 @@ _elm_fileselector_entry_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) elm_layout_sizing_eval(obj); } -static void -_elm_fileselector_entry_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elc_fileselector_entry_evas_smart_del(Eo *obj, Elc_Fileselector_Entry_Data *sd) { - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - free(sd->path); eo_do_super(obj, MY_CLASS, evas_obj_smart_del()); @@ -404,8 +342,8 @@ elm_fileselector_entry_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_entry_eo_base_constructor(Eo *obj, Elc_Fileselector_Entry_Data *sd EINA_UNUSED) { eo_do_super(obj, MY_CLASS, eo_constructor()); eo_do(obj, @@ -422,13 +360,11 @@ elm_fileselector_entry_selected_set(Evas_Object *obj, eo_do(obj, elm_interface_fileselector_selected_set(path, &ret)); } -static void -_selected_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elc_fileselector_entry_elm_interface_fileselector_selected_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, const char *path) { - const char *path = va_arg(*list, const char *); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - elm_fileselector_path_set(sd->button, path); + return EINA_TRUE; } EINA_DEPRECATED EAPI const char * @@ -440,85 +376,33 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_selected_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd) { - const char **ret = va_arg(*list, const char **); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - *ret = elm_fileselector_path_get(sd->button); + return elm_fileselector_path_get(sd->button); } -EAPI void -elm_fileselector_entry_window_title_set(Evas_Object *obj, - const char *title) +EOLIAN static void +_elc_fileselector_entry_window_title_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, const char *title) { - ELM_FILESELECTOR_ENTRY_CHECK(obj); - eo_do(obj, elm_obj_fileselector_entry_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_Entry_Smart_Data *sd = _pd; - elm_fileselector_button_window_title_set(sd->button, title); } -EAPI const char * -elm_fileselector_entry_window_title_get(const Evas_Object *obj) +EOLIAN static const char * +_elc_fileselector_entry_window_title_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd) { - ELM_FILESELECTOR_ENTRY_CHECK(obj) NULL; - const char *ret = NULL; - eo_do((Eo *) obj, elm_obj_fileselector_entry_window_title_get(&ret)); - return ret; + return elm_fileselector_button_window_title_get(sd->button); } -static void -_window_title_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static void +_elc_fileselector_entry_window_size_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, Evas_Coord width, Evas_Coord height) { - const char **ret = va_arg(*list, const char **); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - *ret = elm_fileselector_button_window_title_get(sd->button); -} - -EAPI void -elm_fileselector_entry_window_size_set(Evas_Object *obj, - Evas_Coord width, - Evas_Coord height) -{ - ELM_FILESELECTOR_ENTRY_CHECK(obj); - eo_do(obj, elm_obj_fileselector_entry_window_size_set(width, height)); -} - -static void -_window_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - Evas_Coord width = va_arg(*list, Evas_Coord); - Evas_Coord height = va_arg(*list, Evas_Coord); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - elm_fileselector_button_window_size_set(sd->button, width, height); } -EAPI void -elm_fileselector_entry_window_size_get(const Evas_Object *obj, - Evas_Coord *width, - Evas_Coord *height) +EOLIAN static void +_elc_fileselector_entry_window_size_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, Evas_Coord *width, Evas_Coord *height) { - ELM_FILESELECTOR_ENTRY_CHECK(obj); - eo_do((Eo *) obj, elm_obj_fileselector_entry_window_size_get(width, height)); -} - -static void -_window_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - Evas_Coord *width = va_arg(*list, Evas_Coord *); - Evas_Coord *height = va_arg(*list, Evas_Coord *); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - elm_fileselector_button_window_size_get(sd->button, width, height); } @@ -530,14 +414,11 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_path_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, const char *path) { char *s; - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - const char *path = va_arg(*list, const char *); - elm_fileselector_path_set(sd->button, path); s = elm_entry_utf8_to_markup(path); if (s) @@ -556,15 +437,12 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_path_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd) { - const char **ret = va_arg(*list, const char **); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - free(sd->path); sd->path = elm_entry_markup_to_utf8(elm_object_text_get(sd->entry)); - *ret = sd->path; + return sd->path; } EINA_DEPRECATED EAPI void @@ -575,12 +453,9 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_expandable_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, Eina_Bool value) { - Eina_Bool value = va_arg(*list, int); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - elm_fileselector_expandable_set(sd->button, value); } @@ -593,13 +468,10 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_expandable_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - *ret = elm_fileselector_expandable_get(sd->button); + return elm_fileselector_expandable_get(sd->button); } EINA_DEPRECATED EAPI void @@ -610,12 +482,9 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_folder_only_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, Eina_Bool value) { - Eina_Bool value = va_arg(*list, int); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - elm_fileselector_folder_only_set(sd->button, value); } @@ -628,13 +497,10 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_folder_only_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - *ret = elm_fileselector_folder_only_get(sd->button); + return elm_fileselector_folder_only_get(sd->button); } EINA_DEPRECATED EAPI void @@ -645,12 +511,9 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_is_save_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, Eina_Bool value) { - Eina_Bool value = va_arg(*list, int); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - elm_fileselector_is_save_set(sd->button, value); } @@ -663,113 +526,28 @@ elm_fileselector_entry_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_entry_elm_interface_fileselector_is_save_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - *ret = elm_fileselector_is_save_get(sd->button); + return elm_fileselector_is_save_get(sd->button); } -EAPI void -elm_fileselector_entry_inwin_mode_set(Evas_Object *obj, - Eina_Bool value) +EOLIAN static void +_elc_fileselector_entry_inwin_mode_set(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd, Eina_Bool value) { - ELM_FILESELECTOR_ENTRY_CHECK(obj); - eo_do(obj, elm_obj_fileselector_entry_inwin_mode_set(value)); -} - -static void -_inwin_mode_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - Eina_Bool value = va_arg(*list, int); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - elm_fileselector_button_inwin_mode_set(sd->button, value); } -EAPI Eina_Bool -elm_fileselector_entry_inwin_mode_get(const Evas_Object *obj) +EOLIAN static Eina_Bool +_elc_fileselector_entry_inwin_mode_get(Eo *obj EINA_UNUSED, Elc_Fileselector_Entry_Data *sd) { - ELM_FILESELECTOR_ENTRY_CHECK(obj) EINA_FALSE; - Eina_Bool ret = EINA_FALSE; - eo_do((Eo *) obj, elm_obj_fileselector_entry_inwin_mode_get(&ret)); - return ret; + return elm_fileselector_button_inwin_mode_get(sd->button); } -static void -_inwin_mode_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static void +_elc_fileselector_entry_class_constructor(Eo_Class *klass) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Fileselector_Entry_Smart_Data *sd = _pd; - - *ret = elm_fileselector_button_inwin_mode_get(sd->button); -} - -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_entry_smart_add), - EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _elm_fileselector_entry_smart_del), - - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_DISABLE), _elm_fileselector_entry_smart_disable), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_THEME_APPLY), _elm_fileselector_entry_smart_theme), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_fileselector_entry_smart_focus_next_manager_is), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT), _elm_fileselector_entry_smart_focus_next), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_fileselector_entry_smart_focus_direction_manager_is), - - EO_OP_FUNC(ELM_OBJ_CONTAINER_ID(ELM_OBJ_CONTAINER_SUB_ID_CONTENT_SET), _elm_fileselector_entry_smart_content_set), - EO_OP_FUNC(ELM_OBJ_CONTAINER_ID(ELM_OBJ_CONTAINER_SUB_ID_CONTENT_GET), _elm_fileselector_entry_smart_content_get), - EO_OP_FUNC(ELM_OBJ_CONTAINER_ID(ELM_OBJ_CONTAINER_SUB_ID_CONTENT_UNSET), _elm_fileselector_entry_smart_content_unset), - - EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_SET), _elm_fileselector_entry_smart_text_set), - EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_GET), _elm_fileselector_entry_smart_text_get), - EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL), _elm_fileselector_entry_smart_sizing_eval), - - 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_GET), _selected_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_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_SET), _window_title_set), - EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_GET), _window_title_get), - EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_SET), _window_size_set), - EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_GET), _window_size_get), - EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_SET), _inwin_mode_set), - EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_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_ENTRY_SUB_ID_WINDOW_TITLE_SET, "Set the title for a given file selector entry widget's window."), - EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_GET, "Get the title set for a given file selector entry widget's window."), - EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_SET, "Set the size of a given file selector entry widget's window, holding the file selector itself."), - EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_GET, "Get the size of a given file selector entry widget's window, holding the file selector itself."), - EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_SET, "Set whether a given file selector entry widget's internal file selector will raise an Elementary 'inner window', instead of a dedicated Elementary window."), - EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_GET, "Get whether a given file selector entry 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_ENTRY_BASE_ID, op_desc, ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_LAST), - NULL, - sizeof(Elm_Fileselector_Entry_Smart_Data), - _class_constructor, - NULL -}; -EO_DEFINE_CLASS(elm_obj_fileselector_entry_class_get, &class_desc, ELM_OBJ_LAYOUT_CLASS, ELM_INTERFACE_FILESELECTOR_CLASS, NULL); + +#include "elc_fileselector_entry.eo.c" diff --git a/legacy/elementary/src/lib/elc_fileselector_entry.eo b/legacy/elementary/src/lib/elc_fileselector_entry.eo new file mode 100644 index 0000000000..1eaff3eb8c --- /dev/null +++ b/legacy/elementary/src/lib/elc_fileselector_entry.eo @@ -0,0 +1,127 @@ +class Elc_Fileselector_Entry (Elm_Layout, Elm_Interface_Fileselector) +{ + legacy_prefix: elm_fileselector_entry; + eo_prefix: elm_obj_fileselector_entry; + properties { + inwin_mode { + set { + /*@ + Set whether a given file selector entry 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_entry_inwin_mode_get() + + @ingroup File_Selector_Entry */ + } + get { + /*@ + Get whether a given file selector entry 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_FALSE + if it will use a dedicated window + + @see elm_fileselector_entry_inwin_mode_set() for more details + + @ingroup File_Selector_Entry */ + } + 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 entry widget's window, + holding the file selector itself. + + @note it will only take any effect if the file selector entry + widget is @b not under "inwin mode". The default size for the + window (when applicable) is 400x400 pixels. + + @see elm_fileselector_entry_window_size_get() + + @ingroup File_Selector_Entry */ + } + get { + /*@ + Get the size of a given file selector entry 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_entry_window_size_set(), for more details + + @ingroup File_Selector_Entry */ + } + 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 entry widget's window + + This will change the window's title, when the file selector pops + out after a click on the entry's button. Those windows have the + default (unlocalized) value of @c "Select a file" as titles. + + @note It will only take any effect if the file selector + entry widget is @b not under "inwin mode". + + @see elm_fileselector_entry_window_title_get() + + @ingroup File_Selector_Entry */ + } + get { + /*@ + Get the title set for a given file selector entry widget's + window + + @return Title of the file selector entry's window + + @see elm_fileselector_entry_window_title_get() for more details + + @ingroup File_Selector_Entry */ + } + values { + const char *title; /*@ The title string */ + } + } + } + implements { + class::constructor; + Eo_Base::constructor; + Evas_Smart::del; + Evas_Smart::add; + Elm_Widget::theme_apply; + Elm_Widget::focus_next_manager_is; + Elm_Widget::focus_next; + Elm_Widget::disable; + Elm_Widget::focus_direction_manager_is; + Elm_Container::content_get; + Elm_Container::content_unset; + Elm_Container::content_set; + Elm_Layout::text_set; + Elm_Layout::text_get; + Elm_Layout::sizing_eval; + Elm_Interface_Fileselector::selected; + Elm_Interface_Fileselector::folder_only; + Elm_Interface_Fileselector::is_save; + Elm_Interface_Fileselector::path; + Elm_Interface_Fileselector::expandable; + } + events { + language,changed; + access,changed; + } + +} diff --git a/legacy/elementary/src/lib/elc_fileselector_entry_eo.h b/legacy/elementary/src/lib/elc_fileselector_entry_eo.h index a5670987b6..b168eceb2e 100644 --- a/legacy/elementary/src/lib/elc_fileselector_entry_eo.h +++ b/legacy/elementary/src/lib/elc_fileselector_entry_eo.h @@ -1,3 +1,6 @@ +#include "elc_fileselector_entry.eo.h" + +#if 0 #define ELM_OBJ_FILESELECTOR_ENTRY_CLASS elm_obj_fileselector_entry_class_get() const Eo_Class *elm_obj_fileselector_entry_class_get(void) EINA_CONST; @@ -105,3 +108,4 @@ enum * @ingroup File_Selector_Entry */ #define elm_obj_fileselector_entry_inwin_mode_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_GET), EO_TYPECHECK(Eina_Bool *, ret) +#endif diff --git a/legacy/elementary/src/lib/elm_widget_fileselector_entry.h b/legacy/elementary/src/lib/elm_widget_fileselector_entry.h index 3f3ee3581f..f1295346ff 100644 --- a/legacy/elementary/src/lib/elm_widget_fileselector_entry.h +++ b/legacy/elementary/src/lib/elm_widget_fileselector_entry.h @@ -20,9 +20,9 @@ /** * Base entry smart data extended with fileselector_entry instance data. */ -typedef struct _Elm_Fileselector_Entry_Smart_Data \ -Elm_Fileselector_Entry_Smart_Data; -struct _Elm_Fileselector_Entry_Smart_Data +typedef struct _Elc_Fileselector_Entry_Data \ +Elc_Fileselector_Entry_Data; +struct _Elc_Fileselector_Entry_Data { Evas_Object *button; Evas_Object *entry; @@ -35,7 +35,7 @@ struct _Elm_Fileselector_Entry_Smart_Data #define ELM_FILESELECTOR_ENTRY_DATA_GET(o, sd) \ - Elm_Fileselector_Entry_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_FILESELECTOR_ENTRY_CLASS) + Elc_Fileselector_Entry_Data * sd = eo_data_scope_get(o, ELM_OBJ_FILESELECTOR_ENTRY_CLASS) #define ELM_FILESELECTOR_ENTRY_DATA_GET_OR_RETURN(o, ptr) \ ELM_FILESELECTOR_ENTRY_DATA_GET(o, ptr); \