From 71358bdeb443575136c8ce9b0b5549ddbb014906 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Mon, 29 Jul 2013 01:31:49 +0900 Subject: [PATCH] elementary/fileselector - added new api. elm_fileselector_entry_entry_get() --- legacy/elementary/src/lib/elc_fileselector.c | 24 +++++++++++++++++++ .../elementary/src/lib/elc_fileselector_eo.h | 13 ++++++++++ .../src/lib/elc_fileselector_legacy.h | 13 ++++++++++ 3 files changed, 50 insertions(+) diff --git a/legacy/elementary/src/lib/elc_fileselector.c b/legacy/elementary/src/lib/elc_fileselector.c index 8d951af5f4..61035f8a11 100644 --- a/legacy/elementary/src/lib/elc_fileselector.c +++ b/legacy/elementary/src/lib/elc_fileselector.c @@ -1272,6 +1272,25 @@ _selected_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) } +EAPI const char * +elm_fileselector_entry_entry_get(const Evas_Object *obj) +{ + ELM_FILESELECTOR_CHECK(obj) NULL; + char *ret; + eo_do((Eo *) obj, elm_obj_fileselector_entry_entry_get(&ret)); + return ret; +} + +static void +_entry_entry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +{ + const char **ret = va_arg(*list, const char **); + *ret = NULL; + Elm_Fileselector_Smart_Data *sd = _pd; + + *ret = elm_object_text_get(sd->path_entry); +} + EAPI Eina_Bool elm_fileselector_selected_set(Evas_Object *obj, const char *_path) @@ -1474,11 +1493,14 @@ _class_constructor(Eo_Class *klass) EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_PATH_SET), _path_set), EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_PATH_GET), _path_get), EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_MODE_SET), _mode_set), + EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_MODE_GET), _mode_get), EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_GET), _selected_get), EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_SET), _selected_set), EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_MIME_TYPES_FILTER_APPEND), _mime_types_filter_append), EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_FILTERS_CLEAR), _filters_clear), + EO_OP_FUNC(ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_ENTRY_ENTRY_GET), _entry_entry_get), + EO_OP_FUNC_SENTINEL }; eo_class_funcs_set(klass, func_desc); @@ -1528,6 +1550,8 @@ static const Eo_Op_Description op_desc[] = { EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_SET, "Set, programmatically, the currently selected file/directory in the given file selector widget."), EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_SUB_ID_MIME_TYPES_FILTER_APPEND, "Append mime type filter"), EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_SUB_ID_FILTERS_CLEAR, "Clear filters"), + EO_OP_DESCRIPTION(ELM_OBJ_FILESELECTOR_SUB_ID_ENTRY_ENTRY_GET, "Get the current entry text in the fileselector. "), + EO_OP_DESCRIPTION_SENTINEL }; static const Eo_Class_Description class_desc = { diff --git a/legacy/elementary/src/lib/elc_fileselector_eo.h b/legacy/elementary/src/lib/elc_fileselector_eo.h index 38485d1e57..88eb48844c 100644 --- a/legacy/elementary/src/lib/elc_fileselector_eo.h +++ b/legacy/elementary/src/lib/elc_fileselector_eo.h @@ -27,6 +27,7 @@ enum ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_SET, ELM_OBJ_FILESELECTOR_SUB_ID_MIME_TYPES_FILTER_APPEND, ELM_OBJ_FILESELECTOR_SUB_ID_FILTERS_CLEAR, + ELM_OBJ_FILESELECTOR_SUB_ID_ENTRY_ENTRY_GET, ELM_OBJ_FILESELECTOR_SUB_ID_LAST }; @@ -234,6 +235,18 @@ enum */ #define elm_obj_fileselector_filters_clear() ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_FILTERS_CLEAR) +/** + * @def elm_obj_fileselector_entry_entry_get + * @since 1.8 + * + * Get the current entry text in the fileselector. + * + * + * @see elm_fileselector_entry_entry_get() + */ +#define elm_obj_fileselector_entry_entry_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_ENTRY_ENTRY_GET), EO_TYPECHECK(const char **, ret) + + /** * @} */ diff --git a/legacy/elementary/src/lib/elc_fileselector_legacy.h b/legacy/elementary/src/lib/elc_fileselector_legacy.h index 6c89635805..df608c88f9 100644 --- a/legacy/elementary/src/lib/elc_fileselector_legacy.h +++ b/legacy/elementary/src/lib/elc_fileselector_legacy.h @@ -277,3 +277,16 @@ EAPI Eina_Bool elm_fileselector_mime_types_filter_append(Evas_Object * @ingroup Fileselector */ EAPI void elm_fileselector_filters_clear(Evas_Object *obj); + +/** + * Get the current entry text in a given file selector widget. + * + * @param obj The file selector object + * @return The currently displayed text in the entry box or NULL on failure. + * + * @see elm_fileselector_is_save_set() + * @since 1.8 + * + * @ingroup Fileselector + */ +EAPI const char *elm_fileselector_entry_entry_get(const Evas_Object *obj);