One can divide Elemementary into three main groups:
@li @ref infralist - These are modules that deal with Elementary as a whole.
@li @ref widgetslist - These are the widgets you'll compose your UI out of.
-@li @ref containerslist - These are the containers in which the widgets will be
- layouted.
+@li @ref containerslist - These are the containers which hold the widgets.
@section license License
EAPI extern int ELM_ECORE_EVENT_ETHUMB_CONNECT;
/**
+ * Emitted when the application has reconfigured elementary settings due
+ * to an external configuration tool asking it to.
+ */
+ EAPI extern int ELM_EVENT_CONFIG_ALL_CHANGED;
+
+ /**
* Emitted when any Elementary's policy value is changed.
*/
EAPI extern int ELM_EVENT_POLICY_CHANGED;
EAPI int elm_policy_get(unsigned int policy);
/**
+ * Change the language of the current application
+ *
+ * The @p lang passed must be the full name of the locale to use, for
+ * example "en_US.utf8" or "es_ES@euro".
+ *
+ * Changing language with this function will make Elementary run through
+ * all its widgets, translating strings set with
+ * elm_object_domain_translatable_text_part_set(). This way, an entire
+ * UI can have its language changed without having to restart the program.
+ *
+ * For more complex cases, like having formatted strings that need
+ * translation, widgets will also emit a "language,changed" signal that
+ * the user can listen to to manually translate the text.
+ *
+ * @param lang Language to set, must be the full name of the locale
+ *
+ * @ingroup General
+ */
+ EAPI void elm_language_set(const char *lang);
+
+ /**
* Set a label of an object
*
* @param obj The Elementary object
#define elm_object_text_get(obj) elm_object_text_part_get((obj), NULL)
/**
+ * Set the text for an objects part, marking it as translatable
+ *
+ * The string to set as @p text must be the original one. Do not pass the
+ * return of @c gettext() here. Elementary will translate the string
+ * internally and set it on the object using elm_object_text_part_set(),
+ * also storing the original string so that it can be automatically
+ * translated when the language is changed with elm_language_set().
+ *
+ * The @p domain will be stored along to find the translation in the
+ * correct catalog. It can be NULL, in which case it will use whatever
+ * domain was set by the application with @c textdomain(). This is useful
+ * in case you are building a library on top of Elementary that will have
+ * its own translatable strings, that should not be mixed with those of
+ * programs using the library.
+ *
+ * @param obj The object
+ * @param part The name of the part to set
+ * @param domain The translation domain to use
+ * @param text The original, non-translated text to set
+ *
+ * @ingroup General
+ */
+ EAPI void elm_object_domain_translatable_text_part_set(Evas_Object *obj, const char *part, const char *domain, const char *text);
+
+#define elm_object_domain_translatable_text_set(obj, domain, text) elm_object_domain_translatable_text_part_set((obj), NULL, (domain), (text))
+
+#define elm_object_translatable_text_set(obj, text) elm_object_domain_translatable_text_part_set((obj), NULL, NULL, (text))
+
+ /**
+ * Gets the original string set as translatable for an object
+ *
+ * When setting translated strings, the function elm_object_text_part_get()
+ * will return the translation returned by @c gettext(). To get the
+ * original string use this function.
+ *
+ * @param obj The object
+ * @param part The name of the part that was set
+ *
+ * @return The original, untranslated string
+ *
+ * @ingroup General
+ */
+ EAPI const char *elm_object_translatable_text_part_get(const Evas_Object *obj, const char *part);
+
+#define elm_object_translatable_text_get(obj) elm_object_translatable_text_part_get((obj), NULL)
+
+ /**
* Set a content of an object
*
* @param obj The Elementary object
EAPI void elm_scroll_thumbscroll_border_friction_all_set(double friction);
/**
+ * Get the sensitivity amount which is be multiplied by the length of
+ * mouse dragging.
+ *
+ * @return the thumb scroll sensitivity friction
+ *
+ * @ingroup Scrolling
+ */
+ EAPI double elm_scroll_thumbscroll_sensitivity_friction_get(void);
+
+ /**
+ * Set the sensitivity amount which is be multiplied by the length of
+ * mouse dragging.
+ *
+ * @param friction the thumb scroll sensitivity friction. @c 0.1 for
+ * minimun sensitivity, @c 1.0 for maximum sensitivity. 0.25
+ * is proper.
+ *
+ * @see elm_thumbscroll_sensitivity_friction_get()
+ * @note parameter value will get bound to 0.1 - 1.0 interval, always
+ *
+ * @ingroup Scrolling
+ */
+ EAPI void elm_scroll_thumbscroll_sensitivity_friction_set(double friction);
+
+ /**
+ * Set the sensitivity amount which is be multiplied by the length of
+ * mouse dragging, for all Elementary application windows.
+ *
+ * @param friction the thumb scroll sensitivity friction. @c 0.1 for
+ * minimun sensitivity, @c 1.0 for maximum sensitivity. 0.25
+ * is proper.
+ *
+ * @see elm_thumbscroll_sensitivity_friction_get()
+ * @note parameter value will get bound to 0.1 - 1.0 interval, always
+ *
+ * @ingroup Scrolling
+ */
+ EAPI void elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction);
+
+ /**
* @}
*/
* This enables or disabled event propagation from the scroller content to
* the scroller and its parent. By default event propagation is disabled.
*/
- EAPI void elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation);
+ EAPI void elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation) EINA_ARG_NONNULL(1);
/**
* @brief Get event propagation for a scroller
*
*
* @see elm_scroller_propagate_events_set()
*/
- EAPI Eina_Bool elm_scroller_propagate_events_get(const Evas_Object *obj);
+ EAPI Eina_Bool elm_scroller_propagate_events_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Set scrolling gravity on a scroller
+ *
+ * @param obj The scroller object
+ * @param x The scrolling horizontal gravity
+ * @param y The scrolling vertical gravity
+ *
+ * It set scrolling gravity. It adds scrolling weight values
+ * to the scroller. Usually it uses for stopping the scroller.
+ * To set y as 0.0 for lower growing child objects,
+ * even though child objects are added to bottom, the scroller doesn't move.
+ * To set y as 1.0 for upper growing child objects. And x is horizontal gravity.
+ * By default 0.0 for x and y.
+ */
+ EAPI void elm_scroller_gravity_set(Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Get scrolling gravity values for a scroller
+ *
+ * @param obj The scroller object
+ * @param x The scrolling horizontal gravity
+ * @param y The scrolling vertical gravity
+ *
+ * This gets gravity values for a scroller.
+ *
+ * @see elm_scroller_gravity_set()
+ *
+ */
+ EAPI void elm_scroller_gravity_get(const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
/**
* @}
*/
};
/**
+ * Types of zoom available.
+ */
+ typedef enum _Elm_Web_Zoom_Mode
+ {
+ ELM_WEB_ZOOM_MODE_MANUAL = 0, /**< Zoom controled normally by elm_web_zoom_set */
+ ELM_WEB_ZOOM_MODE_AUTO_FIT, /**< Zoom until content fits in web object */
+ ELM_WEB_ZOOM_MODE_AUTO_FILL, /**< Zoom until content fills web object */
+ ELM_WEB_ZOOM_MODE_LAST
+ } Elm_Web_Zoom_Mode;
+ /**
* Opaque handler containing the features (such as statusbar, menubar, etc)
* that are to be set on a newly requested window.
*/
*/
EAPI void elm_web_history_enable_set(Evas_Object *obj, Eina_Bool enable);
/**
- * Gets whether text-only zoom is set
+ * Sets the zoom level of the web object
+ *
+ * Zoom level matches the Webkit API, so 1.0 means normal zoom, with higher
+ * values meaning zoom in and lower meaning zoom out. This function will
+ * only affect the zoom level if the mode set with elm_web_zoom_mode_set()
+ * is ::ELM_WEB_ZOOM_MODE_MANUAL.
*
* @param obj The web object
+ * @param zoom The zoom level to set
+ */
+ EAPI void elm_web_zoom_set(Evas_Object *obj, double zoom);
+ /**
+ * Gets the current zoom level set on the web object
*
- * @return EINA_TRUE if zoom is set to affect only text, EINA_FALSE
- * otherwise
+ * Note that this is the zoom level set on the web object and not that
+ * of the underlying Webkit one. In the ::ELM_WEB_ZOOM_MODE_MANUAL mode,
+ * the two zoom levels should match, but for the other two modes the
+ * Webkit zoom is calculated internally to match the chosen mode without
+ * changing the zoom level set for the web object.
+ *
+ * @param obj The web object
+ *
+ * @return The zoom level set on the object
+ */
+ EAPI double elm_web_zoom_get(const Evas_Object *obj);
+ /**
+ * Sets the zoom mode to use
+ *
+ * The modes can be any of those defined in ::Elm_Web_Zoom_Mode, except
+ * ::ELM_WEB_ZOOM_MODE_LAST. The default is ::ELM_WEB_ZOOM_MODE_MANUAL.
+ *
+ * ::ELM_WEB_ZOOM_MODE_MANUAL means the zoom level will be controlled
+ * with the elm_web_zoom_set() function.
+ * ::ELM_WEB_ZOOM_MODE_AUTO_FIT will calculate the needed zoom level to
+ * make sure the entirety of the web object's contents are shown.
+ * ::ELM_WEB_ZOOM_MODE_AUTO_FILL will calculate the needed zoom level to
+ * fit the contents in the web object's size, without leaving any space
+ * unused.
+ *
+ * @param obj The web object
+ * @param mode The mode to set
+ */
+ EAPI void elm_web_zoom_mode_set(Evas_Object *obj, Elm_Web_Zoom_Mode mode);
+ /**
+ * Gets the currently set zoom mode
+ *
+ * @param obj The web object
*
- * @see elm_web_zoom_text_only_set()
+ * @return The current zoom mode set for the object, or
+ * ::ELM_WEB_ZOOM_MODE_LAST on error
+ */
+ EAPI Elm_Web_Zoom_Mode elm_web_zoom_mode_get(const Evas_Object *obj);
+ /**
+ * Shows the given region in the web object
+ *
+ * @param obj The web object
+ * @param x The x coordinate of the region to show
+ * @param y The y coordinate of the region to show
+ * @param w The width of the region to show
+ * @param h The height of the region to show
*/
- EAPI Eina_Bool elm_web_zoom_text_only_get(const Evas_Object *obj);
+ EAPI void elm_web_region_show(Evas_Object *obj, int x, int y, int w, int h);
/**
- * Enables or disables zoom to affect only text
+ * Brings in the region to the visible area
*
- * If set, then the zoom level set to the page will only be applied on text,
- * leaving other objects, such as images, at their original size.
+ * Like elm_web_region_show(), but it animates the scrolling of the object
+ * to show the area
*
* @param obj The web object
- * @param setting EINA_TRUE to use text-only zoom, EINA_FALSE to have zoom
- * affect the entire page
+ * @param x The x coordinate of the region to show
+ * @param y The y coordinate of the region to show
+ * @param w The width of the region to show
+ * @param h The height of the region to show
*/
- EAPI void elm_web_zoom_text_only_set(Evas_Object *obj, Eina_Bool setting);
+ EAPI void elm_web_region_bring_in(Evas_Object *obj, int x, int y, int w, int h);
/**
* Sets the default dialogs to use an Inwin instead of a normal window
*
EAPI void elm_object_tooltip_show(Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_object_tooltip_hide(Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_object_tooltip_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1, 2);
+ EAPI void elm_object_tooltip_domain_translatable_text_set(Evas_Object *obj, const char *domain, const char *text) EINA_ARG_NONNULL(1, 3);
+#define elm_object_tooltip_translatable_text_set(obj, text) elm_object_tooltip_domain_translatable_text_set((obj), NULL, (text))
EAPI void elm_object_tooltip_content_cb_set(Evas_Object *obj, Elm_Tooltip_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
EAPI void elm_object_tooltip_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_object_tooltip_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
* @return The top object or NULL if none
*/
EAPI Evas_Object *elm_pager_content_top_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
/**
* @}
*/
* @ingroup Panes
*/
EAPI Eina_Bool elm_panes_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_panes_fixed_set(Evas_Object *obj, Eina_Bool fixed) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_panes_fixed_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @}
* @}
*/
- typedef struct _Elm_Store Elm_Store;
- typedef struct _Elm_Store_Filesystem Elm_Store_Filesystem;
- typedef struct _Elm_Store_Item Elm_Store_Item;
- typedef struct _Elm_Store_Item_Filesystem Elm_Store_Item_Filesystem;
- typedef struct _Elm_Store_Item_Info Elm_Store_Item_Info;
- typedef struct _Elm_Store_Item_Info_Filesystem Elm_Store_Item_Info_Filesystem;
- typedef struct _Elm_Store_Item_Mapping Elm_Store_Item_Mapping;
- typedef struct _Elm_Store_Item_Mapping_Empty Elm_Store_Item_Mapping_Empty;
- typedef struct _Elm_Store_Item_Mapping_Icon Elm_Store_Item_Mapping_Icon;
- typedef struct _Elm_Store_Item_Mapping_Photo Elm_Store_Item_Mapping_Photo;
- typedef struct _Elm_Store_Item_Mapping_Custom Elm_Store_Item_Mapping_Custom;
-
- typedef Eina_Bool (*Elm_Store_Item_List_Cb) (void *data, Elm_Store_Item_Info *info);
- typedef void (*Elm_Store_Item_Fetch_Cb) (void *data, Elm_Store_Item *sti);
- typedef void (*Elm_Store_Item_Unfetch_Cb) (void *data, Elm_Store_Item *sti);
- typedef void *(*Elm_Store_Item_Mapping_Cb) (void *data, Elm_Store_Item *sti, const char *part);
-
- typedef enum
- {
- ELM_STORE_ITEM_MAPPING_NONE = 0,
- ELM_STORE_ITEM_MAPPING_LABEL, // const char * -> label
- ELM_STORE_ITEM_MAPPING_STATE, // Eina_Bool -> state
- ELM_STORE_ITEM_MAPPING_ICON, // char * -> icon path
- ELM_STORE_ITEM_MAPPING_PHOTO, // char * -> photo path
- ELM_STORE_ITEM_MAPPING_CUSTOM, // item->custom(it->data, it, part) -> void * (-> any)
- // can add more here as needed by common apps
- ELM_STORE_ITEM_MAPPING_LAST
- } Elm_Store_Item_Mapping_Type;
-
- struct _Elm_Store_Item_Mapping_Icon
- {
- // FIXME: allow edje file icons
- int w, h;
- Elm_Icon_Lookup_Order lookup_order;
- Eina_Bool standard_name : 1;
- Eina_Bool no_scale : 1;
- Eina_Bool smooth : 1;
- Eina_Bool scale_up : 1;
- Eina_Bool scale_down : 1;
- };
+ typedef struct _Elm_Store Elm_Store;
+ typedef struct _Elm_Store_Filesystem Elm_Store_Filesystem;
+ typedef struct _Elm_Store_Item Elm_Store_Item;
+ typedef struct _Elm_Store_Item_Filesystem Elm_Store_Item_Filesystem;
+ typedef struct _Elm_Store_Item_Info Elm_Store_Item_Info;
+ typedef struct _Elm_Store_Item_Info_Filesystem Elm_Store_Item_Info_Filesystem;
+ typedef struct _Elm_Store_Item_Mapping Elm_Store_Item_Mapping;
+ typedef struct _Elm_Store_Item_Mapping_Empty Elm_Store_Item_Mapping_Empty;
+ typedef struct _Elm_Store_Item_Mapping_Icon Elm_Store_Item_Mapping_Icon;
+ typedef struct _Elm_Store_Item_Mapping_Photo Elm_Store_Item_Mapping_Photo;
+ typedef struct _Elm_Store_Item_Mapping_Custom Elm_Store_Item_Mapping_Custom;
- struct _Elm_Store_Item_Mapping_Empty
- {
- Eina_Bool dummy;
- };
+ typedef Eina_Bool (*Elm_Store_Item_List_Cb) (void *data, Elm_Store_Item_Info *info);
+ typedef void (*Elm_Store_Item_Fetch_Cb) (void *data, Elm_Store_Item *sti);
+ typedef void (*Elm_Store_Item_Unfetch_Cb) (void *data, Elm_Store_Item *sti);
+ typedef void *(*Elm_Store_Item_Mapping_Cb) (void *data, Elm_Store_Item *sti, const char *part);
- struct _Elm_Store_Item_Mapping_Photo
- {
- int size;
- };
+ typedef enum
+ {
+ ELM_STORE_ITEM_MAPPING_NONE = 0,
+ ELM_STORE_ITEM_MAPPING_LABEL, // const char * -> label
+ ELM_STORE_ITEM_MAPPING_STATE, // Eina_Bool -> state
+ ELM_STORE_ITEM_MAPPING_ICON, // char * -> icon path
+ ELM_STORE_ITEM_MAPPING_PHOTO, // char * -> photo path
+ ELM_STORE_ITEM_MAPPING_CUSTOM, // item->custom(it->data, it, part) -> void * (-> any)
+ // can add more here as needed by common apps
+ ELM_STORE_ITEM_MAPPING_LAST
+ } Elm_Store_Item_Mapping_Type;
+
+ struct _Elm_Store_Item_Mapping_Icon
+ {
+ // FIXME: allow edje file icons
+ int w, h;
+ Elm_Icon_Lookup_Order lookup_order;
+ Eina_Bool standard_name : 1;
+ Eina_Bool no_scale : 1;
+ Eina_Bool smooth : 1;
+ Eina_Bool scale_up : 1;
+ Eina_Bool scale_down : 1;
+ };
- struct _Elm_Store_Item_Mapping_Custom
- {
- Elm_Store_Item_Mapping_Cb func;
- };
+ struct _Elm_Store_Item_Mapping_Empty
+ {
+ Eina_Bool dummy;
+ };
- struct _Elm_Store_Item_Mapping
- {
- Elm_Store_Item_Mapping_Type type;
- const char *part;
- int offset;
- union
- {
- Elm_Store_Item_Mapping_Empty empty;
- Elm_Store_Item_Mapping_Icon icon;
- Elm_Store_Item_Mapping_Photo photo;
- Elm_Store_Item_Mapping_Custom custom;
- // add more types here
- } details;
- };
+ struct _Elm_Store_Item_Mapping_Photo
+ {
+ int size;
+ };
- struct _Elm_Store_Item_Info
- {
- Elm_Genlist_Item_Class *item_class;
- const Elm_Store_Item_Mapping *mapping;
- void *data;
- char *sort_id;
- };
+ struct _Elm_Store_Item_Mapping_Custom
+ {
+ Elm_Store_Item_Mapping_Cb func;
+ };
- struct _Elm_Store_Item_Info_Filesystem
- {
- Elm_Store_Item_Info base;
- char *path;
- };
+ struct _Elm_Store_Item_Mapping
+ {
+ Elm_Store_Item_Mapping_Type type;
+ const char *part;
+ int offset;
+ union
+ {
+ Elm_Store_Item_Mapping_Empty empty;
+ Elm_Store_Item_Mapping_Icon icon;
+ Elm_Store_Item_Mapping_Photo photo;
+ Elm_Store_Item_Mapping_Custom custom;
+ // add more types here
+ } details;
+ };
+
+ struct _Elm_Store_Item_Info
+ {
+ Elm_Genlist_Item_Class *item_class;
+ const Elm_Store_Item_Mapping *mapping;
+ void *data;
+ char *sort_id;
+ };
+
+ struct _Elm_Store_Item_Info_Filesystem
+ {
+ Elm_Store_Item_Info base;
+ char *path;
+ };
#define ELM_STORE_ITEM_MAPPING_END { ELM_STORE_ITEM_MAPPING_NONE, NULL, 0, { .empty = { EINA_TRUE } } }
#define ELM_STORE_ITEM_MAPPING_OFFSET(st, it) offsetof(st, it)
- EAPI void elm_store_free(Elm_Store *st);
+ EAPI void elm_store_free(Elm_Store *st);
- EAPI Elm_Store *elm_store_filesystem_new(void);
- EAPI void elm_store_filesystem_directory_set(Elm_Store *st, const char *dir) EINA_ARG_NONNULL(1);
- EAPI const char *elm_store_filesystem_directory_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
- EAPI const char *elm_store_item_filesystem_path_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ EAPI Elm_Store *elm_store_filesystem_new(void);
+ EAPI void elm_store_filesystem_directory_set(Elm_Store *st, const char *dir) EINA_ARG_NONNULL(1);
+ EAPI const char *elm_store_filesystem_directory_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
+ EAPI const char *elm_store_item_filesystem_path_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
- EAPI void elm_store_target_genlist_set(Elm_Store *st, Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_target_genlist_set(Elm_Store *st, Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_store_cache_set(Elm_Store *st, int max) EINA_ARG_NONNULL(1);
- EAPI int elm_store_cache_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
- EAPI void elm_store_list_func_set(Elm_Store *st, Elm_Store_Item_List_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_store_fetch_func_set(Elm_Store *st, Elm_Store_Item_Fetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_store_fetch_thread_set(Elm_Store *st, Eina_Bool use_thread) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_store_fetch_thread_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_cache_set(Elm_Store *st, int max) EINA_ARG_NONNULL(1);
+ EAPI int elm_store_cache_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_list_func_set(Elm_Store *st, Elm_Store_Item_List_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+ EAPI void elm_store_fetch_func_set(Elm_Store *st, Elm_Store_Item_Fetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+ EAPI void elm_store_fetch_thread_set(Elm_Store *st, Eina_Bool use_thread) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_store_fetch_thread_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
- EAPI void elm_store_unfetch_func_set(Elm_Store *st, Elm_Store_Item_Unfetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_store_sorted_set(Elm_Store *st, Eina_Bool sorted) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_store_sorted_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
- EAPI void elm_store_item_data_set(Elm_Store_Item *sti, void *data) EINA_ARG_NONNULL(1);
- EAPI void *elm_store_item_data_get(Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
- EAPI const Elm_Store *elm_store_item_store_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
- EAPI const Elm_Genlist_Item *elm_store_item_genlist_item_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_unfetch_func_set(Elm_Store *st, Elm_Store_Item_Unfetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+ EAPI void elm_store_sorted_set(Elm_Store *st, Eina_Bool sorted) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_store_sorted_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_item_data_set(Elm_Store_Item *sti, void *data) EINA_ARG_NONNULL(1);
+ EAPI void *elm_store_item_data_get(Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ EAPI const Elm_Store *elm_store_item_store_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ EAPI const Elm_Genlist_Item *elm_store_item_genlist_item_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
/**
* @defgroup SegmentControl SegmentControl
EAPI Eina_Bool elm_naviframe_item_title_visible_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
/**
+ * @brief Set creating prev button automatically or not
+ *
+ * @param obj The naviframe object
+ * @param auto_pushed If @c EINA_TRUE, the previous button(back button) will
+ * be created internally when you pass the @c NULL to the prev_btn
+ * parameter in elm_naviframe_item_push
+ *
+ * @see also elm_naviframe_item_push()
+ */
+ EAPI void elm_naviframe_prev_btn_auto_pushed_set(Evas_Object *obj, Eina_Bool auto_pushed) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Get a value whether prev button(back button) will be auto pushed or
+ * not.
+ *
+ * @param obj The naviframe object
+ * @return If @c EINA_TRUE, prev button will be auto pushed.
+ *
+ * @see also elm_naviframe_item_push()
+ * elm_naviframe_prev_btn_auto_pushed_set()
+ */
+ EAPI Eina_Bool elm_naviframe_prev_btn_auto_pushed_get(const Evas_Object *obj); EINA_ARG_NONNULL(1);
+
+ /**
* @}
*/