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