1 #ifndef ELM_PREFS_H
2 #define ELM_PREFS_H
3 
4 /**
5  * @addtogroup Elm_Prefs
6  * @{
7  *
8  * @section elm-prefs-widget Prefs
9  *
10  * @image html img/widget/prefs/preview-00.png
11  * @image latex img/widget/prefs/preview-00.eps width=\textwidth
12  *
13  * @image html prefs_inheritance_tree.png
14  * @image latex prefs_inheritance_tree.eps
15  *
16  * Prefs is a special widget inside Elementary. It is mainly targeted
17  * to configuration dialogs. Its viewport is blank until you associate
18  * a definition file to it. That file (usually with @b .epb
19  * extension), is a binary format (Eet) one, coming from a
20  * human-readable textual declaration. This textual form, an
21  * <b>Elementary prefs collection</b> (usually with @b .epc
22  * extension), is translated to the binary form by means of the
23  * @b prefs_cc compiler.
24  *
25  * On it one declares UI elements to populate prefs widgets, which are
26  * contained in @b pages (a prefs widget is always bound to one page).
27  * Those elements get properties like:
28  * - default value,
29  * - maximum and minimum ranges,
30  * - acceptance and denial regular expressions, for strings,
31  * - visibility,
32  * - persistence,
33  * - editability, etc.
34  *
35  * Once a prefs widget is created, after elm_prefs_file_set() is
36  * issued on it, all of its UI elements will get default values,
37  * declared on that file. To fetch a user's own, personal set of
38  * those values, one gets to pair an <b>@ref elm-prefs-data</b> handle
39  * to the prefs widget.
40  *
41  * Personal, prefs data values with keys matching the ones present on
42  * the file passed on elm_prefs_file_set() to will have their values
43  * applied to the respective UI elements of the widget.
44  *
45  * When a prefs widget dies, the values of the elements declared on
46  * its @b .epb file marked as permanent <b>will be written back</b> to
47  * the user prefs data handle, if it is writable. One is also able to
48  * make this writing event to take place automatically after each UI
49  * element modification by using elm_prefs_autosave_set().
50  *
51  * This widget emits the following signals:
52  * - @c "page,saved": a given page has had its values saved back on
53  *                    user config file (event info is the page's
54  *                    name)
55  * - @c "page,reset": a given page has had its values reset (event
56  *                    info is the page's name)
57  * - @c "page,changed": a given page has been loaded <b>with user
58  *                     (@c .cfg) values</b> (event info is the page's name)
59  * - @c "page,loaded": a given page has been loaded <b>with system
60  *                     (@c .epb) values</b> (event info is the page's name)
61  * - @c "item,changed": a given page's item has changed (event info is
62  *                      the item's full hierarchical name, in the form
63  *                      @c "page:subpage:subsubpage:item")
64  * - @c "action": an action item has been triggered (event info is the
65  *                item's full hierarchical name, in the form @c
66  *                "page:subpage:subsubpage:item")
67  *
68  * @li @ref epcref
69  *
70  * The following are examples on how to use prefs:
71  * @li @ref prefs_example_01
72  * @li @ref prefs_example_02
73  * @li @ref prefs_example_03
74  */
75 
76 #include "elm_prefs_common.h"
77 #ifndef EFL_NOLEGACY_API_SUPPORT
78 #include "elm_prefs_legacy.h"
79 #endif
80 /**
81  * @}
82  */
83 #endif
84