lib/elementary/elm_actionslider_part.eo \
lib/elementary/elm_bubble_part.eo \
lib/elementary/elm_fileselector_part.eo \
- lib/elementary/elm_prefs.eo \
lib/elementary/elm_segment_control.eo \
lib/elementary/elm_segment_control_item.eo \
lib/elementary/elm_separator.eo \
lib/elementary/elm_popup_eo.c \
lib/elementary/elm_popup_eo.legacy.c \
lib/elementary/elm_popup_item_eo.c \
+lib/elementary/elm_prefs_eo.c \
+lib/elementary/elm_prefs_eo.legacy.c \
$(NULL)
elm_legacy_eo_headers = \
lib/elementary/elm_popup_eo.legacy.h \
lib/elementary/elm_popup_item_eo.h \
lib/elementary/elm_popup_item_eo.legacy.h \
+lib/elementary/elm_prefs_eo.h \
+lib/elementary/elm_prefs_eo.legacy.h \
$(NULL)
#include <Elementary.h>
#include "elm_priv.h"
-#include "elm_prefs.eo.h"
+#include "elm_prefs_eo.h"
#include "elm_widget_prefs.h"
#include "elm_prefs_edd.x"
#define ELM_PREFS_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_prefs)
-#include "elm_prefs.eo.c"
+#include "elm_prefs_eo.c"
+++ /dev/null
-type Elm_Prefs_Data: __undefined_type; [[Elementary preferences data type]]
-type Elm_Prefs_Reset_Mode: __undefined_type; [[Elementary preferences reset mode type]]
-
-class Elm.Prefs extends Efl.Ui.Widget implements Efl.Ui.Legacy
-{
- [[Elementary preferences class]]
- legacy_prefix: elm_prefs;
- eo_prefix: elm_obj_prefs;
- event_prefix: elm_prefs;
- methods {
- @property data {
- [[Set user data for a given prefs widget
-
- Once a prefs widget is created, after elm_prefs_file_set() is
- issued on it, all of its UI elements will get default values, when
- declared on that file. To fetch an user's own, personal set of
- those values, one gets to pair a prefs data handle to the
- prefs widget. This is what this call is intended for.
-
- Prefs data values from $prefs_data with keys matching the ones
- present on the file passed on elm_prefs_file_set() to $obj will
- have their values applied to the respective UI elements of the
- widget.
-
- When $obj dies, the values of the elements declared on its
- $.epb file (the one set on elm_prefs_file_set()) marked as permanent
- will be written back to prefs_data, if it is writable.
- One is also able to make this writing event to take place
- automatically after each UI element modification by using
- elm_prefs_autosave_set().
-
- Note: $obj will keep a reference of its own for $prefs_data,
- but you should still unreference it by yourself, after the widget
- is gone.
-
- @since 1.8]]
- set {
- return: bool; [[$true, on success, $false otherwise]]
- }
- get {
- }
- values {
- data: ptr(Elm_Prefs_Data) @nullable; [[A valid prefs_data handle]]
- }
- }
- @property autosave {
- [[Control whether a given prefs widget should save its values back (on
- the user data file, if set) automatically on every UI element
- changes.
-
- If $autosave is $true, every call to
- elm_prefs_item_value_set(), every
- Elm_Prefs_Data_Event_Type.ELM_PREFS_DATA_EVENT_ITEM_CHANGED event
- coming for its prefs data and every UI element direct value
- changing will implicitly make the prefs values to be flushed back
- to it prefs data. If a prefs data handle with no writing
- permissions or no prefs data is set on $prefs, naturally nothing
- will happen.
-
- @since 1.8]]
- set {
- }
- get {
- }
- values {
- autosave: bool; [[$true to save automatically, $false otherwise.]]
- }
- }
- reset {
- [[Reset the values of a given prefs widget to a previous state.
-
- As can be seen on #Elm_Prefs_Reset_Mode, there are two possible
- actions to be taken by this call -- either to reset $prefs'
- values to the defaults (declared on the $.epb file it is bound
- to) or to reset to the state they were before the last modification
- it got.
-
- @since 1.8]]
-
- params {
- @in mode: Elm_Prefs_Reset_Mode; [[The reset mode to apply on $prefs]]
- }
- }
- item_value_set {
- [[Set the value on a given prefs widget's item.
-
- This will change the value of item named $name programatically.
-
- @since 1.8]]
-
- return: bool; [[$true, on success, $false otherwise]]
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection)]]
- @in value: const(any_value_ptr); [[The value to set on the item. It should be typed as the item expects, preferably, or a conversion will take place]]
- }
- }
- item_value_get @const {
- [[Get the value of a given prefs widget's item.
-
- This will retrieve the value of item named $name.
-
- @since 1.8]]
- return: bool; [[$true, on success, $false otherwise]]
-
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection) to get value from]]
- @out value: any_value; [[Where to store the value of the item. It will be overwritten and setup with the type the item is bound to]]
- }
- }
- item_object_get {
- [[Get the Elementary widget bound to a given prefs widget's item.
-
- This will retrieve a handle to the real widget implementing a given
- item of $prefs, <b>for read-only</b> actions.
-
- Warning: You should never modify the state of the returned
- widget, because it's meant to be managed by $prefs, solely.
-
- @since 1.8]]
-
- return: const(Efl.Canvas.Object); [[A valid widget handle, on success, or $NULL, otherwise]]
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection) to get object from]]
- }
- }
- item_disabled_set {
- [[Set whether the widget bound to a given prefs widget's item is disabled or not.
-
- @since 1.8]]
-
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection) to act on]]
- @in disabled: bool; [[$true, to make it disabled, $false otherwise]]
- }
- }
- item_disabled_get @const {
- [[Get whether the widget bound to a given prefs widget's item is disabled or not.
-
- @since 1.8]]
- return: bool; [[$true, if it is disabled, $false otherwise]]
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection) to get disabled state from]]
- }
- }
- item_swallow {
- [["Swallows" an object into a SWALLOW item of a prefs widget.
-
- @since 1.8]]
-
- return: bool; [[$true, on success, $false otherwise]]
- params {
- @in name: string; [[The name of the SWALLOW item (as declared in the prefs collection)]]
- @in child: Efl.Canvas.Object; [[The object to occupy the item]]
- }
- }
- item_editable_set {
- [[Set whether the widget bound to a given prefs widget's item is editable or not.
-
- Note: Only $TEXT or $TEXTAREA items' default widgets implement
- the 'editable' property. Custom registered widgets may as well
- implement them.
-
- @since 1.8]]
-
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection) to act on]]
- @in editable: bool; [[$true, to make it editable, $false otherwise]]
- }
- }
- item_editable_get @const {
- [[Get whether the widget bound to a given prefs widget's item is editable or not.
-
- @since 1.8]]
- return: bool; [[$true, if it is editable, $false otherwise]]
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection) to get editable state from]]
- }
- }
- item_unswallow {
- [[Unswallow an object from a SWALLOW item of a prefs widget.
-
- @since 1.8]]
-
- return: Efl.Canvas.Object; [[The unswallowed object, or NULL on errors]]
- params {
- @in name: string; [[The name of the SWALLOW item (as declared in the prefs collection)]]
- }
- }
- item_visible_set {
- [[Set whether the widget bound to given prefs widget's item should be visible or not.
-
- Each prefs item may have a default visibility state, declared on
- the $.epb $prefs it was loaded with. By this call one may alter
- that state, programatically.
-
- @since 1.8]]
-
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection) to change visibility of]]
- @in visible: bool; [[$true, to make it visible, $false otherwise]]
- }
- }
- item_visible_get @const {
- [[Get whether the widget bound to a given prefs widget's item is visible or not.
-
- @since 1.8]]
- return: bool; [[$true, if it is visible, $false otherwise]]
- params {
- @in name: string; [[The name of the item (as declared in the prefs collection) to get visibility state from]]
- }
- }
- }
- implements {
- class.constructor;
- Efl.Object.constructor;
- }
- events {
- page,changed: string; [[Called when page changed]]
- page,saved: string; [[Called when page was saved]]
- /* FIXME: Nobody emits this
- page,reset; [[Called when page was reset]]
- */
- page,loaded: string; [[Called when page got loaded]]
- item,changed: string; [[Called when item changed]]
- action: string; [[Called when action was done]]
- }
-}
--- /dev/null
+EWAPI const Efl_Event_Description _ELM_PREFS_EVENT_PAGE_CHANGED =
+ EFL_EVENT_DESCRIPTION("page,changed");
+EWAPI const Efl_Event_Description _ELM_PREFS_EVENT_PAGE_SAVED =
+ EFL_EVENT_DESCRIPTION("page,saved");
+EWAPI const Efl_Event_Description _ELM_PREFS_EVENT_PAGE_LOADED =
+ EFL_EVENT_DESCRIPTION("page,loaded");
+EWAPI const Efl_Event_Description _ELM_PREFS_EVENT_ITEM_CHANGED =
+ EFL_EVENT_DESCRIPTION("item,changed");
+EWAPI const Efl_Event_Description _ELM_PREFS_EVENT_ACTION =
+ EFL_EVENT_DESCRIPTION("action");
+
+Eina_Bool _elm_prefs_data_set(Eo *obj, Elm_Prefs_Data *pd, Elm_Prefs_Data *data);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_prefs_data_set, Eina_Bool, 0, EFL_FUNC_CALL(data), Elm_Prefs_Data *data);
+
+Elm_Prefs_Data *_elm_prefs_data_get(const Eo *obj, Elm_Prefs_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_prefs_data_get, Elm_Prefs_Data *, NULL);
+
+void _elm_prefs_autosave_set(Eo *obj, Elm_Prefs_Data *pd, Eina_Bool autosave);
+
+
+static Eina_Error
+__eolian_elm_prefs_autosave_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_prefs_autosave_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_prefs_autosave_set, EFL_FUNC_CALL(autosave), Eina_Bool autosave);
+
+Eina_Bool _elm_prefs_autosave_get(const Eo *obj, Elm_Prefs_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_prefs_autosave_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_prefs_autosave_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_prefs_autosave_get, Eina_Bool, 0);
+
+void _elm_prefs_reset(Eo *obj, Elm_Prefs_Data *pd, Elm_Prefs_Reset_Mode mode);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_prefs_reset, EFL_FUNC_CALL(mode), Elm_Prefs_Reset_Mode mode);
+
+Eina_Bool _elm_prefs_item_value_set(Eo *obj, Elm_Prefs_Data *pd, const char *name, const Eina_Value *value);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_prefs_item_value_set, Eina_Bool, 0, EFL_FUNC_CALL(name, value), const char *name, const Eina_Value *value);
+
+Eina_Bool _elm_prefs_item_value_get(const Eo *obj, Elm_Prefs_Data *pd, const char *name, Eina_Value *value);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_prefs_item_value_get, Eina_Bool, 0, EFL_FUNC_CALL(name, value), const char *name, Eina_Value *value);
+
+const Efl_Canvas_Object *_elm_prefs_item_object_get(Eo *obj, Elm_Prefs_Data *pd, const char *name);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_prefs_item_object_get, const Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(name), const char *name);
+
+void _elm_prefs_item_disabled_set(Eo *obj, Elm_Prefs_Data *pd, const char *name, Eina_Bool disabled);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_prefs_item_disabled_set, EFL_FUNC_CALL(name, disabled), const char *name, Eina_Bool disabled);
+
+Eina_Bool _elm_prefs_item_disabled_get(const Eo *obj, Elm_Prefs_Data *pd, const char *name);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_prefs_item_disabled_get, Eina_Bool, 0, EFL_FUNC_CALL(name), const char *name);
+
+Eina_Bool _elm_prefs_item_swallow(Eo *obj, Elm_Prefs_Data *pd, const char *name, Efl_Canvas_Object *child);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_prefs_item_swallow, Eina_Bool, 0, EFL_FUNC_CALL(name, child), const char *name, Efl_Canvas_Object *child);
+
+void _elm_prefs_item_editable_set(Eo *obj, Elm_Prefs_Data *pd, const char *name, Eina_Bool editable);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_prefs_item_editable_set, EFL_FUNC_CALL(name, editable), const char *name, Eina_Bool editable);
+
+Eina_Bool _elm_prefs_item_editable_get(const Eo *obj, Elm_Prefs_Data *pd, const char *name);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_prefs_item_editable_get, Eina_Bool, 0, EFL_FUNC_CALL(name), const char *name);
+
+Efl_Canvas_Object *_elm_prefs_item_unswallow(Eo *obj, Elm_Prefs_Data *pd, const char *name);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_prefs_item_unswallow, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(name), const char *name);
+
+void _elm_prefs_item_visible_set(Eo *obj, Elm_Prefs_Data *pd, const char *name, Eina_Bool visible);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_prefs_item_visible_set, EFL_FUNC_CALL(name, visible), const char *name, Eina_Bool visible);
+
+Eina_Bool _elm_prefs_item_visible_get(const Eo *obj, Elm_Prefs_Data *pd, const char *name);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_prefs_item_visible_get, Eina_Bool, 0, EFL_FUNC_CALL(name), const char *name);
+
+Efl_Object *_elm_prefs_efl_object_constructor(Eo *obj, Elm_Prefs_Data *pd);
+
+
+static Eina_Bool
+_elm_prefs_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_PREFS_EXTRA_OPS
+#define ELM_PREFS_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_data_set, _elm_prefs_data_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_data_get, _elm_prefs_data_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_autosave_set, _elm_prefs_autosave_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_autosave_get, _elm_prefs_autosave_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_reset, _elm_prefs_reset),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_value_set, _elm_prefs_item_value_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_value_get, _elm_prefs_item_value_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_object_get, _elm_prefs_item_object_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_disabled_set, _elm_prefs_item_disabled_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_disabled_get, _elm_prefs_item_disabled_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_swallow, _elm_prefs_item_swallow),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_editable_set, _elm_prefs_item_editable_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_editable_get, _elm_prefs_item_editable_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_unswallow, _elm_prefs_item_unswallow),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_visible_set, _elm_prefs_item_visible_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_prefs_item_visible_get, _elm_prefs_item_visible_get),
+ EFL_OBJECT_OP_FUNC(efl_constructor, _elm_prefs_efl_object_constructor),
+ ELM_PREFS_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ static const Efl_Object_Property_Reflection refl_table[] = {
+ {"autosave", __eolian_elm_prefs_autosave_set_reflect, __eolian_elm_prefs_autosave_get_reflect},
+ };
+ static const Efl_Object_Property_Reflection_Ops rops = {
+ refl_table, EINA_C_ARRAY_LENGTH(refl_table)
+ };
+ ropsp = &rops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_prefs_class_desc = {
+ EO_VERSION,
+ "Elm.Prefs",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Prefs_Data),
+ _elm_prefs_class_initializer,
+ _elm_prefs_class_constructor,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_prefs_class_get, &_elm_prefs_class_desc, EFL_UI_WIDGET_CLASS, EFL_UI_LEGACY_INTERFACE, NULL);
+
+#include "elm_prefs_eo.legacy.c"
--- /dev/null
+#ifndef _ELM_PREFS_EO_H_
+#define _ELM_PREFS_EO_H_
+
+#ifndef _ELM_PREFS_EO_CLASS_TYPE
+#define _ELM_PREFS_EO_CLASS_TYPE
+
+typedef Eo Elm_Prefs;
+
+#endif
+
+#ifndef _ELM_PREFS_EO_TYPES
+#define _ELM_PREFS_EO_TYPES
+
+
+#endif
+/** Elementary preferences class
+ *
+ * @ingroup Elm_Prefs
+ */
+#define ELM_PREFS_CLASS elm_prefs_class_get()
+
+EWAPI const Efl_Class *elm_prefs_class_get(void);
+
+/**
+ * @brief Set user data for a given prefs widget
+ *
+ * Once a prefs widget is created, after elm_prefs_file_set() is issued on it,
+ * all of its UI elements will get default values, when declared on that file.
+ * To fetch an user's own, personal set of those values, one gets to pair a
+ * prefs data handle to the prefs widget. This is what this call is intended
+ * for.
+ *
+ * Prefs data values from @c prefs_data with keys matching the ones present on
+ * the file passed on elm_prefs_file_set() to @c obj will have their values
+ * applied to the respective UI elements of the widget.
+ *
+ * When @c obj dies, the values of the elements declared on its $.epb file (the
+ * one set on elm_prefs_file_set()) marked as permanent will be written back to
+ * prefs_data, if it is writable. One is also able to make this writing event
+ * to take place automatically after each UI element modification by using
+ * elm_prefs_autosave_set().
+ *
+ * @note @c obj will keep a reference of its own for @c prefs_data, but you
+ * should still unreference it by yourself, after the widget is gone.
+ *
+ * @param[in] obj The object.
+ * @param[in] data A valid prefs_data handle
+ *
+ * @return @c true, on success, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Eina_Bool elm_obj_prefs_data_set(Eo *obj, Elm_Prefs_Data *data);
+
+/**
+ * @brief Set user data for a given prefs widget
+ *
+ * Once a prefs widget is created, after elm_prefs_file_set() is issued on it,
+ * all of its UI elements will get default values, when declared on that file.
+ * To fetch an user's own, personal set of those values, one gets to pair a
+ * prefs data handle to the prefs widget. This is what this call is intended
+ * for.
+ *
+ * Prefs data values from @c prefs_data with keys matching the ones present on
+ * the file passed on elm_prefs_file_set() to @c obj will have their values
+ * applied to the respective UI elements of the widget.
+ *
+ * When @c obj dies, the values of the elements declared on its $.epb file (the
+ * one set on elm_prefs_file_set()) marked as permanent will be written back to
+ * prefs_data, if it is writable. One is also able to make this writing event
+ * to take place automatically after each UI element modification by using
+ * elm_prefs_autosave_set().
+ *
+ * @note @c obj will keep a reference of its own for @c prefs_data, but you
+ * should still unreference it by yourself, after the widget is gone.
+ *
+ * @param[in] obj The object.
+ *
+ * @return A valid prefs_data handle
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Elm_Prefs_Data *elm_obj_prefs_data_get(const Eo *obj);
+
+/**
+ * @brief Control whether a given prefs widget should save its values back (on
+ * the user data file, if set) automatically on every UI element changes.
+ *
+ * If @c autosave is @c true, every call to elm_prefs_item_value_set(), every
+ * Elm_Prefs_Data_Event_Type.ELM_PREFS_DATA_EVENT_ITEM_CHANGED event coming for
+ * its prefs data and every UI element direct value changing will implicitly
+ * make the prefs values to be flushed back to it prefs data. If a prefs data
+ * handle with no writing permissions or no prefs data is set on @c prefs,
+ * naturally nothing will happen.
+ *
+ * @param[in] obj The object.
+ * @param[in] autosave @c true to save automatically, @c false otherwise.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI void elm_obj_prefs_autosave_set(Eo *obj, Eina_Bool autosave);
+
+/**
+ * @brief Control whether a given prefs widget should save its values back (on
+ * the user data file, if set) automatically on every UI element changes.
+ *
+ * If @c autosave is @c true, every call to elm_prefs_item_value_set(), every
+ * Elm_Prefs_Data_Event_Type.ELM_PREFS_DATA_EVENT_ITEM_CHANGED event coming for
+ * its prefs data and every UI element direct value changing will implicitly
+ * make the prefs values to be flushed back to it prefs data. If a prefs data
+ * handle with no writing permissions or no prefs data is set on @c prefs,
+ * naturally nothing will happen.
+ *
+ * @param[in] obj The object.
+ *
+ * @return @c true to save automatically, @c false otherwise.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Eina_Bool elm_obj_prefs_autosave_get(const Eo *obj);
+
+/**
+ * @brief Reset the values of a given prefs widget to a previous state.
+ *
+ * As can be seen on #Elm_Prefs_Reset_Mode, there are two possible actions to
+ * be taken by this call -- either to reset @c prefs' values to the defaults
+ * (declared on the $.epb file it is bound to) or to reset to the state they
+ * were before the last modification it got.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The reset mode to apply on @c prefs
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI void elm_obj_prefs_reset(Eo *obj, Elm_Prefs_Reset_Mode mode);
+
+/**
+ * @brief Set the value on a given prefs widget's item.
+ *
+ * This will change the value of item named @c name programatically.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * @param[in] value The value to set on the item. It should be typed as the
+ * item expects, preferably, or a conversion will take place
+ *
+ * @return @c true, on success, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Eina_Bool elm_obj_prefs_item_value_set(Eo *obj, const char *name, const Eina_Value *value);
+
+/**
+ * @brief Get the value of a given prefs widget's item.
+ *
+ * This will retrieve the value of item named @c name.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get value from
+ * @param[out] value Where to store the value of the item. It will be
+ * overwritten and setup with the type the item is bound to
+ *
+ * @return @c true, on success, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Eina_Bool elm_obj_prefs_item_value_get(const Eo *obj, const char *name, Eina_Value *value);
+
+/**
+ * @brief Get the Elementary widget bound to a given prefs widget's item.
+ *
+ * This will retrieve a handle to the real widget implementing a given item of
+ * @c prefs, <b>for read-only</b> actions.
+ *
+ * @warning You should never modify the state of the returned widget, because
+ * it's meant to be managed by @c prefs, solely.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get object from
+ *
+ * @return A valid widget handle, on success, or @c NULL, otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI const Efl_Canvas_Object *elm_obj_prefs_item_object_get(Eo *obj, const char *name);
+
+/**
+ * @brief Set whether the widget bound to a given prefs widget's item is
+ * disabled or not.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to act on
+ * @param[in] disabled @c true, to make it disabled, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI void elm_obj_prefs_item_disabled_set(Eo *obj, const char *name, Eina_Bool disabled);
+
+/**
+ * @brief Get whether the widget bound to a given prefs widget's item is
+ * disabled or not.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get disabled state from
+ *
+ * @return @c true, if it is disabled, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Eina_Bool elm_obj_prefs_item_disabled_get(const Eo *obj, const char *name);
+
+/**
+ * @brief "Swallows" an object into a SWALLOW item of a prefs widget.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the SWALLOW item (as declared in the prefs
+ * collection)
+ * @param[in] child The object to occupy the item
+ *
+ * @return @c true, on success, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Eina_Bool elm_obj_prefs_item_swallow(Eo *obj, const char *name, Efl_Canvas_Object *child);
+
+/**
+ * @brief Set whether the widget bound to a given prefs widget's item is
+ * editable or not.
+ *
+ * @note Only @c TEXT or @c TEXTAREA items' default widgets implement the
+ * 'editable' property. Custom registered widgets may as well implement them.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to act on
+ * @param[in] editable @c true, to make it editable, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI void elm_obj_prefs_item_editable_set(Eo *obj, const char *name, Eina_Bool editable);
+
+/**
+ * @brief Get whether the widget bound to a given prefs widget's item is
+ * editable or not.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get editable state from
+ *
+ * @return @c true, if it is editable, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Eina_Bool elm_obj_prefs_item_editable_get(const Eo *obj, const char *name);
+
+/**
+ * @brief Unswallow an object from a SWALLOW item of a prefs widget.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the SWALLOW item (as declared in the prefs
+ * collection)
+ *
+ * @return The unswallowed object, or NULL on errors
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Efl_Canvas_Object *elm_obj_prefs_item_unswallow(Eo *obj, const char *name);
+
+/**
+ * @brief Set whether the widget bound to given prefs widget's item should be
+ * visible or not.
+ *
+ * Each prefs item may have a default visibility state, declared on the $.epb
+ * @c prefs it was loaded with. By this call one may alter that state,
+ * programatically.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to change visibility of
+ * @param[in] visible @c true, to make it visible, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI void elm_obj_prefs_item_visible_set(Eo *obj, const char *name, Eina_Bool visible);
+
+/**
+ * @brief Get whether the widget bound to a given prefs widget's item is
+ * visible or not.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get visibility state from
+ *
+ * @return @c true, if it is visible, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs
+ */
+EOAPI Eina_Bool elm_obj_prefs_item_visible_get(const Eo *obj, const char *name);
+
+EWAPI extern const Efl_Event_Description _ELM_PREFS_EVENT_PAGE_CHANGED;
+
+/** Called when page changed
+ * @return const char *
+ *
+ * @ingroup Elm_Prefs
+ */
+#define ELM_PREFS_EVENT_PAGE_CHANGED (&(_ELM_PREFS_EVENT_PAGE_CHANGED))
+
+EWAPI extern const Efl_Event_Description _ELM_PREFS_EVENT_PAGE_SAVED;
+
+/** Called when page was saved
+ * @return const char *
+ *
+ * @ingroup Elm_Prefs
+ */
+#define ELM_PREFS_EVENT_PAGE_SAVED (&(_ELM_PREFS_EVENT_PAGE_SAVED))
+
+EWAPI extern const Efl_Event_Description _ELM_PREFS_EVENT_PAGE_LOADED;
+
+/** Called when page got loaded
+ * @return const char *
+ *
+ * @ingroup Elm_Prefs
+ */
+#define ELM_PREFS_EVENT_PAGE_LOADED (&(_ELM_PREFS_EVENT_PAGE_LOADED))
+
+EWAPI extern const Efl_Event_Description _ELM_PREFS_EVENT_ITEM_CHANGED;
+
+/** Called when item changed
+ * @return const char *
+ *
+ * @ingroup Elm_Prefs
+ */
+#define ELM_PREFS_EVENT_ITEM_CHANGED (&(_ELM_PREFS_EVENT_ITEM_CHANGED))
+
+EWAPI extern const Efl_Event_Description _ELM_PREFS_EVENT_ACTION;
+
+/** Called when action was done
+ * @return const char *
+ *
+ * @ingroup Elm_Prefs
+ */
+#define ELM_PREFS_EVENT_ACTION (&(_ELM_PREFS_EVENT_ACTION))
+
+#endif
--- /dev/null
+
+EAPI Eina_Bool
+elm_prefs_data_set(Elm_Prefs *obj, Elm_Prefs_Data *data)
+{
+ return elm_obj_prefs_data_set(obj, data);
+}
+
+EAPI Elm_Prefs_Data *
+elm_prefs_data_get(const Elm_Prefs *obj)
+{
+ return elm_obj_prefs_data_get(obj);
+}
+
+EAPI void
+elm_prefs_autosave_set(Elm_Prefs *obj, Eina_Bool autosave)
+{
+ elm_obj_prefs_autosave_set(obj, autosave);
+}
+
+EAPI Eina_Bool
+elm_prefs_autosave_get(const Elm_Prefs *obj)
+{
+ return elm_obj_prefs_autosave_get(obj);
+}
+
+EAPI void
+elm_prefs_reset(Elm_Prefs *obj, Elm_Prefs_Reset_Mode mode)
+{
+ elm_obj_prefs_reset(obj, mode);
+}
+
+EAPI Eina_Bool
+elm_prefs_item_value_set(Elm_Prefs *obj, const char *name, const Eina_Value *value)
+{
+ return elm_obj_prefs_item_value_set(obj, name, value);
+}
+
+EAPI Eina_Bool
+elm_prefs_item_value_get(const Elm_Prefs *obj, const char *name, Eina_Value *value)
+{
+ return elm_obj_prefs_item_value_get(obj, name, value);
+}
+
+EAPI const Efl_Canvas_Object *
+elm_prefs_item_object_get(Elm_Prefs *obj, const char *name)
+{
+ return elm_obj_prefs_item_object_get(obj, name);
+}
+
+EAPI void
+elm_prefs_item_disabled_set(Elm_Prefs *obj, const char *name, Eina_Bool disabled)
+{
+ elm_obj_prefs_item_disabled_set(obj, name, disabled);
+}
+
+EAPI Eina_Bool
+elm_prefs_item_disabled_get(const Elm_Prefs *obj, const char *name)
+{
+ return elm_obj_prefs_item_disabled_get(obj, name);
+}
+
+EAPI Eina_Bool
+elm_prefs_item_swallow(Elm_Prefs *obj, const char *name, Efl_Canvas_Object *child)
+{
+ return elm_obj_prefs_item_swallow(obj, name, child);
+}
+
+EAPI void
+elm_prefs_item_editable_set(Elm_Prefs *obj, const char *name, Eina_Bool editable)
+{
+ elm_obj_prefs_item_editable_set(obj, name, editable);
+}
+
+EAPI Eina_Bool
+elm_prefs_item_editable_get(const Elm_Prefs *obj, const char *name)
+{
+ return elm_obj_prefs_item_editable_get(obj, name);
+}
+
+EAPI Efl_Canvas_Object *
+elm_prefs_item_unswallow(Elm_Prefs *obj, const char *name)
+{
+ return elm_obj_prefs_item_unswallow(obj, name);
+}
+
+EAPI void
+elm_prefs_item_visible_set(Elm_Prefs *obj, const char *name, Eina_Bool visible)
+{
+ elm_obj_prefs_item_visible_set(obj, name, visible);
+}
+
+EAPI Eina_Bool
+elm_prefs_item_visible_get(const Elm_Prefs *obj, const char *name)
+{
+ return elm_obj_prefs_item_visible_get(obj, name);
+}
--- /dev/null
+#ifndef _ELM_PREFS_EO_LEGACY_H_
+#define _ELM_PREFS_EO_LEGACY_H_
+
+#ifndef _ELM_PREFS_EO_CLASS_TYPE
+#define _ELM_PREFS_EO_CLASS_TYPE
+
+typedef Eo Elm_Prefs;
+
+#endif
+
+#ifndef _ELM_PREFS_EO_TYPES
+#define _ELM_PREFS_EO_TYPES
+
+
+#endif
+
+/**
+ * @brief Set user data for a given prefs widget
+ *
+ * Once a prefs widget is created, after elm_prefs_file_set() is issued on it,
+ * all of its UI elements will get default values, when declared on that file.
+ * To fetch an user's own, personal set of those values, one gets to pair a
+ * prefs data handle to the prefs widget. This is what this call is intended
+ * for.
+ *
+ * Prefs data values from @c prefs_data with keys matching the ones present on
+ * the file passed on elm_prefs_file_set() to @c obj will have their values
+ * applied to the respective UI elements of the widget.
+ *
+ * When @c obj dies, the values of the elements declared on its $.epb file (the
+ * one set on elm_prefs_file_set()) marked as permanent will be written back to
+ * prefs_data, if it is writable. One is also able to make this writing event
+ * to take place automatically after each UI element modification by using
+ * elm_prefs_autosave_set().
+ *
+ * @note @c obj will keep a reference of its own for @c prefs_data, but you
+ * should still unreference it by yourself, after the widget is gone.
+ *
+ * @param[in] obj The object.
+ * @param[in] data A valid prefs_data handle
+ *
+ * @return @c true, on success, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Eina_Bool elm_prefs_data_set(Elm_Prefs *obj, Elm_Prefs_Data *data);
+
+/**
+ * @brief Set user data for a given prefs widget
+ *
+ * Once a prefs widget is created, after elm_prefs_file_set() is issued on it,
+ * all of its UI elements will get default values, when declared on that file.
+ * To fetch an user's own, personal set of those values, one gets to pair a
+ * prefs data handle to the prefs widget. This is what this call is intended
+ * for.
+ *
+ * Prefs data values from @c prefs_data with keys matching the ones present on
+ * the file passed on elm_prefs_file_set() to @c obj will have their values
+ * applied to the respective UI elements of the widget.
+ *
+ * When @c obj dies, the values of the elements declared on its $.epb file (the
+ * one set on elm_prefs_file_set()) marked as permanent will be written back to
+ * prefs_data, if it is writable. One is also able to make this writing event
+ * to take place automatically after each UI element modification by using
+ * elm_prefs_autosave_set().
+ *
+ * @note @c obj will keep a reference of its own for @c prefs_data, but you
+ * should still unreference it by yourself, after the widget is gone.
+ *
+ * @param[in] obj The object.
+ *
+ * @return A valid prefs_data handle
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Elm_Prefs_Data *elm_prefs_data_get(const Elm_Prefs *obj);
+
+/**
+ * @brief Control whether a given prefs widget should save its values back (on
+ * the user data file, if set) automatically on every UI element changes.
+ *
+ * If @c autosave is @c true, every call to elm_prefs_item_value_set(), every
+ * Elm_Prefs_Data_Event_Type.ELM_PREFS_DATA_EVENT_ITEM_CHANGED event coming for
+ * its prefs data and every UI element direct value changing will implicitly
+ * make the prefs values to be flushed back to it prefs data. If a prefs data
+ * handle with no writing permissions or no prefs data is set on @c prefs,
+ * naturally nothing will happen.
+ *
+ * @param[in] obj The object.
+ * @param[in] autosave @c true to save automatically, @c false otherwise.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI void elm_prefs_autosave_set(Elm_Prefs *obj, Eina_Bool autosave);
+
+/**
+ * @brief Control whether a given prefs widget should save its values back (on
+ * the user data file, if set) automatically on every UI element changes.
+ *
+ * If @c autosave is @c true, every call to elm_prefs_item_value_set(), every
+ * Elm_Prefs_Data_Event_Type.ELM_PREFS_DATA_EVENT_ITEM_CHANGED event coming for
+ * its prefs data and every UI element direct value changing will implicitly
+ * make the prefs values to be flushed back to it prefs data. If a prefs data
+ * handle with no writing permissions or no prefs data is set on @c prefs,
+ * naturally nothing will happen.
+ *
+ * @param[in] obj The object.
+ *
+ * @return @c true to save automatically, @c false otherwise.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Eina_Bool elm_prefs_autosave_get(const Elm_Prefs *obj);
+
+/**
+ * @brief Reset the values of a given prefs widget to a previous state.
+ *
+ * As can be seen on #Elm_Prefs_Reset_Mode, there are two possible actions to
+ * be taken by this call -- either to reset @c prefs' values to the defaults
+ * (declared on the $.epb file it is bound to) or to reset to the state they
+ * were before the last modification it got.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The reset mode to apply on @c prefs
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI void elm_prefs_reset(Elm_Prefs *obj, Elm_Prefs_Reset_Mode mode);
+
+/**
+ * @brief Set the value on a given prefs widget's item.
+ *
+ * This will change the value of item named @c name programatically.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * @param[in] value The value to set on the item. It should be typed as the
+ * item expects, preferably, or a conversion will take place
+ *
+ * @return @c true, on success, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Eina_Bool elm_prefs_item_value_set(Elm_Prefs *obj, const char *name, const Eina_Value *value);
+
+/**
+ * @brief Get the value of a given prefs widget's item.
+ *
+ * This will retrieve the value of item named @c name.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get value from
+ * @param[out] value Where to store the value of the item. It will be
+ * overwritten and setup with the type the item is bound to
+ *
+ * @return @c true, on success, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Eina_Bool elm_prefs_item_value_get(const Elm_Prefs *obj, const char *name, Eina_Value *value);
+
+/**
+ * @brief Get the Elementary widget bound to a given prefs widget's item.
+ *
+ * This will retrieve a handle to the real widget implementing a given item of
+ * @c prefs, <b>for read-only</b> actions.
+ *
+ * @warning You should never modify the state of the returned widget, because
+ * it's meant to be managed by @c prefs, solely.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get object from
+ *
+ * @return A valid widget handle, on success, or @c NULL, otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI const Efl_Canvas_Object *elm_prefs_item_object_get(Elm_Prefs *obj, const char *name);
+
+/**
+ * @brief Set whether the widget bound to a given prefs widget's item is
+ * disabled or not.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to act on
+ * @param[in] disabled @c true, to make it disabled, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI void elm_prefs_item_disabled_set(Elm_Prefs *obj, const char *name, Eina_Bool disabled);
+
+/**
+ * @brief Get whether the widget bound to a given prefs widget's item is
+ * disabled or not.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get disabled state from
+ *
+ * @return @c true, if it is disabled, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Eina_Bool elm_prefs_item_disabled_get(const Elm_Prefs *obj, const char *name);
+
+/**
+ * @brief "Swallows" an object into a SWALLOW item of a prefs widget.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the SWALLOW item (as declared in the prefs
+ * collection)
+ * @param[in] child The object to occupy the item
+ *
+ * @return @c true, on success, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Eina_Bool elm_prefs_item_swallow(Elm_Prefs *obj, const char *name, Efl_Canvas_Object *child);
+
+/**
+ * @brief Set whether the widget bound to a given prefs widget's item is
+ * editable or not.
+ *
+ * @note Only @c TEXT or @c TEXTAREA items' default widgets implement the
+ * 'editable' property. Custom registered widgets may as well implement them.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to act on
+ * @param[in] editable @c true, to make it editable, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI void elm_prefs_item_editable_set(Elm_Prefs *obj, const char *name, Eina_Bool editable);
+
+/**
+ * @brief Get whether the widget bound to a given prefs widget's item is
+ * editable or not.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get editable state from
+ *
+ * @return @c true, if it is editable, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Eina_Bool elm_prefs_item_editable_get(const Elm_Prefs *obj, const char *name);
+
+/**
+ * @brief Unswallow an object from a SWALLOW item of a prefs widget.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the SWALLOW item (as declared in the prefs
+ * collection)
+ *
+ * @return The unswallowed object, or NULL on errors
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Efl_Canvas_Object *elm_prefs_item_unswallow(Elm_Prefs *obj, const char *name);
+
+/**
+ * @brief Set whether the widget bound to given prefs widget's item should be
+ * visible or not.
+ *
+ * Each prefs item may have a default visibility state, declared on the $.epb
+ * @c prefs it was loaded with. By this call one may alter that state,
+ * programatically.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to change visibility of
+ * @param[in] visible @c true, to make it visible, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI void elm_prefs_item_visible_set(Elm_Prefs *obj, const char *name, Eina_Bool visible);
+
+/**
+ * @brief Get whether the widget bound to a given prefs widget's item is
+ * visible or not.
+ *
+ * @param[in] obj The object.
+ * @param[in] name The name of the item (as declared in the prefs collection)
+ * to get visibility state from
+ *
+ * @return @c true, if it is visible, @c false otherwise
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Prefs_Group
+ */
+EAPI Eina_Bool elm_prefs_item_visible_get(const Elm_Prefs *obj, const char *name);
+
+#endif
*/
EAPI Eina_Bool elm_prefs_file_get(const Eo *obj, const char **file, const char **page);
-#include "elm_prefs.eo.legacy.h"
+#include "elm_prefs_eo.legacy.h"
/**
* @}
*/
'elm_actionslider_part.eo',
'elm_bubble_part.eo',
'elm_fileselector_part.eo',
- 'elm_prefs.eo',
'elm_segment_control.eo',
'elm_segment_control_item.eo',
'elm_separator.eo',
'elm_popup_eo.legacy.h',
'elm_popup_item_eo.h',
'elm_popup_item_eo.legacy.h',
+ 'elm_prefs_eo.h',
+ 'elm_prefs_eo.legacy.h',
]
elementary_header_src = [