diff --git a/legacy/elementary/src/lib/elc_fileselector.h b/legacy/elementary/src/lib/elc_fileselector.h index 24d37e1638..8ad6ae930a 100644 --- a/legacy/elementary/src/lib/elc_fileselector.h +++ b/legacy/elementary/src/lib/elc_fileselector.h @@ -52,471 +52,18 @@ * @li @ref fileselector_example */ -#define ELM_OBJ_FILESELECTOR_CLASS elm_obj_fileselector_class_get() - -const Eo_Class *elm_obj_fileselector_class_get(void) EINA_CONST; - -extern EAPI Eo_Op ELM_OBJ_FILESELECTOR_BASE_ID; - -enum -{ - ELM_OBJ_FILESELECTOR_SUB_ID_IS_SAVE_SET, - ELM_OBJ_FILESELECTOR_SUB_ID_IS_SAVE_GET, - ELM_OBJ_FILESELECTOR_SUB_ID_FOLDER_ONLY_SET, - ELM_OBJ_FILESELECTOR_SUB_ID_FOLDER_ONLY_GET, - ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_SET, - ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_GET, - ELM_OBJ_FILESELECTOR_SUB_ID_EXPANDABLE_SET, - ELM_OBJ_FILESELECTOR_SUB_ID_EXPANDABLE_GET, - ELM_OBJ_FILESELECTOR_SUB_ID_PATH_SET, - ELM_OBJ_FILESELECTOR_SUB_ID_PATH_GET, - ELM_OBJ_FILESELECTOR_SUB_ID_MODE_SET, - ELM_OBJ_FILESELECTOR_SUB_ID_MODE_GET, - ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_GET, - ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_SET, - ELM_OBJ_FILESELECTOR_SUB_ID_LAST -}; - -#define ELM_OBJ_FILESELECTOR_ID(sub_id) (ELM_OBJ_FILESELECTOR_BASE_ID + sub_id) - - -/** - * @def elm_obj_fileselector_is_save_set - * @since 1.8 - * - * Enable/disable the file name entry box where the user can type - * in a name for a file, in a given file selector widget - * - * @param[in] is_save - * - * @see elm_fileselector_is_save_set - */ -#define elm_obj_fileselector_is_save_set(is_save) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_IS_SAVE_SET), EO_TYPECHECK(Eina_Bool, is_save) - -/** - * @def elm_obj_fileselector_is_save_get - * @since 1.8 - * - * Get whether the given file selector is in "saving dialog" mode - * - * @param[out] ret - * - * @see elm_fileselector_is_save_get - */ -#define elm_obj_fileselector_is_save_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_IS_SAVE_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_folder_only_set - * @since 1.8 - * - * Enable/disable folder-only view for a given file selector widget - * - * @param[in] only - * - * @see elm_fileselector_folder_only_set - */ -#define elm_obj_fileselector_folder_only_set(only) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_FOLDER_ONLY_SET), EO_TYPECHECK(Eina_Bool, only) - -/** - * @def elm_obj_fileselector_folder_only_get - * @since 1.8 - * - * Get whether folder-only view is set for a given file selector - * - * @param[out] ret - * - * @see elm_fileselector_folder_only_get - */ -#define elm_obj_fileselector_folder_only_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_FOLDER_ONLY_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_buttons_ok_cancel_set - * @since 1.8 - * - * Enable/disable the "ok" and "cancel" buttons on a given file - * - * @param[in] visible - * - * @see elm_fileselector_buttons_ok_cancel_set - */ -#define elm_obj_fileselector_buttons_ok_cancel_set(visible) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_SET), EO_TYPECHECK(Eina_Bool, visible) - -/** - * @def elm_obj_fileselector_buttons_ok_cancel_get - * @since 1.8 - * - * Get whether the "ok" and "cancel" buttons on a given file - * - * @param[out] ret - * - * @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) - -/** - * @def elm_obj_fileselector_expandable_set - * @since 1.8 - * - * Enable/disable a tree view in the given file selector widget, - * if it's in @c #ELM_FILESELECTOR_LIST mode - * - * @param[in] expand - * - * @see elm_fileselector_expandable_set - */ -#define elm_obj_fileselector_expandable_set(expand) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_EXPANDABLE_SET), EO_TYPECHECK(Eina_Bool, expand) - -/** - * @def elm_obj_fileselector_expandable_get - * @since 1.8 - * - * Get whether tree view is enabled for the given file selector - * - * @param[out] ret - * - * @see elm_fileselector_expandable_get - */ -#define elm_obj_fileselector_expandable_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_EXPANDABLE_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_path_set - * @since 1.8 - * - * Set, programmatically, the directory that a given file - * selector widget will display contents from - * - * @param[in] _path - * - * @see elm_fileselector_path_set - */ -#define elm_obj_fileselector_path_set(_path) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_PATH_SET), EO_TYPECHECK(const char *, _path) - -/** - * @def elm_obj_fileselector_path_get - * @since 1.8 - * - * Get the parent directory's path that a given file selector - * selector widget will display contents from - * - * @param[out] ret - * - * @see elm_fileselector_path_get - */ -#define elm_obj_fileselector_path_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_PATH_GET), EO_TYPECHECK(const char **, ret) - -/** - * @def elm_obj_fileselector_mode_set - * @since 1.8 - * - * Set the mode in which a given file selector widget will display - * (layout) file system entries in its view - * - * @param[in] mode - * - * @see elm_fileselector_mode_set - */ -#define elm_obj_fileselector_mode_set(mode) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_MODE_SET), EO_TYPECHECK(Elm_Fileselector_Mode, mode) - -/** - * @def elm_obj_fileselector_mode_get - * @since 1.8 - * - * Get the mode in which a given file selector widget is displaying - * - * @param[out] ret - * - * @see elm_fileselector_mode_get - */ -#define elm_obj_fileselector_mode_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_MODE_GET), EO_TYPECHECK(Elm_Fileselector_Mode *, ret) - -/** - * @def elm_obj_fileselector_selected_get - * @since 1.8 - * - * Get the currently selected item's (full) path, in the given file - * the given file selector widget - * - * @param[out] ret - * - * @see elm_fileselector_selected_get - */ -#define elm_obj_fileselector_selected_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_GET), EO_TYPECHECK(const char **, ret) - -/** - * @def elm_obj_fileselector_selected_set - * @since 1.8 - * - * Set, programmatically, the currently selected file/directory in - * the given file selector widget - * - * @param[in] _path - * @param[out] ret - * - * @see elm_fileselector_selected_set - */ -#define elm_obj_fileselector_selected_set(_path, ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_SET), EO_TYPECHECK(const char *, _path), EO_TYPECHECK(Eina_Bool *, ret) - /** * @addtogroup Fileselector * @{ */ -/** - * Defines how a file selector widget is to layout its contents - * (file system entries). - */ -typedef enum -{ - ELM_FILESELECTOR_LIST = 0, /**< layout as a list */ - ELM_FILESELECTOR_GRID, /**< layout as a grid */ - ELM_FILESELECTOR_LAST /**< sentinel (helper) value, not used */ -} Elm_Fileselector_Mode; - -/** - * Add a new file selector widget to the given parent Elementary - * (container) object - * - * @param parent The parent object - * @return a new file selector widget handle or @c NULL, on errors - * - * This function inserts a new file selector widget on the canvas. - * - * @ingroup Fileselector - */ -EAPI Evas_Object *elm_fileselector_add(Evas_Object *parent); - -/** - * Enable/disable the file name entry box where the user can type - * in a name for a file, in a given file selector widget - * - * @param obj The file selector object - * @param is_save @c EINA_TRUE to make the file selector a "saving - * dialog", @c EINA_FALSE otherwise - * - * Having the entry editable is useful on file saving dialogs on - * applications, where one gives a file name to save contents to, - * in a given directory in the system. This custom file name will - * be reported on the @c "done" smart callback. - * - * @see elm_fileselector_is_save_get() - * - * @ingroup Fileselector - */ -EAPI void elm_fileselector_is_save_set(Evas_Object *obj, Eina_Bool is_save); - -/** - * Get whether the given file selector is in "saving dialog" mode - * - * @param obj The file selector object - * @return @c EINA_TRUE, if the file selector is in "saving dialog" - * mode, @c EINA_FALSE otherwise (and on errors) - * - * @see elm_fileselector_is_save_set() for more details - * - * @ingroup Fileselector - */ -EAPI Eina_Bool elm_fileselector_is_save_get(const Evas_Object *obj); - -/** - * Enable/disable folder-only view for a given file selector widget - * - * @param obj The file selector object - * @param only @c EINA_TRUE to make @p obj only display - * directories, @c EINA_FALSE to make files to be displayed in it - * too - * - * If enabled, the widget's view will only display folder items, - * naturally. - * - * @see elm_fileselector_folder_only_get() - * - * @ingroup Fileselector - */ -EAPI void elm_fileselector_folder_only_set(Evas_Object *obj, Eina_Bool only); - -/** - * Get whether folder-only view is set for a given file selector - * widget - * - * @param obj The file selector object - * @return only @c EINA_TRUE if @p obj is only displaying - * directories, @c EINA_FALSE if files are being displayed in it - * too (and on errors) - * - * @see elm_fileselector_folder_only_get() - * - * @ingroup Fileselector - */ -EAPI Eina_Bool elm_fileselector_folder_only_get(const Evas_Object *obj); - -/** - * Enable/disable the "ok" and "cancel" buttons on a given file - * selector widget - * - * @param obj The file selector object - * @param buttons @c EINA_TRUE to show buttons, @c EINA_FALSE to hide. - * - * @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 - */ -EAPI void elm_fileselector_buttons_ok_cancel_set(Evas_Object *obj, Eina_Bool buttons); - -/** - * Get whether the "ok" and "cancel" buttons on a given file - * selector widget are being shown. - * - * @param obj The file selector object - * @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 - */ -EAPI Eina_Bool elm_fileselector_buttons_ok_cancel_get(const Evas_Object *obj); - -/** - * Enable/disable a tree view in the given file selector widget, - * if it's in @c #ELM_FILESELECTOR_LIST mode - * - * @param obj The file selector object - * @param expand @c EINA_TRUE to enable tree view, @c EINA_FALSE to - * disable - * - * In a tree view, arrows are created on the sides of directories, - * allowing them to expand in place. - * - * @note If it's in other mode, the changes made by this function - * will only be visible when one switches back to "list" mode. - * - * @see elm_fileselector_expandable_get() - * - * @ingroup Fileselector - */ -EAPI void elm_fileselector_expandable_set(Evas_Object *obj, Eina_Bool expand); - -/** - * Get whether tree view is enabled for the given file selector - * widget - * - * @param obj The file selector object - * @return @c EINA_TRUE if @p obj is in tree view, @c EINA_FALSE - * otherwise (and or errors) - * - * @see elm_fileselector_expandable_set() for more details - * - * @ingroup Fileselector - */ -EAPI Eina_Bool elm_fileselector_expandable_get(const Evas_Object *obj); - -/** - * Set, programmatically, the @b directory that a given file - * selector widget will display contents from - * - * @param obj The file selector object - * @param path The path to display in @p obj - * - * This will change the @b directory that @p obj is displaying. It - * will also clear the text entry area on the @p obj object, which - * displays select files' names. - * - * @see elm_fileselector_path_get() - * - * @ingroup Fileselector - */ -EAPI void elm_fileselector_path_set(Evas_Object *obj, const char *path); - -/** - * Get the parent directory's path that a given file selector - * widget is displaying - * - * @param obj The file selector object - * @return The (full) path of the directory the file selector is - * displaying, a @b stringshared string - * - * @see elm_fileselector_path_set() - * - * @ingroup Fileselector - */ -EAPI const char *elm_fileselector_path_get(const Evas_Object *obj); - -/** - * Set, programmatically, the currently selected file/directory in - * the given file selector widget - * - * @param obj The file selector object - * @param path The (full) path to a file or directory - * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. The - * latter case occurs if the directory or file pointed to do not - * exist. - * - * @see elm_fileselector_selected_get() - * - * @ingroup Fileselector - */ -EAPI Eina_Bool elm_fileselector_selected_set(Evas_Object *obj, const char *path); - -/** - * Get the currently selected item's (full) path, in the given file - * selector widget - * - * @param obj The file selector object - * @return The absolute path of the selected item, a @b - * stringshared string - * - * @note Custom editions on @p obj object's text entry, if made, - * will appear on the return string of this function, naturally. - * - * @see elm_fileselector_selected_set() for more details - * - * @ingroup Fileselector - */ -EAPI const char *elm_fileselector_selected_get(const Evas_Object *obj); - -/** - * Set the mode in which a given file selector widget will display - * (layout) file system entries in its view - * - * @param obj The file selector object - * @param mode The mode of the fileselector, being it one of #ELM_FILESELECTOR_LIST - * (default) or #ELM_FILESELECTOR_GRID. The first one, naturally, will display - * the files in a list. The latter will make the widget to display its entries - * in a grid form. - * - * @note By using elm_fileselector_expandable_set(), the user may - * trigger a tree view for that list. - * - * @note If Elementary is built with support of the Ethumb - * thumbnailing library, the second form of view will display - * preview thumbnails of files which it supports. You must have - * elm_need_ethumb() called in your Elementary for thumbnailing to - * work, though. - * - * @see elm_fileselector_expandable_set(). - * @see elm_fileselector_mode_get(). - * - * @ingroup Fileselector - */ -EAPI void elm_fileselector_mode_set(Evas_Object *obj, Elm_Fileselector_Mode mode); - -/** - * Get the mode in which a given file selector widget is displaying - * (layouting) file system entries in its view - * - * @param obj The fileselector object - * @return The mode in which the fileselector is at - * - * @see elm_fileselector_mode_set() for more details - * - * @ingroup Fileselector - */ -EAPI Elm_Fileselector_Mode elm_fileselector_mode_get(const Evas_Object *obj); - +#include "elc_fileselector_common.h" +#ifdef EFL_EO_API_SUPPORT +#include "elc_fileselector_eo.h" +#endif +#ifndef EFL_NOLEGACY_API_SUPPORT +#include "elc_fileselector_legacy.h" +#endif /** * @} */ diff --git a/legacy/elementary/src/lib/elc_fileselector_button.h b/legacy/elementary/src/lib/elc_fileselector_button.h index 91662d8dbf..3f43c5b150 100644 --- a/legacy/elementary/src/lib/elc_fileselector_button.h +++ b/legacy/elementary/src/lib/elc_fileselector_button.h @@ -62,462 +62,12 @@ * @{ */ -#define ELM_OBJ_FILESELECTOR_BUTTON_CLASS elm_obj_fileselector_button_class_get() - -const Eo_Class *elm_obj_fileselector_button_class_get(void) EINA_CONST; - -extern EAPI Eo_Op ELM_OBJ_FILESELECTOR_BUTTON_BASE_ID; - -enum -{ - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_SET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_GET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_SET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_GET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_PATH_SET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_PATH_GET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_EXPANDABLE_SET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_EXPANDABLE_GET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_FOLDER_ONLY_SET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_FOLDER_ONLY_GET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_IS_SAVE_SET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_IS_SAVE_GET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_SET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_GET, - ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_LAST -}; - -#define ELM_OBJ_FILESELECTOR_BUTTON_ID(sub_id) (ELM_OBJ_FILESELECTOR_BUTTON_BASE_ID + sub_id) - - -/** - * @def elm_obj_fileselector_button_window_title_set - * @since 1.8 - * - * Set the title for a given file selector button widget's window - * - * @param[in] title - * - * @see elm_fileselector_button_window_title_set - */ -#define elm_obj_fileselector_button_window_title_set(title) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_SET), EO_TYPECHECK(const char *, title) - -/** - * @def elm_obj_fileselector_button_window_title_get - * @since 1.8 - * - * Get the title for a given file selector button widget's - * - * @param[out] ret - * - * @see elm_fileselector_button_window_title_get - */ -#define elm_obj_fileselector_button_window_title_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_GET), EO_TYPECHECK(const char **, ret) - -/** - * @def elm_obj_fileselector_button_window_size_set - * @since 1.8 - * - * Set the size of a given file selector button widget's window, - * holding the file selector itself. - * - * @param[in] width - * @param[in] height - * - * @see elm_fileselector_button_window_size_set - */ -#define elm_obj_fileselector_button_window_size_set(width, height) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_SET), EO_TYPECHECK(Evas_Coord, width), EO_TYPECHECK(Evas_Coord, height) - -/** - * @def elm_obj_fileselector_button_window_size_get - * @since 1.8 - * - * Get the size of a given file selector button widget's window, - * holding the file selector itself. - * - * @param[out] width - * @param[out] height - * - * @see elm_fileselector_button_window_size_get - */ -#define elm_obj_fileselector_button_window_size_get(width, height) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_GET), EO_TYPECHECK(Evas_Coord *, width), EO_TYPECHECK(Evas_Coord *, height) - -/** - * @def elm_obj_fileselector_button_path_set - * @since 1.8 - * - * Set the initial file system path for a given file selector - * - * @param[in] path - * - * @see elm_fileselector_button_path_set - */ -#define elm_obj_fileselector_button_path_set(path) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_PATH_SET), EO_TYPECHECK(const char *, path) - -/** - * @def elm_obj_fileselector_button_path_get - * @since 1.8 - * - * Get the initial file system path set for a given file selector - * - * @param[out] ret - * - * @see elm_fileselector_button_path_get - */ -#define elm_obj_fileselector_button_path_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_PATH_GET), EO_TYPECHECK(const char **, ret) - -/** - * @def elm_obj_fileselector_button_expandable_set - * @since 1.8 - * - * Enable/disable a tree view in the given file selector button - * - * @param[in] value - * - * @see elm_fileselector_button_expandable_set - */ -#define elm_obj_fileselector_button_expandable_set(value) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_EXPANDABLE_SET), EO_TYPECHECK(Eina_Bool, value) - -/** - * @def elm_obj_fileselector_button_expandable_get - * @since 1.8 - * - * Get whether tree view is enabled for the given file selector - * - * @param[out] ret - * - * @see elm_fileselector_button_expandable_get - */ -#define elm_obj_fileselector_button_expandable_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_EXPANDABLE_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_button_folder_only_set - * @since 1.8 - * - * Set whether a given file selector button widget's internal file - * selector is to display folders only or the directory contents, - * as well. - * - * @param[in] value - * - * @see elm_fileselector_button_folder_only_set - */ -#define elm_obj_fileselector_button_folder_only_set(value) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_FOLDER_ONLY_SET), EO_TYPECHECK(Eina_Bool, value) - -/** - * @def elm_obj_fileselector_button_folder_only_get - * @since 1.8 - * - * Get whether a given file selector button widget's internal file - * selector is displaying folders only or the directory contents, - * as well. - * - * @param[out] ret - * - * @see elm_fileselector_button_folder_only_get - */ -#define elm_obj_fileselector_button_folder_only_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_FOLDER_ONLY_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_button_is_save_set - * @since 1.8 - * - * Enable/disable the file name entry box where the user can type - * - * @param[in] value - * - * @see elm_fileselector_button_is_save_set - */ -#define elm_obj_fileselector_button_is_save_set(value) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_IS_SAVE_SET), EO_TYPECHECK(Eina_Bool, value) - -/** - * @def elm_obj_fileselector_button_is_save_get - * @since 1.8 - * - * Get whether the given file selector button widget's internal - * file selector is in "saving dialog" mode - * - * @param[out] ret - * - * @see elm_fileselector_button_is_save_get - */ -#define elm_obj_fileselector_button_is_save_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_IS_SAVE_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_button_inwin_mode_set - * @since 1.8 - * - * 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 won't. - * - * @param[in] value - * - * @see elm_fileselector_button_inwin_mode_set - */ -#define elm_obj_fileselector_button_inwin_mode_set(value) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_SET), EO_TYPECHECK(Eina_Bool, value) - -/** - * @def elm_obj_fileselector_button_inwin_mode_get - * @since 1.8 - * - * Get whether a given file selector button widget's internal file - * selector will raise an Elementary "inner window", instead of a - * dedicated Elementary window. - * - * @param[out] ret - * - * @see elm_fileselector_button_inwin_mode_get - */ -#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) - -/** - * Add a new file selector button widget to the given parent - * Elementary (container) object - * - * @param parent The parent object - * @return a new file selector button widget handle or @c NULL, on - * errors - * - * @ingroup File_Selector_Button - */ -EAPI Evas_Object *elm_fileselector_button_add(Evas_Object *parent); - -/** - * Set the title for a given file selector button widget's window - * - * @param obj The file selector button widget - * @param title The title string - * - * 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 - */ -EAPI void elm_fileselector_button_window_title_set(Evas_Object *obj, const char *title); - -/** - * Get the title for a given file selector button widget's - * window - * - * @param obj The file selector button widget - * @return Title of the file selector button's window - * - * @see elm_fileselector_button_window_title_get() for more details - * - * @ingroup File_Selector_Button - */ -EAPI const char *elm_fileselector_button_window_title_get(const Evas_Object *obj); - -/** - * Set the size of a given file selector button widget's window, - * holding the file selector itself. - * - * @param obj The file selector button widget - * @param width The window's width - * @param height The window's height - * - * @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 - */ -EAPI void elm_fileselector_button_window_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height); - -/** - * Get the size of a given file selector button widget's window, - * holding the file selector itself. - * - * @param obj The file selector button widget - * @param width Pointer into which to store the width value - * @param height Pointer into which to store the height value - * - * @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 - */ -EAPI void elm_fileselector_button_window_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height); - -/** - * Set the initial file system path for a given file selector - * button widget - * - * @param obj The file selector button widget - * @param path The path string - * - * It must be a directory path, which will have the contents - * displayed initially in the file selector's view, when invoked - * from @p obj. The default initial path is the @c "HOME" - * environment variable's value. - * - * @see elm_fileselector_button_path_get() - * - * @ingroup File_Selector_Button - */ -EAPI void elm_fileselector_button_path_set(Evas_Object *obj, const char *path); - -/** - * Get the initial file system path set for a given file selector - * button widget - * - * @param obj The file selector button widget - * @return path The path string - * - * @see elm_fileselector_button_path_set() for more details - * - * @ingroup File_Selector_Button - */ -EAPI const char *elm_fileselector_button_path_get(const Evas_Object *obj); - -/** - * Enable/disable a tree view in the given file selector button - * widget's internal file selector - * - * @param obj The file selector button widget - * @param value @c EINA_TRUE to enable tree view, @c EINA_FALSE to - * disable - * - * This has the same effect as elm_fileselector_expandable_set(), - * but now applied to a file selector button's internal file - * selector. - * - * @note There's no way to put a file selector button's internal - * file selector in "grid mode", as one may do with "pure" file - * selectors. - * - * @see elm_fileselector_expandable_get() - * - * @ingroup File_Selector_Button - */ -EAPI void elm_fileselector_button_expandable_set(Evas_Object *obj, Eina_Bool value); - -/** - * Get whether tree view is enabled for the given file selector - * button widget's internal file selector - * - * @param obj The file selector button widget - * @return @c EINA_TRUE if @p obj widget's internal file selector - * is in tree view, @c EINA_FALSE otherwise (and or errors) - * - * @see elm_fileselector_expandable_set() for more details - * - * @ingroup File_Selector_Button - */ -EAPI Eina_Bool elm_fileselector_button_expandable_get(const Evas_Object *obj); - -/** - * Set whether a given file selector button widget's internal file - * selector is to display folders only or the directory contents, - * as well. - * - * @param obj The file selector button widget - * @param value @c EINA_TRUE to make @p obj widget's internal file - * selector only display directories, @c EINA_FALSE to make files - * to be displayed in it too - * - * This has the same effect as elm_fileselector_folder_only_set(), - * but now applied to a file selector button's internal file - * selector. - * - * @see elm_fileselector_folder_only_get() - * - * @ingroup File_Selector_Button - */ -EAPI void elm_fileselector_button_folder_only_set(Evas_Object *obj, Eina_Bool value); - -/** - * Get whether a given file selector button widget's internal file - * selector is displaying folders only or the directory contents, - * as well. - * - * @param obj The file selector button widget - * @return @c EINA_TRUE if @p obj widget's internal file - * selector is only displaying directories, @c EINA_FALSE if files - * are being displayed in it too (and on errors) - * - * @see elm_fileselector_button_folder_only_set() for more details - * - * @ingroup File_Selector_Button - */ -EAPI Eina_Bool elm_fileselector_button_folder_only_get(const Evas_Object *obj); - -/** - * Enable/disable the file name entry box where the user can type - * in a name for a file, in a given file selector button widget's - * internal file selector. - * - * @param obj The file selector button widget - * @param value @c EINA_TRUE to make @p obj widget's internal - * file selector a "saving dialog", @c EINA_FALSE otherwise - * - * This has the same effect as elm_fileselector_is_save_set(), - * but now applied to a file selector button's internal file - * selector. - * - * @see elm_fileselector_is_save_get() - * - * @ingroup File_Selector_Button - */ -EAPI void elm_fileselector_button_is_save_set(Evas_Object *obj, Eina_Bool value); - -/** - * Get whether the given file selector button widget's internal - * file selector is in "saving dialog" mode - * - * @param obj The file selector button widget - * @return @c EINA_TRUE, if @p obj widget's internal file selector - * is in "saving dialog" mode, @c EINA_FALSE otherwise (and on - * errors) - * - * @see elm_fileselector_button_is_save_set() for more details - * - * @ingroup File_Selector_Button - */ -EAPI Eina_Bool elm_fileselector_button_is_save_get(const Evas_Object *obj); - -/** - * 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 won't. - * - * @param obj The file selector button widget - * @param value @c EINA_TRUE to make it use an inner window, @c - * EINA_TRUE to make it use a dedicated window - * - * @see elm_win_inwin_add() for more information on inner windows - * @see elm_fileselector_button_inwin_mode_get() - * - * @ingroup File_Selector_Button - */ -EAPI void elm_fileselector_button_inwin_mode_set(Evas_Object *obj, Eina_Bool value); - -/** - * Get whether a given file selector button widget's internal file - * selector will raise an Elementary "inner window", instead of a - * dedicated Elementary window. - * - * @param obj The file selector button widget - * @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 - */ -EAPI Eina_Bool elm_fileselector_button_inwin_mode_get(const Evas_Object *obj); - +#ifdef EFL_EO_API_SUPPORT +#include "elc_fileselector_button_eo.h" +#endif +#ifndef EFL_NOLEGACY_API_SUPPORT +#include "elc_fileselector_button_legacy.h" +#endif /** * @} */ diff --git a/legacy/elementary/src/lib/elc_fileselector_button_eo.h b/legacy/elementary/src/lib/elc_fileselector_button_eo.h new file mode 100644 index 0000000000..bfa8d25d67 --- /dev/null +++ b/legacy/elementary/src/lib/elc_fileselector_button_eo.h @@ -0,0 +1,236 @@ +#define ELM_OBJ_FILESELECTOR_BUTTON_CLASS elm_obj_fileselector_button_class_get() + +const Eo_Class *elm_obj_fileselector_button_class_get(void) EINA_CONST; + +extern EAPI Eo_Op ELM_OBJ_FILESELECTOR_BUTTON_BASE_ID; + +enum +{ + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_SET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_GET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_SET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_GET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_PATH_SET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_PATH_GET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_EXPANDABLE_SET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_EXPANDABLE_GET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_FOLDER_ONLY_SET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_FOLDER_ONLY_GET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_IS_SAVE_SET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_IS_SAVE_GET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_SET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_GET, + ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_LAST +}; + +#define ELM_OBJ_FILESELECTOR_BUTTON_ID(sub_id) (ELM_OBJ_FILESELECTOR_BUTTON_BASE_ID + sub_id) + + +/** + * @def elm_obj_fileselector_button_window_title_set + * @since 1.8 + * + * Set the title for a given file selector button widget's window + * + * @param[in] title + * + * @see elm_fileselector_button_window_title_set + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_window_title_set(title) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_SET), EO_TYPECHECK(const char *, title) + +/** + * @def elm_obj_fileselector_button_window_title_get + * @since 1.8 + * + * Get the title for a given file selector button widget's + * + * @param[out] ret + * + * @see elm_fileselector_button_window_title_get + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_window_title_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_TITLE_GET), EO_TYPECHECK(const char **, ret) + +/** + * @def elm_obj_fileselector_button_window_size_set + * @since 1.8 + * + * Set the size of a given file selector button widget's window, + * holding the file selector itself. + * + * @param[in] width + * @param[in] height + * + * @see elm_fileselector_button_window_size_set + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_window_size_set(width, height) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_SET), EO_TYPECHECK(Evas_Coord, width), EO_TYPECHECK(Evas_Coord, height) + +/** + * @def elm_obj_fileselector_button_window_size_get + * @since 1.8 + * + * Get the size of a given file selector button widget's window, + * holding the file selector itself. + * + * @param[out] width + * @param[out] height + * + * @see elm_fileselector_button_window_size_get + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_window_size_get(width, height) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_WINDOW_SIZE_GET), EO_TYPECHECK(Evas_Coord *, width), EO_TYPECHECK(Evas_Coord *, height) + +/** + * @def elm_obj_fileselector_button_path_set + * @since 1.8 + * + * Set the initial file system path for a given file selector + * + * @param[in] path + * + * @see elm_fileselector_button_path_set + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_path_set(path) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_PATH_SET), EO_TYPECHECK(const char *, path) + +/** + * @def elm_obj_fileselector_button_path_get + * @since 1.8 + * + * Get the initial file system path set for a given file selector + * + * @param[out] ret + * + * @see elm_fileselector_button_path_get + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_path_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_PATH_GET), EO_TYPECHECK(const char **, ret) + +/** + * @def elm_obj_fileselector_button_expandable_set + * @since 1.8 + * + * Enable/disable a tree view in the given file selector button + * + * @param[in] value + * + * @see elm_fileselector_button_expandable_set + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_expandable_set(value) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_EXPANDABLE_SET), EO_TYPECHECK(Eina_Bool, value) + +/** + * @def elm_obj_fileselector_button_expandable_get + * @since 1.8 + * + * Get whether tree view is enabled for the given file selector + * + * @param[out] ret + * + * @see elm_fileselector_button_expandable_get + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_expandable_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_EXPANDABLE_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_button_folder_only_set + * @since 1.8 + * + * Set whether a given file selector button widget's internal file + * selector is to display folders only or the directory contents, + * as well. + * + * @param[in] value + * + * @see elm_fileselector_button_folder_only_set + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_folder_only_set(value) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_FOLDER_ONLY_SET), EO_TYPECHECK(Eina_Bool, value) + +/** + * @def elm_obj_fileselector_button_folder_only_get + * @since 1.8 + * + * Get whether a given file selector button widget's internal file + * selector is displaying folders only or the directory contents, + * as well. + * + * @param[out] ret + * + * @see elm_fileselector_button_folder_only_get + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_folder_only_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_FOLDER_ONLY_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_button_is_save_set + * @since 1.8 + * + * Enable/disable the file name entry box where the user can type + * + * @param[in] value + * + * @see elm_fileselector_button_is_save_set + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_is_save_set(value) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_IS_SAVE_SET), EO_TYPECHECK(Eina_Bool, value) + +/** + * @def elm_obj_fileselector_button_is_save_get + * @since 1.8 + * + * Get whether the given file selector button widget's internal + * file selector is in "saving dialog" mode + * + * @param[out] ret + * + * @see elm_fileselector_button_is_save_get + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_is_save_get(ret) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_IS_SAVE_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_button_inwin_mode_set + * @since 1.8 + * + * 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 won't. + * + * @param[in] value + * + * @see elm_fileselector_button_inwin_mode_set + * + * @ingroup File_Selector_Button + */ +#define elm_obj_fileselector_button_inwin_mode_set(value) ELM_OBJ_FILESELECTOR_BUTTON_ID(ELM_OBJ_FILESELECTOR_BUTTON_SUB_ID_INWIN_MODE_SET), EO_TYPECHECK(Eina_Bool, value) + +/** + * @def elm_obj_fileselector_button_inwin_mode_get + * @since 1.8 + * + * Get whether a given file selector button widget's internal file + * selector will raise an Elementary "inner window", instead of a + * dedicated Elementary window. + * + * @param[out] ret + * + * @see elm_fileselector_button_inwin_mode_get + * + * @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) diff --git a/legacy/elementary/src/lib/elc_fileselector_button_legacy.h b/legacy/elementary/src/lib/elc_fileselector_button_legacy.h new file mode 100644 index 0000000000..86f5b28e4d --- /dev/null +++ b/legacy/elementary/src/lib/elc_fileselector_button_legacy.h @@ -0,0 +1,246 @@ +/** + * Add a new file selector button widget to the given parent + * Elementary (container) object + * + * @param parent The parent object + * @return a new file selector button widget handle or @c NULL, on + * errors + * + * @ingroup File_Selector_Button + */ +EAPI Evas_Object *elm_fileselector_button_add(Evas_Object *parent); + +/** + * Set the title for a given file selector button widget's window + * + * @param obj The file selector button widget + * @param title The title string + * + * 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 + */ +EAPI void elm_fileselector_button_window_title_set(Evas_Object *obj, const char *title); + +/** + * Get the title for a given file selector button widget's + * window + * + * @param obj The file selector button widget + * @return Title of the file selector button's window + * + * @see elm_fileselector_button_window_title_get() for more details + * + * @ingroup File_Selector_Button + */ +EAPI const char *elm_fileselector_button_window_title_get(const Evas_Object *obj); + +/** + * Set the size of a given file selector button widget's window, + * holding the file selector itself. + * + * @param obj The file selector button widget + * @param width The window's width + * @param height The window's height + * + * @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 + */ +EAPI void elm_fileselector_button_window_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height); + +/** + * Get the size of a given file selector button widget's window, + * holding the file selector itself. + * + * @param obj The file selector button widget + * @param width Pointer into which to store the width value + * @param height Pointer into which to store the height value + * + * @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 + */ +EAPI void elm_fileselector_button_window_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height); + +/** + * Set the initial file system path for a given file selector + * button widget + * + * @param obj The file selector button widget + * @param path The path string + * + * It must be a directory path, which will have the contents + * displayed initially in the file selector's view, when invoked + * from @p obj. The default initial path is the @c "HOME" + * environment variable's value. + * + * @see elm_fileselector_button_path_get() + * + * @ingroup File_Selector_Button + */ +EAPI void elm_fileselector_button_path_set(Evas_Object *obj, const char *path); + +/** + * Get the initial file system path set for a given file selector + * button widget + * + * @param obj The file selector button widget + * @return path The path string + * + * @see elm_fileselector_button_path_set() for more details + * + * @ingroup File_Selector_Button + */ +EAPI const char *elm_fileselector_button_path_get(const Evas_Object *obj); + +/** + * Enable/disable a tree view in the given file selector button + * widget's internal file selector + * + * @param obj The file selector button widget + * @param value @c EINA_TRUE to enable tree view, @c EINA_FALSE to + * disable + * + * This has the same effect as elm_fileselector_expandable_set(), + * but now applied to a file selector button's internal file + * selector. + * + * @note There's no way to put a file selector button's internal + * file selector in "grid mode", as one may do with "pure" file + * selectors. + * + * @see elm_fileselector_expandable_get() + * + * @ingroup File_Selector_Button + */ +EAPI void elm_fileselector_button_expandable_set(Evas_Object *obj, Eina_Bool value); + +/** + * Get whether tree view is enabled for the given file selector + * button widget's internal file selector + * + * @param obj The file selector button widget + * @return @c EINA_TRUE if @p obj widget's internal file selector + * is in tree view, @c EINA_FALSE otherwise (and or errors) + * + * @see elm_fileselector_expandable_set() for more details + * + * @ingroup File_Selector_Button + */ +EAPI Eina_Bool elm_fileselector_button_expandable_get(const Evas_Object *obj); + +/** + * Set whether a given file selector button widget's internal file + * selector is to display folders only or the directory contents, + * as well. + * + * @param obj The file selector button widget + * @param value @c EINA_TRUE to make @p obj widget's internal file + * selector only display directories, @c EINA_FALSE to make files + * to be displayed in it too + * + * This has the same effect as elm_fileselector_folder_only_set(), + * but now applied to a file selector button's internal file + * selector. + * + * @see elm_fileselector_folder_only_get() + * + * @ingroup File_Selector_Button + */ +EAPI void elm_fileselector_button_folder_only_set(Evas_Object *obj, Eina_Bool value); + +/** + * Get whether a given file selector button widget's internal file + * selector is displaying folders only or the directory contents, + * as well. + * + * @param obj The file selector button widget + * @return @c EINA_TRUE if @p obj widget's internal file + * selector is only displaying directories, @c EINA_FALSE if files + * are being displayed in it too (and on errors) + * + * @see elm_fileselector_button_folder_only_set() for more details + * + * @ingroup File_Selector_Button + */ +EAPI Eina_Bool elm_fileselector_button_folder_only_get(const Evas_Object *obj); + +/** + * Enable/disable the file name entry box where the user can type + * in a name for a file, in a given file selector button widget's + * internal file selector. + * + * @param obj The file selector button widget + * @param value @c EINA_TRUE to make @p obj widget's internal + * file selector a "saving dialog", @c EINA_FALSE otherwise + * + * This has the same effect as elm_fileselector_is_save_set(), + * but now applied to a file selector button's internal file + * selector. + * + * @see elm_fileselector_is_save_get() + * + * @ingroup File_Selector_Button + */ +EAPI void elm_fileselector_button_is_save_set(Evas_Object *obj, Eina_Bool value); + +/** + * Get whether the given file selector button widget's internal + * file selector is in "saving dialog" mode + * + * @param obj The file selector button widget + * @return @c EINA_TRUE, if @p obj widget's internal file selector + * is in "saving dialog" mode, @c EINA_FALSE otherwise (and on + * errors) + * + * @see elm_fileselector_button_is_save_set() for more details + * + * @ingroup File_Selector_Button + */ +EAPI Eina_Bool elm_fileselector_button_is_save_get(const Evas_Object *obj); + +/** + * 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 won't. + * + * @param obj The file selector button widget + * @param value @c EINA_TRUE to make it use an inner window, @c + * EINA_TRUE to make it use a dedicated window + * + * @see elm_win_inwin_add() for more information on inner windows + * @see elm_fileselector_button_inwin_mode_get() + * + * @ingroup File_Selector_Button + */ +EAPI void elm_fileselector_button_inwin_mode_set(Evas_Object *obj, Eina_Bool value); + +/** + * Get whether a given file selector button widget's internal file + * selector will raise an Elementary "inner window", instead of a + * dedicated Elementary window. + * + * @param obj The file selector button widget + * @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 + */ +EAPI Eina_Bool elm_fileselector_button_inwin_mode_get(const Evas_Object *obj); diff --git a/legacy/elementary/src/lib/elc_fileselector_common.h b/legacy/elementary/src/lib/elc_fileselector_common.h new file mode 100644 index 0000000000..b6831d223a --- /dev/null +++ b/legacy/elementary/src/lib/elc_fileselector_common.h @@ -0,0 +1,11 @@ +/** + * Defines how a file selector widget is to layout its contents + * (file system entries). + */ +typedef enum +{ + ELM_FILESELECTOR_LIST = 0, /**< layout as a list */ + ELM_FILESELECTOR_GRID, /**< layout as a grid */ + ELM_FILESELECTOR_LAST /**< sentinel (helper) value, not used */ +} Elm_Fileselector_Mode; + diff --git a/legacy/elementary/src/lib/elc_fileselector_entry.h b/legacy/elementary/src/lib/elc_fileselector_entry.h index 92303167bb..88cdd6c53b 100644 --- a/legacy/elementary/src/lib/elc_fileselector_entry.h +++ b/legacy/elementary/src/lib/elc_fileselector_entry.h @@ -74,517 +74,12 @@ * @{ */ -#define ELM_OBJ_FILESELECTOR_ENTRY_CLASS elm_obj_fileselector_entry_class_get() - -const Eo_Class *elm_obj_fileselector_entry_class_get(void) EINA_CONST; - -extern EAPI Eo_Op ELM_OBJ_FILESELECTOR_ENTRY_BASE_ID; - -enum -{ - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_SET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_GET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_SET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_GET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_SET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_GET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_SET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_GET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_SET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_GET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_SET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_GET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_SET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_GET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_SET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_GET, - ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_LAST -}; - -#define ELM_OBJ_FILESELECTOR_ENTRY_ID(sub_id) (ELM_OBJ_FILESELECTOR_ENTRY_BASE_ID + sub_id) - - -/** - * @def elm_obj_fileselector_entry_selected_set - * @since 1.8 - * - * Set the initial file system path for a given file selector entry - * - * @param[in] path - * - * @see elm_fileselector_entry_selected_set - */ -#define elm_obj_fileselector_entry_selected_set(path) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_SET), EO_TYPECHECK(const char *, path) - -/** - * @def elm_obj_fileselector_entry_selected_get - * @since 1.8 - * - * Get the parent directory's path to the latest file selection on - * a given filer selector entry widget - * - * @param[out] ret - * - * @see elm_fileselector_entry_selected_get - */ -#define elm_obj_fileselector_entry_selected_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_GET), EO_TYPECHECK(const char **, ret) - -/** - * @def elm_obj_fileselector_entry_window_title_set - * @since 1.8 - * - * Set the title for a given file selector entry widget's window - * - * @param[in] title - * - * @see elm_fileselector_entry_window_title_set - */ -#define elm_obj_fileselector_entry_window_title_set(title) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_SET), EO_TYPECHECK(const char *, title) - -/** - * @def elm_obj_fileselector_entry_window_title_get - * @since 1.8 - * - * Get the title set for a given file selector entry widget's - * window - * - * @param[out] ret - * - * @see elm_fileselector_entry_window_title_get - */ -#define elm_obj_fileselector_entry_window_title_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_GET), EO_TYPECHECK(const char **, ret) - -/** - * @def elm_obj_fileselector_entry_window_size_set - * @since 1.8 - * - * Set the size of a given file selector entry widget's window, - * holding the file selector itself. - * - * @param[in] width - * @param[in] height - * - * @see elm_fileselector_entry_window_size_set - */ -#define elm_obj_fileselector_entry_window_size_set(width, height) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_SET), EO_TYPECHECK(Evas_Coord, width), EO_TYPECHECK(Evas_Coord, height) - -/** - * @def elm_obj_fileselector_entry_window_size_get - * @since 1.8 - * - * Get the size of a given file selector entry widget's window, - * holding the file selector itself. - * - * @param[out] width - * @param[out] height - * - * @see elm_fileselector_entry_window_size_get - */ -#define elm_obj_fileselector_entry_window_size_get(width, height) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_GET), EO_TYPECHECK(Evas_Coord *, width), EO_TYPECHECK(Evas_Coord *, height) - -/** - * @def elm_obj_fileselector_entry_path_set - * @since 1.8 - * - * Set the initial file system path and the entry's path string for - * a given file selector entry widget - * - * @param[in] path - * - * @see elm_fileselector_entry_path_set - */ -#define elm_obj_fileselector_entry_path_set(path) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_SET), EO_TYPECHECK(const char *, path) - -/** - * @def elm_obj_fileselector_entry_path_get - * @since 1.8 - * - * Get the entry's path string for a given file selector entry - * widget - * - * @param[out] ret - * - * @see elm_fileselector_entry_path_get - */ -#define elm_obj_fileselector_entry_path_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_GET), EO_TYPECHECK(const char **, ret) - -/** - * @def elm_obj_fileselector_entry_expandable_set - * @since 1.8 - * - * Enable/disable a tree view in the given file selector entry - * - * @param[in] value - * - * @see elm_fileselector_entry_expandable_set - */ -#define elm_obj_fileselector_entry_expandable_set(value) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_SET), EO_TYPECHECK(Eina_Bool, value) - -/** - * @def elm_obj_fileselector_entry_expandable_get - * @since 1.8 - * - * Get whether tree view is enabled for the given file selector - * - * @param[out] ret - * - * @see elm_fileselector_entry_expandable_get - */ -#define elm_obj_fileselector_entry_expandable_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_entry_folder_only_set - * @since 1.8 - * - * Set whether a given file selector entry widget's internal file - * selector is to display folders only or the directory contents, - * as well. - * - * @param[in] value - * - * @see elm_fileselector_entry_folder_only_set - */ -#define elm_obj_fileselector_entry_folder_only_set(value) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_SET), EO_TYPECHECK(Eina_Bool, value) - -/** - * @def elm_obj_fileselector_entry_folder_only_get - * @since 1.8 - * - * Get whether a given file selector entry widget's internal file - * selector is displaying folders only or the directory contents, - * as well. - * - * @param[out] ret - * - * @see elm_fileselector_entry_folder_only_get - */ -#define elm_obj_fileselector_entry_folder_only_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_entry_is_save_set - * @since 1.8 - * - * Enable/disable the file name entry box where the user can type - * - * @param[in] value - * - * @see elm_fileselector_entry_is_save_set - */ -#define elm_obj_fileselector_entry_is_save_set(value) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_SET), EO_TYPECHECK(Eina_Bool, value) - -/** - * @def elm_obj_fileselector_entry_is_save_get - * @since 1.8 - * - * Get whether the given file selector entry widget's internal - * - * @param[out] ret - * - * @see elm_fileselector_entry_is_save_get - */ -#define elm_obj_fileselector_entry_is_save_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_GET), EO_TYPECHECK(Eina_Bool *, ret) - -/** - * @def elm_obj_fileselector_entry_inwin_mode_set - * @since 1.8 - * - * Set whether a given file selector entry widget's internal file - * - * @param[in] value - * - * @see elm_fileselector_entry_inwin_mode_set - */ -#define elm_obj_fileselector_entry_inwin_mode_set(value) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_SET), EO_TYPECHECK(Eina_Bool, value) - -/** - * @def elm_obj_fileselector_entry_inwin_mode_get - * @since 1.8 - * - * Get whether a given file selector entry widget's internal file - * - * @param[out] ret - * - * @see elm_fileselector_entry_inwin_mode_get - */ -#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) -/** - * Add a new file selector entry widget to the given parent - * Elementary (container) object - * - * @param parent The parent object - * @return a new file selector entry widget handle or @c NULL, on - * errors - * - * @ingroup File_Selector_Entry - */ -EAPI Evas_Object *elm_fileselector_entry_add(Evas_Object *parent); - -/** - * Set the title for a given file selector entry widget's window - * - * @param obj The file selector entry widget - * @param title The title string - * - * 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 - */ -EAPI void elm_fileselector_entry_window_title_set(Evas_Object *obj, const char *title); - -/** - * Get the title set for a given file selector entry widget's - * window - * - * @param obj The file selector entry widget - * @return Title of the file selector entry's window - * - * @see elm_fileselector_entry_window_title_get() for more details - * - * @ingroup File_Selector_Entry - */ -EAPI const char *elm_fileselector_entry_window_title_get(const Evas_Object *obj); - -/** - * Set the size of a given file selector entry widget's window, - * holding the file selector itself. - * - * @param obj The file selector entry widget - * @param width The window's width - * @param height The window's height - * - * @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 - */ -EAPI void elm_fileselector_entry_window_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height); - -/** - * Get the size of a given file selector entry widget's window, - * holding the file selector itself. - * - * @param obj The file selector entry widget - * @param width Pointer into which to store the width value - * @param height Pointer into which to store the height value - * - * @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 - */ -EAPI void elm_fileselector_entry_window_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height); - -/** - * Set the initial file system path and the entry's path string for - * a given file selector entry widget - * - * @param obj The file selector entry widget - * @param path The path string - * - * It must be a directory path, which will have the contents - * displayed initially in the file selector's view, when invoked - * from @p obj. The default initial path is the @c "HOME" - * environment variable's value. - * - * @see elm_fileselector_entry_path_get() - * - * @ingroup File_Selector_Entry - */ -EAPI void elm_fileselector_entry_path_set(Evas_Object *obj, const char *path); - -/** - * Get the entry's path string for a given file selector entry - * widget - * - * @param obj The file selector entry widget - * @return path The path string - * - * @see elm_fileselector_entry_path_set() for more details - * - * @ingroup File_Selector_Entry - */ -EAPI const char *elm_fileselector_entry_path_get(const Evas_Object *obj); - -/** - * Enable/disable a tree view in the given file selector entry - * widget's internal file selector - * - * @param obj The file selector entry widget - * @param value @c EINA_TRUE to enable tree view, @c EINA_FALSE to disable - * - * This has the same effect as elm_fileselector_expandable_set(), - * but now applied to a file selector entry's internal file - * selector. - * - * @note There's no way to put a file selector entry's internal - * file selector in "grid mode", as one may do with "pure" file - * selectors. - * - * @see elm_fileselector_expandable_get() - * - * @ingroup File_Selector_Entry - */ -EAPI void elm_fileselector_entry_expandable_set(Evas_Object *obj, Eina_Bool value); - -/** - * Get whether tree view is enabled for the given file selector - * entry widget's internal file selector - * - * @param obj The file selector entry widget - * @return @c EINA_TRUE if @p obj widget's internal file selector - * is in tree view, @c EINA_FALSE otherwise (and or errors) - * - * @see elm_fileselector_expandable_set() for more details - * - * @ingroup File_Selector_Entry - */ -EAPI Eina_Bool elm_fileselector_entry_expandable_get(const Evas_Object *obj); - -/** - * Set whether a given file selector entry widget's internal file - * selector is to display folders only or the directory contents, - * as well. - * - * @param obj The file selector entry widget - * @param value @c EINA_TRUE to make @p obj widget's internal file - * selector only display directories, @c EINA_FALSE to make files - * to be displayed in it too - * - * This has the same effect as elm_fileselector_folder_only_set(), - * but now applied to a file selector entry's internal file - * selector. - * - * @see elm_fileselector_folder_only_get() - * - * @ingroup File_Selector_Entry - */ -EAPI void elm_fileselector_entry_folder_only_set(Evas_Object *obj, Eina_Bool value); - -/** - * Get whether a given file selector entry widget's internal file - * selector is displaying folders only or the directory contents, - * as well. - * - * @param obj The file selector entry widget - * @return @c EINA_TRUE if @p obj widget's internal file - * selector is only displaying directories, @c EINA_FALSE if files - * are being displayed in it too (and on errors) - * - * @see elm_fileselector_entry_folder_only_set() for more details - * - * @ingroup File_Selector_Entry - */ -EAPI Eina_Bool elm_fileselector_entry_folder_only_get(const Evas_Object *obj); - -/** - * Enable/disable the file name entry box where the user can type - * in a name for a file, in a given file selector entry widget's - * internal file selector. - * - * @param obj The file selector entry widget - * @param value @c EINA_TRUE to make @p obj widget's internal - * file selector a "saving dialog", @c EINA_FALSE otherwise - * - * This has the same effect as elm_fileselector_is_save_set(), - * but now applied to a file selector entry's internal file - * selector. - * - * @see elm_fileselector_is_save_get() - * - * @ingroup File_Selector_Entry - */ -EAPI void elm_fileselector_entry_is_save_set(Evas_Object *obj, Eina_Bool value); - -/** - * Get whether the given file selector entry widget's internal - * file selector is in "saving dialog" mode - * - * @param obj The file selector entry widget - * @return @c EINA_TRUE, if @p obj widget's internal file selector - * is in "saving dialog" mode, @c EINA_FALSE otherwise (and on - * errors) - * - * @see elm_fileselector_entry_is_save_set() for more details - * - * @ingroup File_Selector_Entry - */ -EAPI Eina_Bool elm_fileselector_entry_is_save_get(const Evas_Object *obj); - -/** - * 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 won't. - * - * @param obj The file selector entry widget - * @param value @c EINA_TRUE to make it use an inner window, @c - * EINA_FALSE to make it use a dedicated window - * - * @see elm_win_inwin_add() for more information on inner windows - * @see elm_fileselector_entry_inwin_mode_get() - * - * @ingroup File_Selector_Entry - */ -EAPI void elm_fileselector_entry_inwin_mode_set(Evas_Object *obj, Eina_Bool value); - -/** - * Get whether a given file selector entry widget's internal file - * selector will raise an Elementary "inner window", instead of a - * dedicated Elementary window. - * - * @param obj The file selector entry widget - * @return @c EINA_TRUE if will use an inner window, @c EINA_TRUE - * if it will use a dedicated window - * - * @see elm_fileselector_entry_inwin_mode_set() for more details - * - * @ingroup File_Selector_Entry - */ -EAPI Eina_Bool elm_fileselector_entry_inwin_mode_get(const Evas_Object *obj); - -/** - * Set the initial file system path for a given file selector entry - * widget - * - * @param obj The file selector entry widget - * @param path The path string - * - * It must be a directory path, which will have the contents - * displayed initially in the file selector's view, when invoked - * from @p obj. The default initial path is the @c "HOME" - * environment variable's value. - * - * @see elm_fileselector_entry_path_get() - * - * @ingroup File_Selector_Entry - */ -EAPI void elm_fileselector_entry_selected_set(Evas_Object *obj, const char *path); - -/** - * Get the parent directory's path to the latest file selection on - * a given filer selector entry widget - * - * @param obj The file selector object - * @return The (full) path of the directory of the last selection - * on @p obj widget, a @b stringshared string - * - * @see elm_fileselector_entry_path_set() - * - * @ingroup File_Selector_Entry - */ -EAPI const char *elm_fileselector_entry_selected_get(const Evas_Object *obj); - +#ifdef EFL_EO_API_SUPPORT +#include "elc_fileselector_entry_eo.h" +#endif +#ifndef EFL_NOLEGACY_API_SUPPORT +#include "elc_fileselector_entry_legacy.h" +#endif /** * @} */ diff --git a/legacy/elementary/src/lib/elc_fileselector_entry_eo.h b/legacy/elementary/src/lib/elc_fileselector_entry_eo.h new file mode 100644 index 0000000000..459e07a0cb --- /dev/null +++ b/legacy/elementary/src/lib/elc_fileselector_entry_eo.h @@ -0,0 +1,265 @@ +#define ELM_OBJ_FILESELECTOR_ENTRY_CLASS elm_obj_fileselector_entry_class_get() + +const Eo_Class *elm_obj_fileselector_entry_class_get(void) EINA_CONST; + +extern EAPI Eo_Op ELM_OBJ_FILESELECTOR_ENTRY_BASE_ID; + +enum +{ + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_SET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_GET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_SET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_GET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_SET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_GET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_SET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_GET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_SET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_GET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_SET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_GET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_SET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_GET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_SET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_GET, + ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_LAST +}; + +#define ELM_OBJ_FILESELECTOR_ENTRY_ID(sub_id) (ELM_OBJ_FILESELECTOR_ENTRY_BASE_ID + sub_id) + + +/** + * @def elm_obj_fileselector_entry_selected_set + * @since 1.8 + * + * Set the initial file system path for a given file selector entry + * + * @param[in] path + * + * @see elm_fileselector_entry_selected_set + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_selected_set(path) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_SET), EO_TYPECHECK(const char *, path) + +/** + * @def elm_obj_fileselector_entry_selected_get + * @since 1.8 + * + * Get the parent directory's path to the latest file selection on + * a given filer selector entry widget + * + * @param[out] ret + * + * @see elm_fileselector_entry_selected_get + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_selected_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_GET), EO_TYPECHECK(const char **, ret) + +/** + * @def elm_obj_fileselector_entry_window_title_set + * @since 1.8 + * + * Set the title for a given file selector entry widget's window + * + * @param[in] title + * + * @see elm_fileselector_entry_window_title_set + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_window_title_set(title) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_SET), EO_TYPECHECK(const char *, title) + +/** + * @def elm_obj_fileselector_entry_window_title_get + * @since 1.8 + * + * Get the title set for a given file selector entry widget's + * window + * + * @param[out] ret + * + * @see elm_fileselector_entry_window_title_get + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_window_title_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_GET), EO_TYPECHECK(const char **, ret) + +/** + * @def elm_obj_fileselector_entry_window_size_set + * @since 1.8 + * + * Set the size of a given file selector entry widget's window, + * holding the file selector itself. + * + * @param[in] width + * @param[in] height + * + * @see elm_fileselector_entry_window_size_set + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_window_size_set(width, height) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_SET), EO_TYPECHECK(Evas_Coord, width), EO_TYPECHECK(Evas_Coord, height) + +/** + * @def elm_obj_fileselector_entry_window_size_get + * @since 1.8 + * + * Get the size of a given file selector entry widget's window, + * holding the file selector itself. + * + * @param[out] width + * @param[out] height + * + * @see elm_fileselector_entry_window_size_get + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_window_size_get(width, height) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_GET), EO_TYPECHECK(Evas_Coord *, width), EO_TYPECHECK(Evas_Coord *, height) + +/** + * @def elm_obj_fileselector_entry_path_set + * @since 1.8 + * + * Set the initial file system path and the entry's path string for + * a given file selector entry widget + * + * @param[in] path + * + * @see elm_fileselector_entry_path_set + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_path_set(path) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_SET), EO_TYPECHECK(const char *, path) + +/** + * @def elm_obj_fileselector_entry_path_get + * @since 1.8 + * + * Get the entry's path string for a given file selector entry + * widget + * + * @param[out] ret + * + * @see elm_fileselector_entry_path_get + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_path_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_GET), EO_TYPECHECK(const char **, ret) + +/** + * @def elm_obj_fileselector_entry_expandable_set + * @since 1.8 + * + * Enable/disable a tree view in the given file selector entry + * + * @param[in] value + * + * @see elm_fileselector_entry_expandable_set + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_expandable_set(value) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_SET), EO_TYPECHECK(Eina_Bool, value) + +/** + * @def elm_obj_fileselector_entry_expandable_get + * @since 1.8 + * + * Get whether tree view is enabled for the given file selector + * + * @param[out] ret + * + * @see elm_fileselector_entry_expandable_get + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_expandable_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_entry_folder_only_set + * @since 1.8 + * + * Set whether a given file selector entry widget's internal file + * selector is to display folders only or the directory contents, + * as well. + * + * @param[in] value + * + * @see elm_fileselector_entry_folder_only_set + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_folder_only_set(value) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_SET), EO_TYPECHECK(Eina_Bool, value) + +/** + * @def elm_obj_fileselector_entry_folder_only_get + * @since 1.8 + * + * Get whether a given file selector entry widget's internal file + * selector is displaying folders only or the directory contents, + * as well. + * + * @param[out] ret + * + * @see elm_fileselector_entry_folder_only_get + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_folder_only_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_entry_is_save_set + * @since 1.8 + * + * Enable/disable the file name entry box where the user can type + * + * @param[in] value + * + * @see elm_fileselector_entry_is_save_set + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_is_save_set(value) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_SET), EO_TYPECHECK(Eina_Bool, value) + +/** + * @def elm_obj_fileselector_entry_is_save_get + * @since 1.8 + * + * Get whether the given file selector entry widget's internal + * + * @param[out] ret + * + * @see elm_fileselector_entry_is_save_get + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_is_save_get(ret) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_entry_inwin_mode_set + * @since 1.8 + * + * Set whether a given file selector entry widget's internal file + * + * @param[in] value + * + * @see elm_fileselector_entry_inwin_mode_set + * + * @ingroup File_Selector_Entry + */ +#define elm_obj_fileselector_entry_inwin_mode_set(value) ELM_OBJ_FILESELECTOR_ENTRY_ID(ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_SET), EO_TYPECHECK(Eina_Bool, value) + +/** + * @def elm_obj_fileselector_entry_inwin_mode_get + * @since 1.8 + * + * Get whether a given file selector entry widget's internal file + * + * @param[out] ret + * + * @see elm_fileselector_entry_inwin_mode_get + * + * @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) diff --git a/legacy/elementary/src/lib/elc_fileselector_entry_legacy.h b/legacy/elementary/src/lib/elc_fileselector_entry_legacy.h new file mode 100644 index 0000000000..a01855afc9 --- /dev/null +++ b/legacy/elementary/src/lib/elc_fileselector_entry_legacy.h @@ -0,0 +1,278 @@ + +/** + * Add a new file selector entry widget to the given parent + * Elementary (container) object + * + * @param parent The parent object + * @return a new file selector entry widget handle or @c NULL, on + * errors + * + * @ingroup File_Selector_Entry + */ +EAPI Evas_Object *elm_fileselector_entry_add(Evas_Object *parent); + +/** + * Set the title for a given file selector entry widget's window + * + * @param obj The file selector entry widget + * @param title The title string + * + * 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 + */ +EAPI void elm_fileselector_entry_window_title_set(Evas_Object *obj, const char *title); + +/** + * Get the title set for a given file selector entry widget's + * window + * + * @param obj The file selector entry widget + * @return Title of the file selector entry's window + * + * @see elm_fileselector_entry_window_title_get() for more details + * + * @ingroup File_Selector_Entry + */ +EAPI const char *elm_fileselector_entry_window_title_get(const Evas_Object *obj); + +/** + * Set the size of a given file selector entry widget's window, + * holding the file selector itself. + * + * @param obj The file selector entry widget + * @param width The window's width + * @param height The window's height + * + * @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 + */ +EAPI void elm_fileselector_entry_window_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height); + +/** + * Get the size of a given file selector entry widget's window, + * holding the file selector itself. + * + * @param obj The file selector entry widget + * @param width Pointer into which to store the width value + * @param height Pointer into which to store the height value + * + * @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 + */ +EAPI void elm_fileselector_entry_window_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height); + +/** + * Set the initial file system path and the entry's path string for + * a given file selector entry widget + * + * @param obj The file selector entry widget + * @param path The path string + * + * It must be a directory path, which will have the contents + * displayed initially in the file selector's view, when invoked + * from @p obj. The default initial path is the @c "HOME" + * environment variable's value. + * + * @see elm_fileselector_entry_path_get() + * + * @ingroup File_Selector_Entry + */ +EAPI void elm_fileselector_entry_path_set(Evas_Object *obj, const char *path); + +/** + * Get the entry's path string for a given file selector entry + * widget + * + * @param obj The file selector entry widget + * @return path The path string + * + * @see elm_fileselector_entry_path_set() for more details + * + * @ingroup File_Selector_Entry + */ +EAPI const char *elm_fileselector_entry_path_get(const Evas_Object *obj); + +/** + * Enable/disable a tree view in the given file selector entry + * widget's internal file selector + * + * @param obj The file selector entry widget + * @param value @c EINA_TRUE to enable tree view, @c EINA_FALSE to disable + * + * This has the same effect as elm_fileselector_expandable_set(), + * but now applied to a file selector entry's internal file + * selector. + * + * @note There's no way to put a file selector entry's internal + * file selector in "grid mode", as one may do with "pure" file + * selectors. + * + * @see elm_fileselector_expandable_get() + * + * @ingroup File_Selector_Entry + */ +EAPI void elm_fileselector_entry_expandable_set(Evas_Object *obj, Eina_Bool value); + +/** + * Get whether tree view is enabled for the given file selector + * entry widget's internal file selector + * + * @param obj The file selector entry widget + * @return @c EINA_TRUE if @p obj widget's internal file selector + * is in tree view, @c EINA_FALSE otherwise (and or errors) + * + * @see elm_fileselector_expandable_set() for more details + * + * @ingroup File_Selector_Entry + */ +EAPI Eina_Bool elm_fileselector_entry_expandable_get(const Evas_Object *obj); + +/** + * Set whether a given file selector entry widget's internal file + * selector is to display folders only or the directory contents, + * as well. + * + * @param obj The file selector entry widget + * @param value @c EINA_TRUE to make @p obj widget's internal file + * selector only display directories, @c EINA_FALSE to make files + * to be displayed in it too + * + * This has the same effect as elm_fileselector_folder_only_set(), + * but now applied to a file selector entry's internal file + * selector. + * + * @see elm_fileselector_folder_only_get() + * + * @ingroup File_Selector_Entry + */ +EAPI void elm_fileselector_entry_folder_only_set(Evas_Object *obj, Eina_Bool value); + +/** + * Get whether a given file selector entry widget's internal file + * selector is displaying folders only or the directory contents, + * as well. + * + * @param obj The file selector entry widget + * @return @c EINA_TRUE if @p obj widget's internal file + * selector is only displaying directories, @c EINA_FALSE if files + * are being displayed in it too (and on errors) + * + * @see elm_fileselector_entry_folder_only_set() for more details + * + * @ingroup File_Selector_Entry + */ +EAPI Eina_Bool elm_fileselector_entry_folder_only_get(const Evas_Object *obj); + +/** + * Enable/disable the file name entry box where the user can type + * in a name for a file, in a given file selector entry widget's + * internal file selector. + * + * @param obj The file selector entry widget + * @param value @c EINA_TRUE to make @p obj widget's internal + * file selector a "saving dialog", @c EINA_FALSE otherwise + * + * This has the same effect as elm_fileselector_is_save_set(), + * but now applied to a file selector entry's internal file + * selector. + * + * @see elm_fileselector_is_save_get() + * + * @ingroup File_Selector_Entry + */ +EAPI void elm_fileselector_entry_is_save_set(Evas_Object *obj, Eina_Bool value); + +/** + * Get whether the given file selector entry widget's internal + * file selector is in "saving dialog" mode + * + * @param obj The file selector entry widget + * @return @c EINA_TRUE, if @p obj widget's internal file selector + * is in "saving dialog" mode, @c EINA_FALSE otherwise (and on + * errors) + * + * @see elm_fileselector_entry_is_save_set() for more details + * + * @ingroup File_Selector_Entry + */ +EAPI Eina_Bool elm_fileselector_entry_is_save_get(const Evas_Object *obj); + +/** + * 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 won't. + * + * @param obj The file selector entry widget + * @param value @c EINA_TRUE to make it use an inner window, @c + * EINA_FALSE to make it use a dedicated window + * + * @see elm_win_inwin_add() for more information on inner windows + * @see elm_fileselector_entry_inwin_mode_get() + * + * @ingroup File_Selector_Entry + */ +EAPI void elm_fileselector_entry_inwin_mode_set(Evas_Object *obj, Eina_Bool value); + +/** + * Get whether a given file selector entry widget's internal file + * selector will raise an Elementary "inner window", instead of a + * dedicated Elementary window. + * + * @param obj The file selector entry widget + * @return @c EINA_TRUE if will use an inner window, @c EINA_TRUE + * if it will use a dedicated window + * + * @see elm_fileselector_entry_inwin_mode_set() for more details + * + * @ingroup File_Selector_Entry + */ +EAPI Eina_Bool elm_fileselector_entry_inwin_mode_get(const Evas_Object *obj); + +/** + * Set the initial file system path for a given file selector entry + * widget + * + * @param obj The file selector entry widget + * @param path The path string + * + * It must be a directory path, which will have the contents + * displayed initially in the file selector's view, when invoked + * from @p obj. The default initial path is the @c "HOME" + * environment variable's value. + * + * @see elm_fileselector_entry_path_get() + * + * @ingroup File_Selector_Entry + */ +EAPI void elm_fileselector_entry_selected_set(Evas_Object *obj, const char *path); + +/** + * Get the parent directory's path to the latest file selection on + * a given filer selector entry widget + * + * @param obj The file selector object + * @return The (full) path of the directory of the last selection + * on @p obj widget, a @b stringshared string + * + * @see elm_fileselector_entry_path_set() + * + * @ingroup File_Selector_Entry + */ +EAPI const char *elm_fileselector_entry_selected_get(const Evas_Object *obj); diff --git a/legacy/elementary/src/lib/elc_fileselector_eo.h b/legacy/elementary/src/lib/elc_fileselector_eo.h new file mode 100644 index 0000000000..3e9b14d21a --- /dev/null +++ b/legacy/elementary/src/lib/elc_fileselector_eo.h @@ -0,0 +1,203 @@ +#define ELM_OBJ_FILESELECTOR_CLASS elm_obj_fileselector_class_get() + +const Eo_Class *elm_obj_fileselector_class_get(void) EINA_CONST; + +extern EAPI Eo_Op ELM_OBJ_FILESELECTOR_BASE_ID; + +enum +{ + ELM_OBJ_FILESELECTOR_SUB_ID_IS_SAVE_SET, + ELM_OBJ_FILESELECTOR_SUB_ID_IS_SAVE_GET, + ELM_OBJ_FILESELECTOR_SUB_ID_FOLDER_ONLY_SET, + ELM_OBJ_FILESELECTOR_SUB_ID_FOLDER_ONLY_GET, + ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_SET, + ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_GET, + ELM_OBJ_FILESELECTOR_SUB_ID_EXPANDABLE_SET, + ELM_OBJ_FILESELECTOR_SUB_ID_EXPANDABLE_GET, + ELM_OBJ_FILESELECTOR_SUB_ID_PATH_SET, + ELM_OBJ_FILESELECTOR_SUB_ID_PATH_GET, + ELM_OBJ_FILESELECTOR_SUB_ID_MODE_SET, + ELM_OBJ_FILESELECTOR_SUB_ID_MODE_GET, + ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_GET, + ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_SET, + ELM_OBJ_FILESELECTOR_SUB_ID_LAST +}; + +#define ELM_OBJ_FILESELECTOR_ID(sub_id) (ELM_OBJ_FILESELECTOR_BASE_ID + sub_id) + + +/** + * @def elm_obj_fileselector_is_save_set + * @since 1.8 + * + * Enable/disable the file name entry box where the user can type + * in a name for a file, in a given file selector widget + * + * @param[in] is_save + * + * @see elm_fileselector_is_save_set + */ +#define elm_obj_fileselector_is_save_set(is_save) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_IS_SAVE_SET), EO_TYPECHECK(Eina_Bool, is_save) + +/** + * @def elm_obj_fileselector_is_save_get + * @since 1.8 + * + * Get whether the given file selector is in "saving dialog" mode + * + * @param[out] ret + * + * @see elm_fileselector_is_save_get + */ +#define elm_obj_fileselector_is_save_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_IS_SAVE_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_folder_only_set + * @since 1.8 + * + * Enable/disable folder-only view for a given file selector widget + * + * @param[in] only + * + * @see elm_fileselector_folder_only_set + */ +#define elm_obj_fileselector_folder_only_set(only) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_FOLDER_ONLY_SET), EO_TYPECHECK(Eina_Bool, only) + +/** + * @def elm_obj_fileselector_folder_only_get + * @since 1.8 + * + * Get whether folder-only view is set for a given file selector + * + * @param[out] ret + * + * @see elm_fileselector_folder_only_get + */ +#define elm_obj_fileselector_folder_only_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_FOLDER_ONLY_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_buttons_ok_cancel_set + * @since 1.8 + * + * Enable/disable the "ok" and "cancel" buttons on a given file + * + * @param[in] visible + * + * @see elm_fileselector_buttons_ok_cancel_set + */ +#define elm_obj_fileselector_buttons_ok_cancel_set(visible) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_SET), EO_TYPECHECK(Eina_Bool, visible) + +/** + * @def elm_obj_fileselector_buttons_ok_cancel_get + * @since 1.8 + * + * Get whether the "ok" and "cancel" buttons on a given file + * + * @param[out] ret + * + * @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) + +/** + * @def elm_obj_fileselector_expandable_set + * @since 1.8 + * + * Enable/disable a tree view in the given file selector widget, + * if it's in @c #ELM_FILESELECTOR_LIST mode + * + * @param[in] expand + * + * @see elm_fileselector_expandable_set + */ +#define elm_obj_fileselector_expandable_set(expand) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_EXPANDABLE_SET), EO_TYPECHECK(Eina_Bool, expand) + +/** + * @def elm_obj_fileselector_expandable_get + * @since 1.8 + * + * Get whether tree view is enabled for the given file selector + * + * @param[out] ret + * + * @see elm_fileselector_expandable_get + */ +#define elm_obj_fileselector_expandable_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_EXPANDABLE_GET), EO_TYPECHECK(Eina_Bool *, ret) + +/** + * @def elm_obj_fileselector_path_set + * @since 1.8 + * + * Set, programmatically, the directory that a given file + * selector widget will display contents from + * + * @param[in] _path + * + * @see elm_fileselector_path_set + */ +#define elm_obj_fileselector_path_set(_path) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_PATH_SET), EO_TYPECHECK(const char *, _path) + +/** + * @def elm_obj_fileselector_path_get + * @since 1.8 + * + * Get the parent directory's path that a given file selector + * selector widget will display contents from + * + * @param[out] ret + * + * @see elm_fileselector_path_get + */ +#define elm_obj_fileselector_path_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_PATH_GET), EO_TYPECHECK(const char **, ret) + +/** + * @def elm_obj_fileselector_mode_set + * @since 1.8 + * + * Set the mode in which a given file selector widget will display + * (layout) file system entries in its view + * + * @param[in] mode + * + * @see elm_fileselector_mode_set + */ +#define elm_obj_fileselector_mode_set(mode) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_MODE_SET), EO_TYPECHECK(Elm_Fileselector_Mode, mode) + +/** + * @def elm_obj_fileselector_mode_get + * @since 1.8 + * + * Get the mode in which a given file selector widget is displaying + * + * @param[out] ret + * + * @see elm_fileselector_mode_get + */ +#define elm_obj_fileselector_mode_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_MODE_GET), EO_TYPECHECK(Elm_Fileselector_Mode *, ret) + +/** + * @def elm_obj_fileselector_selected_get + * @since 1.8 + * + * Get the currently selected item's (full) path, in the given file + * the given file selector widget + * + * @param[out] ret + * + * @see elm_fileselector_selected_get + */ +#define elm_obj_fileselector_selected_get(ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_GET), EO_TYPECHECK(const char **, ret) + +/** + * @def elm_obj_fileselector_selected_set + * @since 1.8 + * + * Set, programmatically, the currently selected file/directory in + * the given file selector widget + * + * @param[in] _path + * @param[out] ret + * + * @see elm_fileselector_selected_set + */ +#define elm_obj_fileselector_selected_set(_path, ret) ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_SELECTED_SET), EO_TYPECHECK(const char *, _path), EO_TYPECHECK(Eina_Bool *, ret) diff --git a/legacy/elementary/src/lib/elc_fileselector_legacy.h b/legacy/elementary/src/lib/elc_fileselector_legacy.h new file mode 100644 index 0000000000..505b787988 --- /dev/null +++ b/legacy/elementary/src/lib/elc_fileselector_legacy.h @@ -0,0 +1,244 @@ +/** + * Add a new file selector widget to the given parent Elementary + * (container) object + * + * @param parent The parent object + * @return a new file selector widget handle or @c NULL, on errors + * + * This function inserts a new file selector widget on the canvas. + * + * @ingroup Fileselector + */ +EAPI Evas_Object *elm_fileselector_add(Evas_Object *parent); + +/** + * Enable/disable the file name entry box where the user can type + * in a name for a file, in a given file selector widget + * + * @param obj The file selector object + * @param is_save @c EINA_TRUE to make the file selector a "saving + * dialog", @c EINA_FALSE otherwise + * + * Having the entry editable is useful on file saving dialogs on + * applications, where one gives a file name to save contents to, + * in a given directory in the system. This custom file name will + * be reported on the @c "done" smart callback. + * + * @see elm_fileselector_is_save_get() + * + * @ingroup Fileselector + */ +EAPI void elm_fileselector_is_save_set(Evas_Object *obj, Eina_Bool is_save); + +/** + * Get whether the given file selector is in "saving dialog" mode + * + * @param obj The file selector object + * @return @c EINA_TRUE, if the file selector is in "saving dialog" + * mode, @c EINA_FALSE otherwise (and on errors) + * + * @see elm_fileselector_is_save_set() for more details + * + * @ingroup Fileselector + */ +EAPI Eina_Bool elm_fileselector_is_save_get(const Evas_Object *obj); + +/** + * Enable/disable folder-only view for a given file selector widget + * + * @param obj The file selector object + * @param only @c EINA_TRUE to make @p obj only display + * directories, @c EINA_FALSE to make files to be displayed in it + * too + * + * If enabled, the widget's view will only display folder items, + * naturally. + * + * @see elm_fileselector_folder_only_get() + * + * @ingroup Fileselector + */ +EAPI void elm_fileselector_folder_only_set(Evas_Object *obj, Eina_Bool only); + +/** + * Get whether folder-only view is set for a given file selector + * widget + * + * @param obj The file selector object + * @return only @c EINA_TRUE if @p obj is only displaying + * directories, @c EINA_FALSE if files are being displayed in it + * too (and on errors) + * + * @see elm_fileselector_folder_only_get() + * + * @ingroup Fileselector + */ +EAPI Eina_Bool elm_fileselector_folder_only_get(const Evas_Object *obj); + +/** + * Enable/disable the "ok" and "cancel" buttons on a given file + * selector widget + * + * @param obj The file selector object + * @param buttons @c EINA_TRUE to show buttons, @c EINA_FALSE to hide. + * + * @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 + */ +EAPI void elm_fileselector_buttons_ok_cancel_set(Evas_Object *obj, Eina_Bool buttons); + +/** + * Get whether the "ok" and "cancel" buttons on a given file + * selector widget are being shown. + * + * @param obj The file selector object + * @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 + */ +EAPI Eina_Bool elm_fileselector_buttons_ok_cancel_get(const Evas_Object *obj); + +/** + * Enable/disable a tree view in the given file selector widget, + * if it's in @c #ELM_FILESELECTOR_LIST mode + * + * @param obj The file selector object + * @param expand @c EINA_TRUE to enable tree view, @c EINA_FALSE to + * disable + * + * In a tree view, arrows are created on the sides of directories, + * allowing them to expand in place. + * + * @note If it's in other mode, the changes made by this function + * will only be visible when one switches back to "list" mode. + * + * @see elm_fileselector_expandable_get() + * + * @ingroup Fileselector + */ +EAPI void elm_fileselector_expandable_set(Evas_Object *obj, Eina_Bool expand); + +/** + * Get whether tree view is enabled for the given file selector + * widget + * + * @param obj The file selector object + * @return @c EINA_TRUE if @p obj is in tree view, @c EINA_FALSE + * otherwise (and or errors) + * + * @see elm_fileselector_expandable_set() for more details + * + * @ingroup Fileselector + */ +EAPI Eina_Bool elm_fileselector_expandable_get(const Evas_Object *obj); + +/** + * Set, programmatically, the @b directory that a given file + * selector widget will display contents from + * + * @param obj The file selector object + * @param path The path to display in @p obj + * + * This will change the @b directory that @p obj is displaying. It + * will also clear the text entry area on the @p obj object, which + * displays select files' names. + * + * @see elm_fileselector_path_get() + * + * @ingroup Fileselector + */ +EAPI void elm_fileselector_path_set(Evas_Object *obj, const char *path); + +/** + * Get the parent directory's path that a given file selector + * widget is displaying + * + * @param obj The file selector object + * @return The (full) path of the directory the file selector is + * displaying, a @b stringshared string + * + * @see elm_fileselector_path_set() + * + * @ingroup Fileselector + */ +EAPI const char *elm_fileselector_path_get(const Evas_Object *obj); + +/** + * Set the mode in which a given file selector widget will display + * (layout) file system entries in its view + * + * @param obj The file selector object + * @param mode The mode of the fileselector, being it one of #ELM_FILESELECTOR_LIST + * (default) or #ELM_FILESELECTOR_GRID. The first one, naturally, will display + * the files in a list. The latter will make the widget to display its entries + * in a grid form. + * + * @note By using elm_fileselector_expandable_set(), the user may + * trigger a tree view for that list. + * + * @note If Elementary is built with support of the Ethumb + * thumbnailing library, the second form of view will display + * preview thumbnails of files which it supports. You must have + * elm_need_ethumb() called in your Elementary for thumbnailing to + * work, though. + * + * @see elm_fileselector_expandable_set(). + * @see elm_fileselector_mode_get(). + * + * @ingroup Fileselector + */ +EAPI void elm_fileselector_mode_set(Evas_Object *obj, Elm_Fileselector_Mode mode); + +/** + * Get the mode in which a given file selector widget is displaying + * (layouting) file system entries in its view + * + * @param obj The fileselector object + * @return The mode in which the fileselector is at + * + * @see elm_fileselector_mode_set() for more details + * + * @ingroup Fileselector + */ +EAPI Elm_Fileselector_Mode elm_fileselector_mode_get(const Evas_Object *obj); + +/** + * Set, programmatically, the currently selected file/directory in + * the given file selector widget + * + * @param obj The file selector object + * @param path The (full) path to a file or directory + * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. The + * latter case occurs if the directory or file pointed to do not + * exist. + * + * @see elm_fileselector_selected_get() + * + * @ingroup Fileselector + */ +EAPI Eina_Bool elm_fileselector_selected_set(Evas_Object *obj, const char *path); + +/** + * Get the currently selected item's (full) path, in the given file + * selector widget + * + * @param obj The file selector object + * @return The absolute path of the selected item, a @b + * stringshared string + * + * @note Custom editions on @p obj object's text entry, if made, + * will appear on the return string of this function, naturally. + * + * @see elm_fileselector_selected_set() for more details + * + * @ingroup Fileselector + */ +EAPI const char *elm_fileselector_selected_get(const Evas_Object *obj);