Elementary: File selectors header split.

This commit is contained in:
Daniel Zaoui 2013-04-28 09:02:06 +03:00
parent 961fc60e3d
commit 4d6b7083bf
10 changed files with 1502 additions and 1427 deletions

View File

@ -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,
* <b>if it's in @c #ELM_FILESELECTOR_LIST mode</b>
*
* @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,
* <b>if it's in @c #ELM_FILESELECTOR_LIST mode</b>
*
* @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
/**
* @}
*/

View File

@ -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 <b>directory</b> 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
/**
* @}
*/

View File

@ -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)

View File

@ -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 <b>directory</b> 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);

View File

@ -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;

View File

@ -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 <b>directory</b> 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 <b>directory</b> 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
/**
* @}
*/

View File

@ -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)

View File

@ -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 <b>directory</b> 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 <b>directory</b> 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);

View File

@ -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,
* <b>if it's in @c #ELM_FILESELECTOR_LIST mode</b>
*
* @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)

View File

@ -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,
* <b>if it's in @c #ELM_FILESELECTOR_LIST mode</b>
*
* @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);