tizen 2.4 release
[framework/uifw/elementary.git] / src / lib / elc_fileselector.h
1 /**
2  * @internal
3  * @defgroup Fileselector File Selector
4  * @ingroup Elementary
5  *
6  * @image html fileselector_inheritance_tree.png
7  * @image latex fileselector_inheritance_tree.eps
8  *
9  *
10  * A file selector is a widget that allows a user to navigate
11  * through a file system, reporting file selections back via its
12  * API.
13  *
14  * It contains shortcut buttons for home directory (@c ~) and to
15  * jump one directory upwards (..), as well as cancel/ok buttons to
16  * confirm/cancel a given selection. After either one of those two
17  * former actions, the file selector will issue its @c "done" smart
18  * callback.
19  *
20  * There's a text entry on it, too, showing the name of the current
21  * selection. There's the possibility of making it editable, so it
22  * is useful on file saving dialogs on applications, where one
23  * gives a file name to save contents to, in a given directory in
24  * the system. This custom file name will be reported on the @c
25  * "done" smart callback (explained in sequence).
26  *
27  * Finally, it has a view to display file system items into in two
28  * possible forms:
29  * - list
30  * - grid
31  *
32  * If Elementary is built with support of the Ethumb thumbnailing
33  * library, the second form of view will display preview thumbnails
34  * of files which it supports.
35  *
36  * This widget inherits from the Layout one, so that all the
37  * functions acting on it also work for file selector objects.
38  *
39  * This widget emits the following signals, besides the ones sent from
40  * @ref Layout:
41  * - @c "activated" - the user activated a file. This can happen by
42  *      double-clicking or pressing Enter key. (@p event_info is a
43  *      pointer to the activated file path)
44  * - @c "selected" - the user has clicked on a file (when not in
45  *      folders-only mode) or directory (when in folders-only mode)
46  * - @c "selected,invalid" - the user has tried to access wrong path
47  *      which does not exist.
48  * - @c "directory,open" - the list has been populated with new
49  *      content (@p event_info is a pointer to the directory's
50  *      path, a @b stringshared string)
51  * - @c "done" - the user has clicked on the "ok" or "cancel"
52  *      buttons (@p event_info is a pointer to the selection's
53  *      path, a @b stringshared string)
54  * - @c "focused" - When the fileselector has received focus. (since 1.9)
55  * - @c "unfocused" - When the fileselector has lost focus. (since 1.9)
56  *
57  * For text, elm_layout_text_set() will work here on:
58  * @li @c "ok" - OK button label if the ok button is set. @since 1.8
59  * @li @c "cancel" - Cancel button label if the cancel button is set. @since 1.8
60  *
61  */
62
63 /**
64  * @internal
65  * @addtogroup Fileselector
66  * @{
67  */
68
69 #include "elc_fileselector_common.h"
70 #ifdef EFL_EO_API_SUPPORT
71 #include "elc_fileselector_eo.h"
72 #endif
73 #ifndef EFL_NOLEGACY_API_SUPPORT
74 #include "elc_fileselector_legacy.h"
75 #endif
76 /**
77  * @}
78  */