elementary - removed deprecated widgets & APIs.
[framework/uifw/elementary.git] / src / lib / Elementary.h.in
index c2be1d3..1a9d0e3 100644 (file)
@@ -254,7 +254,7 @@ ELM_MAIN()
 @author Michael Bouchaud <michael.bouchaud@@gmail.com>
 @author Jonathan Atton (Watchwolf) <jonathan.atton@@gmail.com>
 @author Brian Wang <brian.wang.0721@@gmail.com>
-@author Mike Blumenkrantz (zmike) <mike@@zentific.com>
+@author Mike Blumenkrantz (discomfitor/zmike) <michael.blumenkrantz@@gmail.com>
 @author Samsung Electronics <tbd>
 @author Samsung SAIT <tbd>
 @author Brett Nash <nash@@nash.id.au>
@@ -284,13 +284,16 @@ ELM_MAIN()
 @author Shinwoo Kim <kimcinoo@@gmail.com>
 @author Govindaraju SM <govi.sm@@samsung.com> <govism@@gmail.com>
 @author Prince Kumar Dubey <prince.dubey@@samsung.com> <prince.dubey@@gmail.com>
-@author Sung W. Park <sungwoo@gmail.com>
-@author Thierry el Borgi <thierry@substantiel.fr>
-@author Shilpa Singh <shilpa.singh@samsung.com> <shilpasingh.o@gmail.com>
-@author Chanwook Jung <joey.jung@samsung.com>
-@author Hyoyoung Chang <hyoyoung.chang@samsung.com>
-@author Guillaume "Kuri" Friloux <guillaume.friloux@asp64.com>
-@author Kim Yunhan <spbear@gmail.com>
+@author Sung W. Park <sungwoo@@gmail.com>
+@author Thierry el Borgi <thierry@@substantiel.fr>
+@author Shilpa Singh <shilpa.singh@@samsung.com> <shilpasingh.o@@gmail.com>
+@author Chanwook Jung <joey.jung@@samsung.com>
+@author Hyoyoung Chang <hyoyoung.chang@@samsung.com>
+@author Guillaume "Kuri" Friloux <guillaume.friloux@@asp64.com>
+@author Kim Yunhan <spbear@@gmail.com>
+@author Bluezery <ohpowel@@gmail.com>
+@author Nicolas Aguirre <aguirre.nicolas@@gmail.com>
+@author Sanjeev BA <iamsanjeev@@gmail.com>
 
 Please contact <enlightenment-devel@lists.sourceforge.net> to get in
 contact with the developers and maintainers.
@@ -368,7 +371,7 @@ contact with the developers and maintainers.
 #include <Ecore_Evas.h>
 #include <Ecore_File.h>
 #include <Ecore_IMF.h>
-#include <Ecore_Con.h>
+@ELEMENTARY_ECORE_CON_INC@
 #include <Edje.h>
 
 #ifdef ELM_EDBUS
@@ -421,6 +424,8 @@ contact with the developers and maintainers.
 # define EAPI_MAIN EAPI
 #endif
 
+#define WILL_DEPRECATE /* API is deprecated in upstream EFL, will be deprecated in SLP soon */
+
 /* allow usage from c++ */
 #ifdef __cplusplus
 extern "C" {
@@ -585,19 +590,21 @@ extern "C" {
     * Called back when a widget's tooltip is activated and needs content.
     * @param data user-data given to elm_object_tooltip_content_cb_set()
     * @param obj owner widget.
+    * @param tooltip The tooltip object (affix content to this!)
     */
-   typedef Evas_Object *(*Elm_Tooltip_Content_Cb) (void *data, Evas_Object *obj);
+   typedef Evas_Object *(*Elm_Tooltip_Content_Cb) (void *data, Evas_Object *obj, Evas_Object *tooltip);
 
    /**
     * Called back when a widget's item tooltip is activated and needs content.
     * @param data user-data given to elm_object_tooltip_content_cb_set()
     * @param obj owner widget.
+    * @param tooltip The tooltip object (affix content to this!)
     * @param item context dependent item. As an example, if tooltip was
     *        set on Elm_List_Item, then it is of this type.
     */
-   typedef Evas_Object *(*Elm_Tooltip_Item_Content_Cb) (void *data, Evas_Object *obj, void *item);
+   typedef Evas_Object *(*Elm_Tooltip_Item_Content_Cb) (void *data, Evas_Object *obj, Evas_Object *tooltip, void *item);
 
-   typedef Eina_Bool (*Elm_Event_Cb) (void *data, Evas_Object *obj, Evas_Object *src, Evas_Callback_Type type, void *event_info);
+   typedef Eina_Bool (*Elm_Event_Cb) (void *data, Evas_Object *obj, Evas_Object *src, Evas_Callback_Type type, void *event_info); /**< Function prototype definition for callbacks on input events happening on Elementary widgets. @a data will receive the user data pointer passed to elm_object_event_callback_add(). @a src will be a pointer to the widget on which the input event took place. @a type will get the type of this event and @a event_info, the struct with details on this event. */
 
 #ifndef ELM_LIB_QUICKLAUNCH
 #define ELM_MAIN() int main(int argc, char **argv) {elm_init(argc, argv); return elm_main(argc, argv);} /**< macro to be used after the elm_main() function */
@@ -973,12 +980,38 @@ extern "C" {
     * @param label The new text of the label
     *
     * @note Elementary objects may have many labels (e.g. Action Slider)
+    * @deprecated Use elm_object_part_text_set() instead.
+    * @ingroup General
+    */
+   EINA_DEPRECATED EAPI void elm_object_text_part_set(Evas_Object *obj, const char *part, const char *label);
+
+   /**
+    * Set a label of an object
+    *
+    * @param obj The Elementary object
+    * @param part The text part name to set (NULL for the default label)
+    * @param label The new text of the label
+    *
+    * @note Elementary objects may have many labels (e.g. Action Slider)
     *
     * @ingroup General
     */
-   EAPI void         elm_object_text_part_set(Evas_Object *obj, const char *part, const char *label);
+   EAPI void elm_object_part_text_set(Evas_Object *obj, const char *part, const char *label);
 
-#define elm_object_text_set(obj, label) elm_object_text_part_set((obj), NULL, (label))
+#define elm_object_text_set(obj, label) elm_object_part_text_set((obj), NULL, (label))
+
+   /**
+    * Get a label of an object
+    *
+    * @param obj The Elementary object
+    * @param part The text part name to get (NULL for the default label)
+    * @return text of the label or NULL for any error
+    *
+    * @note Elementary objects may have many labels (e.g. Action Slider)
+    * @deprecated Use elm_object_part_text_get() instead.
+    * @ingroup General
+    */
+   EINA_DEPRECATED EAPI const char  *elm_object_text_part_get(const Evas_Object *obj, const char *part);
 
    /**
     * Get a label of an object
@@ -991,16 +1024,16 @@ extern "C" {
     *
     * @ingroup General
     */
-   EAPI const char  *elm_object_text_part_get(const Evas_Object *obj, const char *part);
+   EAPI const char  *elm_object_part_text_get(const Evas_Object *obj, const char *part);
 
-#define elm_object_text_get(obj) elm_object_text_part_get((obj), NULL)
+#define elm_object_text_get(obj) elm_object_part_text_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(),
+    * internally and set it on the object using elm_object_part_text_set(),
     * also storing the original string so that it can be automatically
     * translated when the language is changed with elm_language_set().
     *
@@ -1027,7 +1060,7 @@ extern "C" {
    /**
     * Gets the original string set as translatable for an object
     *
-    * When setting translated strings, the function elm_object_text_part_get()
+    * When setting translated strings, the function elm_object_part_text_get()
     * will return the translation returned by @c gettext(). To get the
     * original string use this function.
     *
@@ -1050,12 +1083,38 @@ extern "C" {
     * @param content The new content of the object
     *
     * @note Elementary objects may have many contents
+    * @deprecated Use elm_object_part_content_set instead.
+    * @ingroup General
+    */
+   EINA_DEPRECATED EAPI void elm_object_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content);
+
+   /**
+    * Set a content of an object
+    *
+    * @param obj The Elementary object
+    * @param part The content part name to set (NULL for the default content)
+    * @param content The new content of the object
+    *
+    * @note Elementary objects may have many contents
     *
     * @ingroup General
     */
-   EAPI void elm_object_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content);
+   EAPI void elm_object_part_content_set(Evas_Object *obj, const char *part, Evas_Object *content);
 
-#define elm_object_content_set(obj, content) elm_object_content_part_set((obj), NULL, (content))
+#define elm_object_content_set(obj, content) elm_object_part_content_set((obj), NULL, (content))
+
+   /**
+    * Get a content of an object
+    *
+    * @param obj The Elementary object
+    * @param item The content part name to get (NULL for the default content)
+    * @return content of the object or NULL for any error
+    *
+    * @note Elementary objects may have many contents
+    * @deprecated Use elm_object_part_content_get instead.
+    * @ingroup General
+    */
+   EINA_DEPRECATED EAPI Evas_Object *elm_object_content_part_get(const Evas_Object *obj, const char *part);
 
    /**
     * Get a content of an object
@@ -1068,9 +1127,21 @@ extern "C" {
     *
     * @ingroup General
     */
-   EAPI Evas_Object *elm_object_content_part_get(const Evas_Object *obj, const char *part);
+   EAPI Evas_Object *elm_object_part_content_get(const Evas_Object *obj, const char *part);
+
+#define elm_object_content_get(obj) elm_object_part_content_get((obj), NULL)
 
-#define elm_object_content_get(obj) elm_object_content_part_get((obj), NULL)
+   /**
+    * Unset a content of an object
+    *
+    * @param obj The Elementary object
+    * @param item The content part name to unset (NULL for the default content)
+    *
+    * @note Elementary objects may have many contents
+    * @deprecated Use elm_object_part_content_unset instead.
+    * @ingroup General
+    */
+   EINA_DEPRECATED EAPI Evas_Object *elm_object_content_part_unset(Evas_Object *obj, const char *part);
 
    /**
     * Unset a content of an object
@@ -1082,9 +1153,19 @@ extern "C" {
     *
     * @ingroup General
     */
-   EAPI Evas_Object *elm_object_content_part_unset(Evas_Object *obj, const char *part);
+   EAPI Evas_Object *elm_object_part_content_unset(Evas_Object *obj, const char *part);
+
+#define elm_object_content_unset(obj) elm_object_part_content_unset((obj), NULL)
 
-#define elm_object_content_unset(obj) elm_object_content_part_unset((obj), NULL)
+   /**
+    * Set the text to read out when in accessibility mode
+    *
+    * @param obj The object which is to be described
+    * @param txt The text that describes the widget to people with poor or no vision
+    *
+    * @ingroup General
+    */
+   EAPI void elm_object_access_info_set(Evas_Object *obj, const char *txt);
 
    /**
     * Get the widget object's handle which contains a given item
@@ -1106,12 +1187,25 @@ extern "C" {
     * @param content The new content of the object item
     *
     * @note Elementary object items may have many contents
+    * @deprecated Use elm_object_item_part_content_set instead.
+    * @ingroup General
+    */
+   EINA_DEPRECATED EAPI void elm_object_item_content_part_set(Elm_Object_Item *it, const char *part, Evas_Object *content);
+
+   /**
+    * Set a content of an object item
+    *
+    * @param it The Elementary object item
+    * @param part The content part name to set (NULL for the default content)
+    * @param content The new content of the object item
+    *
+    * @note Elementary object items may have many contents
     *
     * @ingroup General
     */
-   EAPI void elm_object_item_content_part_set(Elm_Object_Item *it, const char *part, Evas_Object *content);
+   EAPI void elm_object_item_part_content_set(Elm_Object_Item *it, const char *part, Evas_Object *content);
 
-#define elm_object_item_content_set(it, content) elm_object_item_content_part_set((it), NULL, (content))
+#define elm_object_item_content_set(it, content) elm_object_item_part_content_set((it), NULL, (content))
 
    /**
     * Get a content of an object item
@@ -1121,12 +1215,37 @@ extern "C" {
     * @return content of the object item or NULL for any error
     *
     * @note Elementary object items may have many contents
-    *
+    * @deprecated Use elm_object_item_part_content_get instead.
     * @ingroup General
     */
    EAPI Evas_Object *elm_object_item_content_part_get(const Elm_Object_Item *it, const char *part);
 
-#define elm_object_item_content_get(it) elm_object_item_content_part_get((it), NULL)
+   /**
+    * Get a content of an object item
+    *
+    * @param it The Elementary object item
+    * @param part The content part name to unset (NULL for the default content)
+    * @return content of the object item or NULL for any error
+    *
+    * @note Elementary object items may have many contents
+    *
+    * @ingroup General
+    */
+   EAPI Evas_Object *elm_object_item_part_content_get(const Elm_Object_Item *it, const char *part);
+
+#define elm_object_item_content_get(it) elm_object_item_part_content_get((it), NULL)
+
+   /**
+    * Unset a content of an object item
+    *
+    * @param it The Elementary object item
+    * @param part The content part name to unset (NULL for the default content)
+    *
+    * @note Elementary object items may have many contents
+    * @deprecated Use elm_object_item_part_content_unset instead.
+    * @ingroup General
+    */
+   EINA_DEPRECATED EAPI Evas_Object *elm_object_item_content_part_unset(Elm_Object_Item *it, const char *part);
 
    /**
     * Unset a content of an object item
@@ -1138,9 +1257,22 @@ extern "C" {
     *
     * @ingroup General
     */
-   EAPI Evas_Object *elm_object_item_content_part_unset(Elm_Object_Item *it, const char *part);
+   EAPI Evas_Object *elm_object_item_part_content_unset(Elm_Object_Item *it, const char *part);
+
+#define elm_object_item_content_unset(it) elm_object_item_part_content_unset((it), NULL)
 
-#define elm_object_item_content_unset(it, content) elm_object_item_content_part_unset((it), (content))
+   /**
+    * Set a label of an object item
+    *
+    * @param it The Elementary object item
+    * @param part The text part name to set (NULL for the default label)
+    * @param label The new text of the label
+    *
+    * @note Elementary object items may have many labels
+    * @deprecated Use elm_object_item_part_text_set instead.
+    * @ingroup General
+    */
+   WILL_DEPRECATE  EAPI void elm_object_item_text_part_set(Elm_Object_Item *it, const char *part, const char *label);
 
    /**
     * Set a label of an object item
@@ -1153,9 +1285,9 @@ extern "C" {
     *
     * @ingroup General
     */
-   EAPI void elm_object_item_text_part_set(Elm_Object_Item *it, const char *part, const char *label);
+   EAPI void elm_object_item_part_text_set(Elm_Object_Item *it, const char *part, const char *label);
 
-#define elm_object_item_text_set(it, label) elm_object_item_text_part_set((it), NULL, (label))
+#define elm_object_item_text_set(it, label) elm_object_item_part_text_set((it), NULL, (label))
 
    /**
     * Get a label of an object item
@@ -1165,12 +1297,22 @@ extern "C" {
     * @return text of the label or NULL for any error
     *
     * @note Elementary object items may have many labels
+    * @deprecated Use elm_object_item_part_text_get instead.
+    * @ingroup General
+    */
+   WILL_DEPRECATE  EAPI const char *elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part);
+   /**
+    * Get a label of an object item
+    *
+    * @param it The Elementary object item
+    * @param part The text part name to get (NULL for the default label)
+    * @return text of the label or NULL for any error
+    *
+    * @note Elementary object items may have many labels
     *
     * @ingroup General
     */
-   EAPI const char *elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part);
-
-#define elm_object_item_text_get(it) elm_object_item_text_part_get((it), NULL)
+   EAPI const char *elm_object_item_part_text_get(const Elm_Object_Item *it, const char *part);
 
    /**
     * Set the text to read out when in accessibility mode
@@ -1192,9 +1334,21 @@ extern "C" {
     */
    EAPI void elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt);
 
+#define elm_object_item_text_get(it) elm_object_item_part_text_get((it), NULL)
+
+   /**
+    * Set the text to read out when in accessibility mode
+    *
+    * @param it The object item which is to be described
+    * @param txt The text that describes the widget to people with poor or no vision
+    *
+    * @ingroup General
+    */
+   EAPI void elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt);
+
    /**
     * Get the data associated with an object item
-    * @param it The object item
+    * @param it The Elementary object item
     * @return The data associated with @p it
     *
     * @ingroup General
@@ -1203,7 +1357,7 @@ extern "C" {
 
    /**
     * Set the data associated with an object item
-    * @param it The object item
+    * @param it The Elementary object item
     * @param data The data to be associated with @p it
     *
     * @ingroup General
@@ -1222,7 +1376,40 @@ extern "C" {
     * @param source The signal's source.
     * @ingroup General
     */
-   EAPI void             elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source) EINA_ARG_NONNULL(1);
+   EAPI void elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source) EINA_ARG_NONNULL(1);
+
+   /**
+    * Set the disabled state of an widget item.
+    *
+    * @param obj The Elementary object item
+    * @param disabled The state to put in in: @c EINA_TRUE for
+    *        disabled, @c EINA_FALSE for enabled
+    *
+    * Elementary object item can be @b disabled, in which state they won't
+    * receive input and, in general, will be themed differently from
+    * their normal state, usually greyed out. Useful for contexts
+    * where you don't want your users to interact with some of the
+    * parts of you interface.
+    *
+    * This sets the state for the widget item, either disabling it or
+    * enabling it back.
+    *
+    * @ingroup Styles
+    */
+   EAPI void elm_object_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+
+   /**
+    * Get the disabled state of an widget item.
+    *
+    * @param obj The Elementary object
+    * @return @c EINA_TRUE, if the widget item is disabled, @c EINA_FALSE
+    *            if it's enabled (or on errors)
+    *
+    * This gets the state of the widget, which might be enabled or disabled.
+    *
+    * @ingroup Styles
+    */
+   EAPI Eina_Bool    elm_object_item_disabled_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
 
    /**
     * @}
@@ -1837,7 +2024,7 @@ extern "C" {
     *
     * Useful when you want to force reloading of configuration values for
     * a profile. If one removes user custom configuration directories,
-    * for example, it will force a reload with system values insted.
+    * for example, it will force a reload with system values instead.
     *
     */
    EAPI void         elm_config_reload(void);
@@ -2362,10 +2549,11 @@ extern "C" {
     * the one receiving input events.
     *
     * @see elm_object_focus_get()
+    * @deprecated use elm_object_focus_set() instead.
     *
     * @ingroup Focus
     */
-   EAPI void             elm_object_focus(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void             elm_object_focus(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Remove the focus from an Elementary object
@@ -2376,10 +2564,11 @@ extern "C" {
     * previous element in the focus chain list.
     *
     * @see elm_object_focus() and elm_object_focus_custom_chain_get()
+    * @deprecated use elm_object_focus_set() instead.
     *
     * @ingroup Focus
     */
-   EAPI void             elm_object_unfocus(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void             elm_object_unfocus(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set the ability for an Element object to be focused
@@ -2527,7 +2716,7 @@ extern "C" {
     *
     * @ingroup Focus
     */
-   EAPI void             elm_object_tree_unfocusable_set(Evas_Object *obj, Eina_Bool tree_unfocusable); EINA_ARG_NONNULL(1);
+   EAPI void             elm_object_tree_unfocusable_set(Evas_Object *obj, Eina_Bool tree_unfocusable) EINA_ARG_NONNULL(1);
 
    /**
     * Get whether an Elementary object and its children are unfocusable or not.
@@ -2540,7 +2729,7 @@ extern "C" {
     *
     * @ingroup Focus
     */
-   EAPI Eina_Bool        elm_object_tree_unfocusable_get(const Evas_Object *obj); EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool        elm_object_tree_unfocusable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * @defgroup Scrolling Scrolling
@@ -4282,6 +4471,21 @@ extern "C" {
     */
    EAPI Evas_Object *elm_win_inlined_image_object_get(Evas_Object *obj);
    /**
+    * Determine whether a window has focus
+    * @param obj The window to query
+    * @return EINA_TRUE if the window exists and has focus, else EINA_FALSE
+    */
+   EAPI Eina_Bool    elm_win_focus_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Get screen geometry details for the screen that a window is on
+    * @param obj The window to query
+    * @param x where to return the horizontal offset value. May be NULL.
+    * @param y where to return the vertical offset value. May be NULL.
+    * @param w where to return the width value. May be NULL.
+    * @param h where to return the height value. May be NULL.
+    */
+   EAPI void         elm_win_screen_size_get(const Evas_Object *obj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1);
+   /**
     * Set the enabled status for the focus highlight in a window
     *
     * This function will enable or disable the focus highlight only for the
@@ -4515,7 +4719,7 @@ extern "C" {
     * centered, scaled or stretched.
     * 
     * Default contents parts of the bg widget that you can use for are:
-    * @li "elm.swallow.content" - overlay of the bg
+    * @li "overlay" - overlay of the bg
     *
     * Here is some sample code using it:
     * @li @ref bg_01_example_page
@@ -4630,12 +4834,12 @@ extern "C" {
     * deleted, even if you set the new one to NULL. If you want to keep that
     * old content object, use the elm_bg_overlay_unset() function.
     *
-    * @deprecated use elm_object_content_set() instead
+    * @deprecated use elm_object_part_content_set() instead
     *
     * @ingroup Bg
     */
 
-   EAPI void          elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void          elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay) EINA_ARG_NONNULL(1);
 
    /**
     * Get the overlay object used for the background object.
@@ -4645,7 +4849,7 @@ extern "C" {
     *
     * Return the content object which is set for this widget
     *
-    * @deprecated use elm_object_content_get() instead
+    * @deprecated use elm_object_part_content_get() instead
     *
     * @ingroup Bg
     */
@@ -4659,11 +4863,11 @@ extern "C" {
     *
     * Unparent and return the overlay object which was set for this widget
     *
-    * @deprecated use elm_object_content_unset() instead
+    * @deprecated use elm_object_part_content_unset() instead
     *
     * @ingroup Bg
     */
-   EAPI Evas_Object  *elm_bg_overlay_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object  *elm_bg_overlay_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set the size of the pixmap representation of the image.
@@ -4829,7 +5033,7 @@ extern "C" {
     *
     * @ingroup Icon
     */
-   EAPI Eina_Bool             elm_icon_memfile_set(Evas_Object *obj, const void *img, size_t size, const char *format, const char *key) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool             elm_icon_memfile_set(Evas_Object *obj, const void *img, size_t size, const char *format, const char *key) EINA_ARG_NONNULL(1, 2);
    /**
     * Get the file that will be used as icon.
     *
@@ -5162,27 +5366,6 @@ extern "C" {
     */
    EAPI Eina_Bool           elm_icon_animated_play_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
-   /* compatibility code to avoid API and ABI breaks */
-   EINA_DEPRECATED EAPI extern inline void elm_icon_anim_set(Evas_Object *obj, Eina_Bool animated)
-     {
-        elm_icon_animated_set(obj, animated);
-     }
-
-   EINA_DEPRECATED EAPI extern inline Eina_Bool elm_icon_anim_get(const Evas_Object *obj)
-     {
-        return elm_icon_animated_get(obj);
-     }
-
-   EINA_DEPRECATED EAPI extern inline void elm_icon_anim_play_set(Evas_Object *obj, Eina_Bool play)
-     {
-        elm_icon_animated_play_set(obj, play);
-     }
-
-   EINA_DEPRECATED EAPI extern inline Eina_Bool elm_icon_anim_play_get(const Evas_Object *obj)
-     {
-        return elm_icon_animated_play_get(obj);
-     }
-
    /**
     * @}
     */
@@ -6210,10 +6393,10 @@ extern "C" {
     * @li hoversel_vertical_entry: Another internal for @ref Hoversel.
     *
     * Default contents parts of the button widget that you can use for are:
-    * @li "elm.swallow.content" - A icon of the button
+    * @li "icon" - A icon of the button
     *
     * Default text parts of the button widget that you can use for are:
-    * @li "elm.text" - Label of the button
+    * @li "default" - Label of the button
     *
     * Follow through a complete example @ref button_example_01 "here".
     * @{
@@ -6261,35 +6444,6 @@ extern "C" {
     */
    EINA_DEPRECATED EAPI const char  *elm_button_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
-    * Set the label for each state of button
-    *
-    * The passed @p label can be NULL to clean any existing text in it and
-    * leave the button as an icon only object for the state.
-    *
-    * @param obj The button object
-    * @param label The text will be written on the button
-    * @param state The state of button
-    *
-    * @ingroup Button
-    */
-   EINA_DEPRECATED EAPI void         elm_button_label_set_for_state(Evas_Object *obj, const char *label, UIControlState state) EINA_ARG_NONNULL(1);
-   /**
-    * Get the label of button for each state
-    *
-    * The string returned is an internal pointer and should not be freed or
-    * altered. It will also become invalid when the button is destroyed.
-    * The string returned, if not NULL, is a stringshare, so if you need to
-    * keep it around even after the button is destroyed, you can use
-    * eina_stringshare_ref().
-    *
-    * @param obj The button object
-    * @param state The state of button
-    * @return The title of button for state
-    *
-    * @ingroup Button
-    */
-   EINA_DEPRECATED EAPI const char  *elm_button_label_get_for_state(const Evas_Object *obj, UIControlState state) EINA_ARG_NONNULL(1);
-   /**
     * Set the icon used for the button
     *
     * Setting a new icon will delete any other that was previously set, making
@@ -6298,9 +6452,9 @@ extern "C" {
     *
     * @param obj The button object
     * @param icon The icon object for the button
-    * @deprecated use elm_object_content_set() instead.
+    * @deprecated use elm_object_part_content_set() instead.
     */
-   EAPI void         elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void         elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
    /**
     * Get the icon used for the button
     *
@@ -6311,9 +6465,9 @@ extern "C" {
     * @param obj The button object
     * @return The icon object that is being used
     *
-    * @deprecated use elm_button_icon_unset() instead
+    * @deprecated use elm_object_part_content_get() instead
     */
-   EAPI Evas_Object *elm_button_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_button_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Remove the icon set without deleting it and return the object
     *
@@ -6324,9 +6478,9 @@ extern "C" {
     *
     * @param obj The button object
     * @return The icon object that was being used
-    * @deprecated use elm_object_content_unset() instead.
+    * @deprecated use elm_object_part_content_unset() instead.
     */
-   EAPI Evas_Object *elm_button_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_button_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Turn on/off the autorepeat event generated when the button is kept pressed
     *
@@ -7104,11 +7258,8 @@ extern "C" {
     * @note When Elementary is in desktop mode the thumbscroll(a.k.a.
     * fingerscroll) won't work.
     *
-    * To set/get/unset the content of the panel, you can use
-    * elm_object_content_set/get/unset APIs.
-    * Once the content object is set, a previously set one will be deleted.
-    * If you want to keep that old content object, use the
-    * elm_object_content_unset() function
+    * Default contents parts of the scroller widget that you can use for are:
+    * @li "default" - A content of the scroller
     *
     * In @ref tutorial_scroller you'll find an example of how to use most of
     * this API.
@@ -7144,7 +7295,7 @@ extern "C" {
     * elm_scroller_content_unset() function.
     * @deprecated use elm_object_content_set() instead
     */
-   EAPI void         elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the content of the scroller widget
     *
@@ -7156,7 +7307,7 @@ extern "C" {
     * @see elm_scroller_content_set()
     * @deprecated use elm_object_content_get() instead.
     */
-   EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the content of the scroller widget
     *
@@ -7168,7 +7319,7 @@ extern "C" {
     * @see elm_scroller_content_set()
     * @deprecated use elm_object_content_unset() instead.
     */
-   EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Set custom theme elements for the scroller
     *
@@ -7477,7 +7628,7 @@ extern "C" {
     *
     * The Label widget @b doesn't allow text to overflow its boundaries, if the
     * text doesn't fit the geometry of the label it will be ellipsized or be
-    * cut. Elementary provides several themes for this widget:
+    * cut. Elementary provides several styles for this widget:
     * @li default - No animation
     * @li marker - Centers the text in the label and make it bold by default
     * @li slide_long - The entire text appears from the right of the screen and
@@ -7589,8 +7740,7 @@ extern "C" {
     * @param size font size
     *
     * @warning NEVER use this. It is for hyper-special cases only. use styles
-    * instead. e.g. "big", "medium", "small" - or better name them by use:
-    * "title", "footnote", "quote" etc.
+    * instead. e.g. "default", "marker", "slide_long" etc.
     */
    EAPI void         elm_label_fontsize_set(Evas_Object *obj, int fontsize) EINA_ARG_NONNULL(1);
    /**
@@ -7603,8 +7753,7 @@ extern "C" {
     * @param a Alpha property background color of The label object
     *
     * @warning NEVER use this. It is for hyper-special cases only. use styles
-    * instead. e.g. "big", "medium", "small" - or better name them by use:
-    * "title", "footnote", "quote" etc.
+    * instead. e.g. "default", "marker", "slide_long" etc.
     */
    EAPI void         elm_label_text_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a) EINA_ARG_NONNULL(1);
    /**
@@ -7614,8 +7763,7 @@ extern "C" {
     * @param align align mode ("left", "center", "right")
     *
     * @warning NEVER use this. It is for hyper-special cases only. use styles
-    * instead. e.g. "big", "medium", "small" - or better name them by use:
-    * "title", "footnote", "quote" etc.
+    * instead. e.g. "default", "marker", "slide_long" etc.
     */
    EAPI void         elm_label_text_align_set(Evas_Object *obj, const char *alignmode) EINA_ARG_NONNULL(1);
    /**
@@ -7628,8 +7776,7 @@ extern "C" {
     * @param a Alpha property background alpha of The label object
     *
     * @warning NEVER use this. It is for hyper-special cases only. use styles
-    * instead. e.g. "big", "medium", "small" - or better name them by use:
-    * "title", "footnote", "quote" etc.
+    * instead. e.g. "default", "marker", "slide_long" etc.
     */
    EAPI void         elm_label_background_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a) EINA_ARG_NONNULL(1);
    /**
@@ -7645,7 +7792,6 @@ extern "C" {
     * choosen wrap method was ELM_WRAP_WORD.
     */
    EAPI void         elm_label_ellipsis_set(Evas_Object *obj, Eina_Bool ellipsis) EINA_ARG_NONNULL(1);
-   EINA_DEPRECATED EAPI void elm_label_wrap_mode_set(Evas_Object *obj, Eina_Bool wrapmode) EINA_ARG_NONNULL(1);
    /**
     * @brief Set the text slide of the label
     *
@@ -7690,233 +7836,87 @@ extern "C" {
     */
 
    /**
-    * @defgroup Toggle Toggle
+    * @defgroup Frame Frame
     *
-    * @image html img/widget/toggle/preview-00.png
-    * @image latex img/widget/toggle/preview-00.eps
+    * @image html img/widget/frame/preview-00.png
+    * @image latex img/widget/frame/preview-00.eps
     *
-    * @brief A toggle is a slider which can be used to toggle between
-    * two values.  It has two states: on and off.
+    * @brief Frame is a widget that holds some content and has a title.
     *
-    * This widget is deprecated. Please use elm_check_add() instead using the
-    * toggle style like:
-    * 
-    * @code
-    * obj = elm_check_add(parent);
-    * elm_object_style_set(obj, "toggle");
-    * elm_object_text_part_set(obj, "on", "ON");
-    * elm_object_text_part_set(obj, "off", "OFF");
-    * @endcode
-    * 
-    * Signals that you can add callbacks for are:
-    * @li "changed" - Whenever the toggle value has been changed.  Is not called
-    *                 until the toggle is released by the cursor (assuming it
-    *                 has been triggered by the cursor in the first place).
+    * The default look is a frame with a title, but Frame supports multple
+    * styles:
+    * @li default
+    * @li pad_small
+    * @li pad_medium
+    * @li pad_large
+    * @li pad_huge
+    * @li outdent_top
+    * @li outdent_bottom
+    *
+    * Of all this styles only default shows the title. Frame emits no signals.
+    *
+    * Default contents parts of the frame widget that you can use for are:
+    * @li "default" - A content of the frame
+    *
+    * Default text parts of the frame widget that you can use for are:
+    * @li "elm.text" - Label of the frame
+    *
+    * For a detailed example see the @ref tutorial_frame.
     *
-    * @ref tutorial_toggle show how to use a toggle.
     * @{
     */
    /**
-    * @brief Add a toggle to @p parent.
+    * @brief Add a new frame to the parent
     *
     * @param parent The parent object
-    *
-    * @return The toggle object
+    * @return The new object or NULL if it cannot be created
     */
-   EAPI Evas_Object *elm_toggle_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_frame_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
    /**
-    * @brief Sets the label to be displayed with the toggle.
+    * @brief Set the frame label
     *
-    * @param obj The toggle object
-    * @param label The label to be displayed
+    * @param obj The frame object
+    * @param label The label of this frame object
     *
     * @deprecated use elm_object_text_set() instead.
     */
-   EINA_DEPRECATED EAPI void         elm_toggle_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void         elm_frame_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
    /**
-    * @brief Gets the label of the toggle
+    * @brief Get the frame label
+    *
+    * @param obj The frame object
     *
-    * @param obj  toggle object
-    * @return The label of the toggle
+    * @return The label of this frame objet or NULL if unable to get frame
     *
     * @deprecated use elm_object_text_get() instead.
     */
-   EINA_DEPRECATED EAPI const char  *elm_toggle_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI const char  *elm_frame_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
-    * @brief Set the icon used for the toggle
-    *
-    * @param obj The toggle object
-    * @param icon The icon object for the button
+    * @brief Set the content of the frame widget
     *
-    * Once the icon object is set, a previously set one will be deleted
+    * Once the content object is set, a previously set one will be deleted.
     * If you want to keep that old content object, use the
-    * elm_toggle_icon_unset() function.
+    * elm_frame_content_unset() function.
+    *
+    * @param obj The frame object
+    * @param content The content will be filled in this frame object
     *
     * @deprecated use elm_object_content_set() instead.
     */
-   EAPI void         elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void         elm_frame_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
-    * @brief Get the icon used for the toggle
-    *
-    * @param obj The toggle object
-    * @return The icon object that is being used
+    * @brief Get the content of the frame widget
     *
-    * Return the icon object which is set for this widget.
+    * Return the content object which is set for this widget
     *
-    * @see elm_toggle_icon_set()
+    * @param obj The frame object
+    * @return The content that is being used
     *
     * @deprecated use elm_object_content_get() instead.
     */
-   EAPI Evas_Object *elm_toggle_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
-    * @brief Unset the icon used for the toggle
-    *
-    * @param obj The toggle object
-    * @return The icon object that was being used
-    *
-    * Unparent and return the icon object which was set for this widget.
-    *
-    * @see elm_toggle_icon_set()
-    *
-    * @deprecated use elm_object_content_unset() instead.
-    */
-   EAPI Evas_Object *elm_toggle_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Sets the labels to be associated with the on and off states of the toggle.
-    *
-    * @param obj The toggle object
-    * @param onlabel The label displayed when the toggle is in the "on" state
-    * @param offlabel The label displayed when the toggle is in the "off" state
-    *
-    * @deprecated use elm_object_text_part_set() for "on" and "off" parts
-    * instead.
-    */
-   EAPI void         elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Gets the labels associated with the on and off states of the
-    * toggle.
-    *
-    * @param obj The toggle object
-    * @param onlabel A char** to place the onlabel of @p obj into
-    * @param offlabel A char** to place the offlabel of @p obj into
-    *
-    * @deprecated use elm_object_text_part_get() for "on" and "off" parts
-    * instead.
-    */
-   EAPI void         elm_toggle_states_labels_get(const Evas_Object *obj, const char **onlabel, const char **offlabel) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Sets the state of the toggle to @p state.
-    *
-    * @param obj The toggle object
-    * @param state The state of @p obj
-    *
-    * @deprecated use elm_check_state_set() instead.
-    */
-   EAPI void         elm_toggle_state_set(Evas_Object *obj, Eina_Bool state) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Gets the state of the toggle to @p state.
-    *
-    * @param obj The toggle object
-    * @return The state of @p obj
-    *
-    * @deprecated use elm_check_state_get() instead.
-    */
-   EAPI Eina_Bool    elm_toggle_state_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Sets the state pointer of the toggle to @p statep.
-    *
-    * @param obj The toggle object
-    * @param statep The state pointer of @p obj
-    *
-    * @deprecated use elm_check_state_pointer_set() instead.
-    */
-   EAPI void         elm_toggle_state_pointer_set(Evas_Object *obj, Eina_Bool *statep) EINA_ARG_NONNULL(1);
-   /**
-    * @}
-    */
-
-   /**
-    * @defgroup Frame Frame
-    *
-    * @image html img/widget/frame/preview-00.png
-    * @image latex img/widget/frame/preview-00.eps
-    *
-    * @brief Frame is a widget that holds some content and has a title.
-    *
-    * The default look is a frame with a title, but Frame supports multple
-    * styles:
-    * @li default
-    * @li pad_small
-    * @li pad_medium
-    * @li pad_large
-    * @li pad_huge
-    * @li outdent_top
-    * @li outdent_bottom
-    *
-    * Of all this styles only default shows the title. Frame emits no signals.
-    *
-    * Default contents parts of the frame widget that you can use for are:
-    * @li "elm.swallow.content" - A content of the frame
-    *
-    * Default text parts of the frame widget that you can use for are:
-    * @li "elm.text" - Label of the frame
-    *
-    * For a detailed example see the @ref tutorial_frame.
-    *
-    * @{
-    */
-   /**
-    * @brief Add a new frame to the parent
-    *
-    * @param parent The parent object
-    * @return The new object or NULL if it cannot be created
-    */
-   EAPI Evas_Object *elm_frame_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Set the frame label
-    *
-    * @param obj The frame object
-    * @param label The label of this frame object
-    *
-    * @deprecated use elm_object_text_set() instead.
-    */
-   EINA_DEPRECATED EAPI void         elm_frame_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Get the frame label
-    *
-    * @param obj The frame object
-    *
-    * @return The label of this frame objet or NULL if unable to get frame
-    *
-    * @deprecated use elm_object_text_get() instead.
-    */
-   EINA_DEPRECATED EAPI const char  *elm_frame_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Set the content of the frame widget
-    *
-    * Once the content object is set, a previously set one will be deleted.
-    * If you want to keep that old content object, use the
-    * elm_frame_content_unset() function.
-    *
-    * @param obj The frame object
-    * @param content The content will be filled in this frame object
-    *
-    * @deprecated use elm_object_content_set() instead.
-    */
-   EAPI void         elm_frame_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Get the content of the frame widget
-    *
-    * Return the content object which is set for this widget
-    *
-    * @param obj The frame object
-    * @return The content that is being used
-    *
-    * @deprecated use elm_object_content_get() instead.
-    */
-   EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   /**
-    * @brief Unset the content of the frame widget
+    * @brief Unset the content of the frame widget
     *
     * Unparent and return the content object which was set for this widget
     *
@@ -7925,7 +7925,7 @@ extern "C" {
     *
     * @deprecated use elm_object_content_unset() instead.
     */
-   EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @}
     */
@@ -8269,10 +8269,36 @@ extern "C" {
    typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class; /**< Gengrid item class definition structs */
    typedef struct _Elm_Gengrid_Item Elm_Gengrid_Item; /**< Gengrid item handles */
    typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func; /**< Class functions for gengrid item classes. */
-   typedef char        *(*Elm_Gengrid_Item_Label_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Label fetching class function for gengrid item classes. */
-   typedef Evas_Object *(*Elm_Gengrid_Item_Content_Get_Cb)  (void *data, Evas_Object *obj, const char *part); /**< Content (swallowed object) fetching class function for gengrid item classes. */
-   typedef Eina_Bool    (*Elm_Gengrid_Item_State_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< State fetching class function for gengrid item classes. */
-   typedef void         (*Elm_Gengrid_Item_Del_Cb)      (void *data, Evas_Object *obj); /**< Deletion class function for gengrid item classes. */
+   /**
+    * Label fetching class function for Elm_Gen_Item_Class.
+    * @param data The data passed in the item creation function
+    * @param obj The base widget object
+    * @param part The part name of the swallow
+    * @return The allocated (NOT stringshared) string to set as the label
+    */
+   typedef char        *(*Elm_Gengrid_Item_Label_Get_Cb) (void *data, Evas_Object *obj, const char *part);
+   /**
+    * Content (swallowed object) fetching class function for Elm_Gen_Item_Class.
+    * @param data The data passed in the item creation function
+    * @param obj The base widget object
+    * @param part The part name of the swallow
+    * @return The content object to swallow
+    */
+   typedef Evas_Object *(*Elm_Gengrid_Item_Content_Get_Cb)  (void *data, Evas_Object *obj, const char *part);
+   /**
+    * State fetching class function for Elm_Gen_Item_Class.
+    * @param data The data passed in the item creation function
+    * @param obj The base widget object
+    * @param part The part name of the swallow
+    * @return The hell if I know
+    */
+   typedef Eina_Bool    (*Elm_Gengrid_Item_State_Get_Cb) (void *data, Evas_Object *obj, const char *part);
+   /**
+    * Deletion class function for Elm_Gen_Item_Class.
+    * @param data The data passed in the item creation function
+    * @param obj The base widget object
+    */
+   typedef void         (*Elm_Gengrid_Item_Del_Cb)      (void *data, Evas_Object *obj);
 
    /* temporary compatibility code */
    typedef Elm_Gengrid_Item_Label_Get_Cb GridItemLabelGetFunc EINA_DEPRECATED;
@@ -8592,7 +8618,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI void               elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1);
 
    /**
     * Get whether items on a given gengrid widget have their selection
@@ -8607,7 +8633,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI Eina_Bool          elm_gengrid_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Eina_Bool          elm_gengrid_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set whether items on a given gengrid widget can be selected or not.
@@ -8625,7 +8651,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI void               elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1);
 
    /**
     * Get whether items on a given gengrid widget can be selected or
@@ -8639,7 +8665,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI Eina_Bool          elm_gengrid_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Eina_Bool          elm_gengrid_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Enable or disable multi-selection in a given gengrid widget
@@ -8697,7 +8723,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI void               elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
 
    /**
     * Get whether bouncing effects are enabled or disabled, for a
@@ -8713,7 +8739,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI void               elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
 
    /**
     * Set a given gengrid widget's scrolling page size, relative to
@@ -8747,7 +8773,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI void               elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) EINA_ARG_NONNULL(1);
 
    /**
     * Get a given gengrid widget's scrolling page size, relative to
@@ -8763,7 +8789,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI void               elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel) EINA_ARG_NONNULL(1);
 
    /**
     * Set a given gengrid widget's scrolling page size
@@ -8843,7 +8869,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI Elm_Gengrid_Item  *elm_gengrid_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI Elm_Gengrid_Item  *elm_gengrid_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Get the last item in a given gengrid widget
@@ -8859,7 +8885,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI Elm_Gengrid_Item  *elm_gengrid_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI Elm_Gengrid_Item  *elm_gengrid_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Get the @b next item in a gengrid widget's internal list of items,
@@ -8876,7 +8902,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI Elm_Gengrid_Item  *elm_gengrid_item_next_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI Elm_Gengrid_Item  *elm_gengrid_item_next_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
 
    /**
     * Get the @b previous item in a gengrid widget's internal list of items,
@@ -8893,7 +8919,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI Elm_Gengrid_Item  *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI Elm_Gengrid_Item  *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
 
    /**
     * Get the gengrid object's handle which contains a given gengrid
@@ -8906,7 +8932,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI Evas_Object       *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI Evas_Object       *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
 
    /**
     * Remove a gengrid item from its parent, deleting it.
@@ -9027,7 +9053,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI void               elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI void elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
 
    /**
     * Get whether a given gengrid item is selected or not
@@ -9041,7 +9067,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI Eina_Bool          elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI Eina_Bool elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
 
    /**
     * Get the real Evas object created to implement the view of a
@@ -9221,6 +9247,26 @@ extern "C" {
     */
    EAPI const char        *elm_gengrid_item_tooltip_style_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
    /**
+    * @brief Disable size restrictions on an object's tooltip
+    * @param item The tooltip's anchor object
+    * @param disable If EINA_TRUE, size restrictions are disabled
+    * @return EINA_FALSE on failure, EINA_TRUE on success
+    *
+    * This function allows a tooltip to expand beyond its parant window's canvas.
+    * It will instead be limited only by the size of the display.
+    */
+   EAPI Eina_Bool          elm_gengrid_item_tooltip_size_restrict_disable(Elm_Gengrid_Item *item, Eina_Bool disable);
+   /**
+    * @brief Retrieve size restriction state of an object's tooltip
+    * @param item The tooltip's anchor object
+    * @return If EINA_TRUE, size restrictions are disabled
+    *
+    * This function returns whether a tooltip is allowed to expand beyond
+    * its parant window's canvas.
+    * It will instead be limited only by the size of the display.
+    */
+   EAPI Eina_Bool          elm_gengrid_item_tooltip_size_restrict_disabled_get(const Elm_Gengrid_Item *item);
+   /**
     * Set the type of mouse pointer/cursor decoration to be shown,
     * when the mouse pointer is over the given gengrid widget item
     *
@@ -9364,7 +9410,7 @@ extern "C" {
     *
     * @ingroup Gengrid
     */
-   EAPI void               elm_gengrid_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI void elm_gengrid_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Get the selected item in a given gengrid widget
@@ -9746,7 +9792,7 @@ extern "C" {
     * elm_object_content_set/get/unset functions to set, retrieve and unset 
     * objects as content of the @c SWALLOW. After being set to this part, the 
     * object size, position, visibility, clipping and other description 
-    * properties will be totally controled by the description of the given part 
+    * properties will be totally controlled by the description of the given part
     * (inside the Edje theme file).
     *
     * One can use @c evas_object_size_hint_* functions on the child to have some
@@ -9774,12 +9820,12 @@ extern "C" {
     * itself).
     *
     * A similar effect for having a box with its position, size and other things
-    * controled by the Layout theme would be to create an Elementary @ref Box
+    * controlled by the Layout theme would be to create an Elementary @ref Box
     * widget and add it as a Content in the @c SWALLOW part.
     *
     * The main difference of using the Layout Box is that its behavior, the box
     * properties like layouting format, padding, align, etc. will be all
-    * controled by the theme. This means, for example, that a signal could be
+    * controlled by the theme. This means, for example, that a signal could be
     * sent to the Layout theme (with elm_object_signal_emit()) and the theme
     * handled the signal by changing the box padding, or align, or both. Using
     * the Elementary @ref Box widget is not necessarily harder or easier, it
@@ -9802,7 +9848,7 @@ extern "C" {
     * column or row span if necessary.
     *
     * Again, we could have this design by adding a @ref Table widget to the @c
-    * SWALLOW part using elm_object_content_part_set(). The same difference happens
+    * SWALLOW part using elm_object_part_content_set(). The same difference happens
     * here when choosing to use the Layout Table (a @c TABLE part) instead of
     * the @ref Table plus @c SWALLOW part. It's just a matter of convenience.
     *
@@ -9898,7 +9944,7 @@ extern "C" {
     *
     * Once the content object is set, a previously set one will be deleted.
     * If you want to keep that old content object, use the
-    * elm_object_content_part_unset() function.
+    * elm_object_part_content_unset() function.
     *
     * @note In an Edje theme, the part used as a content container is called @c
     * SWALLOW. This is why the parameter name is called @p swallow, but it is
@@ -9906,13 +9952,14 @@ extern "C" {
     * elm_layout_box_append().
     *
     * @see elm_layout_box_append()
-    * @see elm_object_content_part_get()
-    * @see elm_object_content_part_unset()
+    * @see elm_object_part_content_get()
+    * @see elm_object_part_content_unset()
     * @see @ref secBox
+    * @deprecated use elm_object_part_content_set() instead
     *
     * @ingroup Layout
     */
-   EAPI void               elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI void               elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
     * Get the child object in the given content part.
     *
@@ -9921,11 +9968,11 @@ extern "C" {
     *
     * @return The swallowed object or NULL if none or an error occurred
     *
-    * @see elm_object_content_part_set()
+    * @deprecated use elm_object_part_content_get() instead
     *
     * @ingroup Layout
     */
-   EAPI Evas_Object       *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI Evas_Object       *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
    /**
     * Unset the layout content.
     *
@@ -9935,11 +9982,11 @@ extern "C" {
     *
     * Unparent and return the content object which was set for this part.
     *
-    * @see elm_object_content_part_set()
+    * @deprecated use elm_object_part_content_unset() instead
     *
     * @ingroup Layout
     */
-   EAPI Evas_Object       *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE EAPI Evas_Object       *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
    /**
     * Set the text of the given part
     *
@@ -9948,7 +9995,7 @@ extern "C" {
     * @param text The text to set
     *
     * @ingroup Layout
-    * @deprecated use elm_object_text_part_set() instead.
+    * @deprecated use elm_object_part_text_set() instead.
     */
    EINA_DEPRECATED EAPI void               elm_layout_text_set(Evas_Object *obj, const char *part, const char *text) EINA_ARG_NONNULL(1);
    /**
@@ -9960,7 +10007,7 @@ extern "C" {
     * @return The text set in @p part
     *
     * @ingroup Layout
-    * @deprecated use elm_object_text_part_get() instead.
+    * @deprecated use elm_object_part_text_get() instead.
     */
    EINA_DEPRECATED EAPI const char        *elm_layout_text_get(const Evas_Object *obj, const char *part) EINA_ARG_NONNULL(1);
    /**
@@ -10055,7 +10102,7 @@ extern "C" {
     *
     * The object will be removed from the box part and its lifetime will
     * not be handled by the layout anymore. This is equivalent to
-    * elm_object_content_part_unset() for box.
+    * elm_object_part_content_unset() for box.
     *
     * @see elm_layout_box_append()
     * @see elm_layout_box_remove_all()
@@ -10064,7 +10111,7 @@ extern "C" {
     */
    EAPI Evas_Object       *elm_layout_box_remove(Evas_Object *obj, const char *part, Evas_Object *child) EINA_ARG_NONNULL(1, 2, 3);
    /**
-    * Remove all child of the given part box.
+    * Remove all children of the given part box.
     *
     * @param obj The layout object
     * @param part The box part name to remove child.
@@ -10126,7 +10173,7 @@ extern "C" {
     *
     * The object will be unpacked from the table part and its lifetime
     * will not be handled by the layout anymore. This is equivalent to
-    * elm_object_content_part_unset() for table.
+    * elm_object_part_content_unset() for table.
     *
     * @see elm_layout_table_pack()
     * @see elm_layout_table_clear()
@@ -10135,7 +10182,7 @@ extern "C" {
     */
    EAPI Evas_Object       *elm_layout_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj) EINA_ARG_NONNULL(1, 2, 3);
    /**
-    * Remove all child of the given part table.
+    * Remove all the child objects of the given part table.
     *
     * @param obj The layout object
     * @param part The table part name to remove child.
@@ -10163,7 +10210,7 @@ extern "C" {
     *
     * This returns the edje object. It is not expected to be used to then
     * swallow objects via edje_object_part_swallow() for example. Use
-    * elm_object_content_part_set() instead so child object handling and sizing is
+    * elm_object_part_content_set() instead so child object handling and sizing is
     * done properly.
     *
     * @note This function should only be used if you really need to call some
@@ -10173,8 +10220,8 @@ extern "C" {
     *
     * @see elm_object_signal_callback_add()
     * @see elm_object_signal_emit()
-    * @see elm_object_text_part_set()
-    * @see elm_object_content_part_set()
+    * @see elm_object_part_text_set()
+    * @see elm_object_part_content_set()
     * @see elm_layout_box_append()
     * @see elm_layout_table_pack()
     * @see elm_layout_data_get()
@@ -10307,8 +10354,8 @@ extern "C" {
     *
     * @param obj The layout object.
     * @param part_name a part from loaded edje group.
-    * @param engine_only if cursors should be just provided by the engine
-    *        or should also search on widget's theme as well
+    * @param engine_only if cursors should be just provided by the engine (EINA_TRUE)
+    *        or should also search on widget's theme as well (EINA_FALSE)
     *
     * @return EINA_TRUE on success or EINA_FALSE on failure, that may be
     *         part not exists or it did not had a cursor set.
@@ -10331,7 +10378,7 @@ extern "C" {
 
 /**
  * @def elm_layout_icon_set
- * Convienience macro to set the icon object in a layout that follows the
+ * Convenience macro to set the icon object in a layout that follows the
  * Elementary naming convention for its parts.
  *
  * @ingroup Layout
@@ -10339,7 +10386,7 @@ extern "C" {
 #define elm_layout_icon_set(_ly, _obj) \
   do { \
     const char *sig; \
-    elm_object_content_part_set((_ly), "elm.swallow.icon", (_obj)); \
+    elm_object_part_content_set((_ly), "elm.swallow.icon", (_obj)); \
     if ((_obj)) sig = "elm,state,icon,visible"; \
     else sig = "elm,state,icon,hidden"; \
     elm_object_signal_emit((_ly), sig, "elm"); \
@@ -10353,7 +10400,7 @@ extern "C" {
  * @ingroup Layout
  */
 #define elm_layout_icon_get(_ly) \
-  elm_object_content_part_get((_ly), "elm.swallow.icon")
+  elm_object_part_content_get((_ly), "elm.swallow.icon")
 
 /**
  * @def elm_layout_end_set
@@ -10365,7 +10412,7 @@ extern "C" {
 #define elm_layout_end_set(_ly, _obj) \
   do { \
     const char *sig; \
-    elm_object_content_part_set((_ly), "elm.swallow.end", (_obj)); \
+    elm_object_part_content_set((_ly), "elm.swallow.end", (_obj)); \
     if ((_obj)) sig = "elm,state,end,visible"; \
     else sig = "elm,state,end,hidden"; \
     elm_object_signal_emit((_ly), sig, "elm"); \
@@ -10379,7 +10426,7 @@ extern "C" {
  * @ingroup Layout
  */
 #define elm_layout_end_get(_ly) \
-  elm_object_content_part_get((_ly), "elm.swallow.end")
+  elm_object_part_content_get((_ly), "elm.swallow.end")
 
 /**
  * @def elm_layout_label_set
@@ -10423,7 +10470,7 @@ extern "C" {
     * @li "block,clicked" - when a click outside of the notify happens
     *
     * Default contents parts of the notify widget that you can use for are:
-    * @li "elm.swallow.content" - A content of the notify
+    * @li "default" - A content of the notify
     *
     * @ref tutorial_notify show usage of the API.
     *
@@ -10466,8 +10513,11 @@ extern "C" {
     * Once the content object is set, a previously set one will be deleted. If
     * you want to keep that old content object, use the
     * elm_notify_content_unset() function.
+    *
+    * @deprecated use elm_object_content_set() instead
+    *
     */
-   EAPI void              elm_notify_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void              elm_notify_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the content of the notify widget
     *
@@ -10477,8 +10527,10 @@ extern "C" {
     * Unparent and return the content object which was set for this widget
     *
     * @see elm_notify_content_set()
+    * @deprecated use elm_object_content_unset() instead
+    *
     */
-   EAPI Evas_Object      *elm_notify_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object      *elm_notify_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Return the content of the notify widget
     *
@@ -10486,8 +10538,10 @@ extern "C" {
     * @return The content that is being used
     *
     * @see elm_notify_content_set()
+    * @deprecated use elm_object_content_get() instead
+    *
     */
-   EAPI Evas_Object      *elm_notify_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object      *elm_notify_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Set the notify parent
     *
@@ -10641,7 +10695,7 @@ extern "C" {
     * @brief Sets the target object for the hover.
     *
     * @param obj The hover object
-    * @param target The object to center the hover onto. The hover
+    * @param target The object to center the hover onto.
     *
     * This function will cause the hover to be centered on the target object.
     */
@@ -10650,7 +10704,7 @@ extern "C" {
     * @brief Gets the target object for the hover.
     *
     * @param obj The hover object
-    * @param parent The object to locate the hover over.
+    * @return The target object for the hover.
     *
     * @see elm_hover_target_set()
     */
@@ -10694,9 +10748,9 @@ extern "C" {
     * "smart". This is a special placement hint and its use case
     * independs of the calculations coming from
     * elm_hover_best_content_location_get(). Its use is for cases when
-    * one desires only one hover content, but with a dinamic special
+    * one desires only one hover content, but with a dynamic special
     * placement within the hover area. The content's geometry, whenever
-    * it changes, will be used to decide on a best location not
+    * it changes, will be used to decide on a best location, not
     * extrapolating the hover's parent object view to show it in (still
     * being the hover's target determinant of its medium part -- move and
     * resize it to simulate finger sizes, for example). If one of the
@@ -10861,8 +10915,8 @@ extern "C" {
     * @li full: Items will be placed between the descent and ascent, or the
     * lowest point in the line and its highest.
     *
-    * The next image shows different configurations of items and how they
-    * are the previously mentioned options affect their sizes. In all cases,
+    * The next image shows different configurations of items and how
+    * the previously mentioned options affect their sizes. In all cases,
     * the green line indicates the ascent, blue for the baseline and red for
     * the descent.
     *
@@ -11136,6 +11190,45 @@ extern "C" {
     */
    EAPI const char  *elm_entry_selection_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
+    * Returns the actual textblock object of the entry.
+    *
+    * This function exposes the internal textblock object that actually
+    * contains and draws the text. This should be used for low-level
+    * manipulations that are otherwise not possible.
+    *
+    * Changing the textblock directly from here will not notify edje/elm to
+    * recalculate the textblock size automatically, so any modifications
+    * done to the textblock returned by this function should be followed by
+    * a call to elm_entry_calc_force().
+    *
+    * The return value is marked as const as an additional warning.
+    * One should not use the returned object with any of the generic evas
+    * functions (geometry_get/resize/move and etc), but only with the textblock
+    * functions; The former will either not work at all, or break the correct
+    * functionality.
+    *
+    * IMPORTANT: Many functions may change (i.e delete and create a new one)
+    * the internal textblock object. Do NOT cache the returned object, and try
+    * not to mix calls on this object with regular elm_entry calls (which may
+    * change the internal textblock object). This applies to all cursors
+    * returned from textblock calls, and all the other derivative values.
+    *
+    * @param obj The entry object
+    * @return The textblock object.
+    */
+   EAPI const Evas_Object *elm_entry_textblock_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Forces calculation of the entry size and text layouting.
+    *
+    * This should be used after modifying the textblock object directly. See
+    * elm_entry_textblock_get() for more information.
+    *
+    * @param obj The entry object
+    *
+    * @see elm_entry_textblock_get()
+    */
+   EAPI void elm_entry_calc_force(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
     * Inserts the given text into the entry at the current cursor position.
     *
     * This inserts text at the cursor position as if it was typed
@@ -11563,6 +11656,47 @@ extern "C" {
     * @see elm_entry_file_set()
     */
    EAPI Eina_Bool    elm_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   /**
+    * @enum _Elm_CNP_Mode
+    * @typedef Elm_CNP_Mode
+    * Enum of entry's copy & paste policy.
+    *
+    * @see elm_entry_cnp_mode_set()
+    * @see elm_entry_cnp_mode_get()
+    */
+   typedef enum _Elm_CNP_Mode {
+      ELM_CNP_MODE_MARKUP = 0,       /**< copy & paste text with markup tag */
+      ELM_CNP_MODE_NO_IMAGE = 1,     /**< copy & paste text without item(image) tag */
+      ELM_CNP_MODE_PLAINTEXT = 2     /**< copy & paste text without markup tag */
+   } Elm_CNP_Mode;
+
+   /**
+    * Control pasting of text and images for the widget.
+    *
+    * Normally the entry allows both text and images to be pasted.
+    * By setting textonly to be ELM_CNP_MODE_NO_IMAGE, this prevents images from being copy or past.
+    * By setting textonly to be ELM_CNP_MODE_PLAINTEXT, this remove all tags in text .
+    *
+    * @note this only changes the behaviour of text.
+    *
+    * @param obj The entry object
+    * @param mode One of #Elm_CNP_Mode: #ELM_CNP_MODE_MARKUP,
+    * #ELM_CNP_MODE_NO_IMAGE, #ELM_CNP_MODE_PLAINTEXT.
+    */
+   EAPI void         elm_entry_cnp_mode_set(Evas_Object *obj, Elm_CNP_Mode cnp_mode) EINA_ARG_NONNULL(1);
+   /**
+    * Getting elm_entry text paste/drop mode.
+    *
+    * Normally the entry allows both text and images to be pasted.
+    * This gets the copy & paste mode of the entry.
+    *
+    * @param obj The entry object
+    * @return mode One of #Elm_CNP_Mode: #ELM_CNP_MODE_MARKUP,
+    * #ELM_CNP_MODE_NO_IMAGE, #ELM_CNP_MODE_PLAINTEXT.
+    */
+   EAPI Elm_CNP_Mode elm_entry_cnp_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
    /**
     * Control pasting of text and images for the widget.
     *
@@ -11851,12 +11985,6 @@ extern "C" {
    EAPI void         elm_entry_matchlist_set(Evas_Object *obj, Eina_List *match_list, Eina_Bool case_sensitive);
    EAPI void         elm_entry_magnifier_type_set(Evas_Object *obj, int type) EINA_ARG_NONNULL(1);
 
-   EINA_DEPRECATED EAPI void         elm_entry_wrap_width_set(Evas_Object *obj, Evas_Coord w);
-   EINA_DEPRECATED EAPI Evas_Coord   elm_entry_wrap_width_get(const Evas_Object *obj);
-   EINA_DEPRECATED EAPI void         elm_entry_fontsize_set(Evas_Object *obj, int fontsize);
-   EINA_DEPRECATED EAPI void         elm_entry_text_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
-   EINA_DEPRECATED EAPI void         elm_entry_text_align_set(Evas_Object *obj, const char *alignmode);
-
    /**
     * @}
     */
@@ -12355,13 +12483,18 @@ extern "C" {
     * Signals that you can add callbacks for are:
     * @li "clicked" - This is called when a user has clicked the bubble.
     *
-    * For an example of using a buble see @ref bubble_01_example_page "this".
+    * Default contents parts of the bubble that you can use for are:
+    * @li "default" - A content of the bubble
+    * @li "icon" - An icon of the bubble
+    *
+    * Default text parts of the button widget that you can use for are:
+    * @li NULL - Label of the bubble
+    * 
+        * For an example of using a buble see @ref bubble_01_example_page "this".
     *
     * @{
     */
 
-#define ELM_BUBBLE_CONTENT_ICON "elm.swallow.icon"
-
    /**
     * Add a new bubble to the parent
     *
@@ -12400,7 +12533,7 @@ extern "C" {
     *
     * This function sets the info of the bubble. Where this appears depends on
     * the selected corner.
-    * @deprecated use elm_object_text_part_set() instead. (with "info" as the parameter).
+    * @deprecated use elm_object_part_text_set() instead. (with "info" as the parameter).
     */
    EINA_DEPRECATED EAPI void         elm_bubble_info_set(Evas_Object *obj, const char *info) EINA_ARG_NONNULL(1);
    /**
@@ -12411,7 +12544,7 @@ extern "C" {
     * @return The "info" string of the bubble
     *
     * This function gets the info text.
-    * @deprecated use elm_object_text_part_get() instead. (with "info" as the parameter).
+    * @deprecated use elm_object_part_text_get() instead. (with "info" as the parameter).
     */
    EINA_DEPRECATED EAPI const char  *elm_bubble_info_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
@@ -12425,8 +12558,11 @@ extern "C" {
     * @param content The given content of the bubble
     *
     * This function sets the content shown on the middle of the bubble.
+    * 
+    * @deprecated use elm_object_content_set() instead
+    *
     */
-   EAPI void         elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void         elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
     * Get the content shown in the bubble
     *
@@ -12434,8 +12570,11 @@ extern "C" {
     *
     * @param obj The bubble object
     * @return The content that is being used
+    *
+    * @deprecated use elm_object_content_get() instead
+    *
     */
-   EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Unset the content shown in the bubble
     *
@@ -12443,8 +12582,11 @@ extern "C" {
     *
     * @param obj The bubble object
     * @return The content that was being used
+    *
+    * @deprecated use elm_object_content_unset() instead
+    *
     */
-   EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Set the icon of the bubble
     *
@@ -12455,7 +12597,7 @@ extern "C" {
     * @param obj The bubble object
     * @param icon The given icon for the bubble
     *
-    * @deprecated use elm_object_content_part_set() instead
+    * @deprecated use elm_object_part_content_set() instead
     *
     */
    EINA_DEPRECATED EAPI void         elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
@@ -12467,7 +12609,7 @@ extern "C" {
     *
     * This function gets the icon shown on the top left of bubble.
     *
-    * @deprecated use elm_object_content_part_get() instead
+    * @deprecated use elm_object_part_content_get() instead
     *
     */
    EINA_DEPRECATED EAPI Evas_Object *elm_bubble_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
@@ -12479,7 +12621,7 @@ extern "C" {
     * @param obj The bubble object
     * @return The icon that was being used
     *
-    * @deprecated use elm_object_content_part_unset() instead
+    * @deprecated use elm_object_part_content_unset() instead
     *
     */
    EINA_DEPRECATED EAPI Evas_Object *elm_bubble_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
@@ -12510,9 +12652,6 @@ extern "C" {
     */
    EAPI const char  *elm_bubble_corner_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
-   EINA_DEPRECATED EAPI void         elm_bubble_sweep_layout_set(Evas_Object *obj, Evas_Object *sweep) EINA_ARG_NONNULL(1);
-   EINA_DEPRECATED EAPI Evas_Object *elm_bubble_sweep_layout_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
    /**
     * @}
     */
@@ -13377,7 +13516,7 @@ extern "C" {
     */
    typedef enum _Elm_Web_Zoom_Mode
      {
-        ELM_WEB_ZOOM_MODE_MANUAL = 0, /**< Zoom controled normally by elm_web_zoom_set */
+        ELM_WEB_ZOOM_MODE_MANUAL = 0, /**< Zoom controlled 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
@@ -15627,6 +15766,12 @@ extern "C" {
    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);
    EAPI const char  *elm_object_tooltip_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_tooltip_size_restrict_disable(Evas_Object *obj, Eina_Bool disable) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_tooltip_size_restrict_disabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   /**
+    * @}
+    */
 
    /**
     * @defgroup Cursors Cursors
@@ -15935,22 +16080,6 @@ extern "C" {
     * @see elm_menu_item_object_content_set()
     */
    EAPI Evas_Object *elm_menu_item_object_content_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
-
-   EINA_DEPRECATED extern inline void elm_menu_item_icon_set(Elm_Menu_Item *item, const char *icon) EINA_ARG_NONNULL(1, 2)
-     {
-        elm_menu_item_object_icon_name_set(item, icon);
-     }
-
-   EINA_DEPRECATED extern inline Evas_Object *elm_menu_item_object_icon_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1)
-     {
-        return elm_menu_item_object_content_get(item);
-     }
-
-   EINA_DEPRECATED extern inline const char *elm_menu_item_icon_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1)
-     {
-        return elm_menu_item_object_icon_name_get(item);
-     }
-
    /**
     * @brief Set the selected state of @p item.
     *
@@ -16045,13 +16174,65 @@ extern "C" {
     * @see elm_menu_add()
     */
    EAPI const Eina_List   *elm_menu_item_subitems_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
+   /**
+    * @brief Get the position of a menu item
+    *
+    * @param item The menu item
+    * @return The item's index
+    *
+    * This function returns the index position of a menu item in a menu.
+    * For a sub-menu, this number is relative to the first item in the sub-menu.
+    *
+    * @note Index values begin with 0
+    */
    EAPI unsigned int       elm_menu_item_index_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1) EINA_PURE;
+   /**
+    * @brief @brief Return a menu item's owner menu
+    *
+    * @param item The menu item
+    * @return The menu object owning @p item, or NULL on failure
+    *
+    * Use this function to get the menu object owning an item.
+    */
+   EAPI Evas_Object       *elm_menu_item_menu_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1) EINA_PURE;
+   /**
+    * @brief Get the selected item in the menu
+    *
+    * @param obj The menu object
+    * @return The selected item, or NULL if none
+    *
+    * @see elm_menu_item_selected_get()
+    * @see elm_menu_item_selected_set()
+    */
    EAPI Elm_Menu_Item *elm_menu_selected_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
+   /**
+    * @brief Get the last item in the menu
+    *
+    * @param obj The menu object
+    * @return The last item, or NULL if none
+    */
    EAPI Elm_Menu_Item *elm_menu_last_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
+   /**
+    * @brief Get the first item in the menu
+    *
+    * @param obj The menu object
+    * @return The first item, or NULL if none
+    */
    EAPI Elm_Menu_Item *elm_menu_first_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
+   /**
+    * @brief Get the next item in the menu.
+    *
+    * @param item The menu item object.
+    * @return The item after it, or NULL if none
+    */
    EAPI Elm_Menu_Item *elm_menu_item_next_get(const Elm_Menu_Item *it) EINA_ARG_NONNULL(1);
+   /**
+    * @brief Get the previous item in the menu.
+    *
+    * @param item The menu item object.
+    * @return The item before it, or NULL if none
+    */
    EAPI Elm_Menu_Item *elm_menu_item_prev_get(const Elm_Menu_Item *it) EINA_ARG_NONNULL(1);
-
    /**
     * @}
     */
@@ -16898,7 +17079,6 @@ extern "C" {
     * @ingroup List
     */
    EAPI void             elm_list_item_end_set(Elm_List_Item *item, Evas_Object *end) EINA_ARG_NONNULL(1);
-   EAPI Evas_Object     *elm_list_item_base_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
 
    /**
     * Gets the base object of the item.
@@ -16911,6 +17091,7 @@ extern "C" {
     * @ingroup List
     */
    EAPI Evas_Object     *elm_list_item_object_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object     *elm_list_item_base_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
 
    /**
     * Get the label of item.
@@ -17294,16 +17475,15 @@ extern "C" {
     * - @c "default"
     *
     * Default contents parts of the slider widget that you can use for are:
-    * @li "elm.swallow.icon" - A icon of the slider
-    * @li "elm.swallow.end" - A end part content of the slider
+    * @li "icon" - A icon of the slider
+    * @li "end" - A end part content of the slider
     * 
+    * Default text parts of the silder widget that you can use for are:
+    * @li "default" - Label of the silder
     * Here is an example on its usage:
     * @li @ref slider_example
     */
 
-#define ELM_SLIDER_CONTENT_ICON "elm.swallow.icon"
-#define ELM_SLIDER_CONTENT_END "elm.swallow.end"
-
    /**
     * @addtogroup Slider
     * @{
@@ -17342,7 +17522,7 @@ extern "C" {
     * @ingroup Slider
     * @deprecated use elm_object_text_get() instead.
     */
-   EAPI const char        *elm_slider_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI const char        *elm_slider_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set the icon object of the slider object.
@@ -17361,9 +17541,9 @@ extern "C" {
     * it won't get properly displayed.
     *
     * @ingroup Slider
-    * @deprecated use elm_object_content_set() instead.
+    * @deprecated use elm_object_part_content_set() instead.
     */
-   EAPI void               elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
 
    /**
     * Unset an icon set on a given slider widget.
@@ -17380,11 +17560,11 @@ extern "C" {
     *
     * @see elm_slider_icon_set() for more details
     * @see elm_slider_icon_get()
-    * @deprecated use elm_object_content_unset() instead.
+    * @deprecated use elm_object_part_content_unset() instead.
     *
     * @ingroup Slider
     */
-   EAPI Evas_Object       *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object       *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Retrieve the icon object set for a given slider widget.
@@ -17399,9 +17579,11 @@ extern "C" {
     * @see elm_slider_icon_set() for more details
     * @see elm_slider_icon_unset()
     *
+    * @deprecated use elm_object_part_content_get() instead.
+    *
     * @ingroup Slider
     */
-   EAPI Evas_Object       *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object       *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set the end object of the slider object.
@@ -17419,9 +17601,11 @@ extern "C" {
     * @warning If the object being set does not have minimum size hints set,
     * it won't get properly displayed.
     *
+    * @deprecated use elm_object_part_content_set() instead.
+    *
     * @ingroup Slider
     */
-   EAPI void               elm_slider_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_slider_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1);
 
    /**
     * Unset an end object set on a given slider widget.
@@ -17439,9 +17623,12 @@ extern "C" {
     * @see elm_slider_end_set() for more details.
     * @see elm_slider_end_get()
     *
+    * @deprecated use elm_object_part_content_unset() instead
+    * instead.
+    *
     * @ingroup Slider
     */
-   EAPI Evas_Object       *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object       *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Retrieve the end object set for a given slider widget.
@@ -17456,9 +17643,13 @@ extern "C" {
     * @see elm_slider_end_set() for more details.
     * @see elm_slider_end_unset()
     *
+    *
+    * @deprecated use elm_object_part_content_get() instead 
+    * instead.
+    *
     * @ingroup Slider
     */
-   EAPI Evas_Object       *elm_slider_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object       *elm_slider_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set the (exact) length of the bar region of a given slider widget.
@@ -17955,7 +18146,7 @@ extern "C" {
 
 
    /**
-    *
+    * @}
     */
 
    /**
@@ -18011,7 +18202,7 @@ extern "C" {
     *   theme. It must return @c NULL, when no content is desired, or a valid
     *   object handle, otherwise.  The object will be deleted by the genlist on
     *   its deletion or when the item is "unrealized".  See
-    *   #Elm_Genlist_Item_Icon_Get_Cb.
+    *   #Elm_Genlist_Item_Content_Get_Cb.
     * - @c func.state_get - The @c part parameter is the name string of one of
     *   the state parts in the Edje group implementing the item's theme. Return
     *   @c EINA_FALSE for false/off or @c EINA_TRUE for true/on. Genlists will
@@ -18090,7 +18281,7 @@ extern "C" {
     * item before another item and elm_genlist_item_insert_after() inserts after
     * the indicated item.
     *
-    * The application can clear the list with elm_genlist_clear() which deletes
+    * The application can clear the list with elm_gen_clear() which deletes
     * all the items in the list and elm_genlist_item_del() will delete a specific
     * item. elm_genlist_item_subitems_clear() will clear all items that are
     * children of the indicated parent item.
@@ -18110,14 +18301,14 @@ extern "C" {
     * If the application wants multiple items to be able to be selected,
     * elm_genlist_multi_select_set() can enable this. If the list is
     * single-selection only (the default), then elm_genlist_selected_item_get()
-    * will return the selected item, if any, or NULL I none is selected. If the
+    * will return the selected item, if any, or NULL if none is selected. If the
     * list is multi-select then elm_genlist_selected_items_get() will return a
     * list (that is only valid as long as no items are modified (added, deleted,
     * selected or unselected)).
     *
     * @section Genlist_Usage_Hints Usage hints
     *
-    * There are also convenience functions. elm_genlist_item_genlist_get() will
+    * There are also convenience functions. elm_gen_item_genlist_get() will
     * return the genlist object the item belongs to. elm_genlist_item_show()
     * will make the scroller scroll to show that specific item so its visible.
     * elm_genlist_item_data_get() returns the data pointer set by the item
@@ -18148,7 +18339,7 @@ extern "C" {
     *
     * Items will only call their selection func and callback when first becoming
     * selected. Any further clicks will do nothing, unless you enable always
-    * select with elm_genlist_always_select_mode_set(). This means even if
+    * select with elm_gen_always_select_mode_set(). This means even if
     * selected, every click will make the selected callbacks be called.
     * elm_genlist_no_select_mode_set() will turn off the ability to select
     * items entirely and they will neither appear selected nor call selected
@@ -18355,7 +18546,7 @@ extern "C" {
     *
     * @see elm_genlist_item_append()
     * @see elm_genlist_item_del()
-    * @see elm_genlist_clear()
+    * @see elm_gen_clear()
     *
     * @ingroup Genlist
     */
@@ -18367,11 +18558,13 @@ extern "C" {
     *
     * This removes (and deletes) all items in @p obj, leaving it empty.
     *
+    * This is deprecated. Please use elm_gen_clear() instead.
+    * 
     * @see elm_genlist_item_del(), to remove just one item.
     *
     * @ingroup Genlist
     */
-   EAPI void elm_genlist_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void elm_genlist_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Enable or disable multi-selection in the genlist
     *
@@ -18440,15 +18633,17 @@ extern "C" {
     *
     * Items will only call their selection func and callback when first
     * becoming selected. Any further clicks will do nothing, unless you
-    * enable always select with elm_genlist_always_select_mode_set().
+    * enable always select with elm_gen_always_select_mode_set().
     * This means that, even if selected, every click will make the selected
     * callbacks be called.
+    * 
+    * This function is deprecated. please see elm_gen_always_select_mode_set()
     *
     * @see elm_genlist_always_select_mode_get()
     *
     * @ingroup Genlist
     */
-   EAPI void              elm_genlist_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void              elm_genlist_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1);
    /**
     * Get the always select mode.
     *
@@ -18460,7 +18655,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI Eina_Bool         elm_genlist_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Eina_Bool         elm_genlist_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Enable/disable the no select mode.
     *
@@ -18475,7 +18670,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI void              elm_genlist_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void              elm_genlist_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1);
    /**
     * Gets whether the no select mode is enabled.
     *
@@ -18487,7 +18682,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI Eina_Bool         elm_genlist_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Eina_Bool         elm_genlist_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Enable/disable compress mode.
     *
@@ -18569,7 +18764,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI void              elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void              elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
    /**
     * Get whether the horizontal and vertical bouncing effect is enabled.
     *
@@ -18583,7 +18778,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI void              elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void              elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
    /**
     * Enable/disable homogenous mode.
     *
@@ -18901,7 +19096,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Get the last item in the genlist
     *
@@ -18911,7 +19106,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Set the scrollbar policy
     *
@@ -18959,7 +19154,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI Elm_Genlist_Item  *elm_genlist_item_next_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Elm_Genlist_Item  *elm_genlist_item_next_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
    /**
     * Get the @b previous item in a genlist widget's internal list of items,
     * given a handle to one of those items.
@@ -18975,7 +19170,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI Elm_Genlist_Item  *elm_genlist_item_prev_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Elm_Genlist_Item  *elm_genlist_item_prev_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
    /**
     * Get the genlist object's handle which contains a given genlist
     * item
@@ -18985,9 +19180,11 @@ extern "C" {
     *
     * This returns the genlist object itself that an item belongs to.
     *
+    * This function is deprecated. Please use elm_gen_item_widget_get()
+    * 
     * @ingroup Genlist
     */
-   EAPI Evas_Object       *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object       *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
    /**
     * Get the parent item of the given item
     *
@@ -19030,7 +19227,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
    /**
     * Get whether a given genlist item is selected or not
     *
@@ -19041,7 +19238,7 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
    /**
     * Sets the expanded state of an item.
     *
@@ -19304,7 +19501,7 @@ extern "C" {
     * @ingroup Genlist
     */
    EAPI void               elm_genlist_item_contents_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
-   EAPI void               elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void               elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
    /**
     * Get the real Evas object created to implement the view of a
     * given genlist item
@@ -19455,6 +19652,26 @@ extern "C" {
     */
    EAPI const char        *elm_genlist_item_tooltip_style_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
    /**
+    * @brief Disable size restrictions on an object's tooltip
+    * @param item The tooltip's anchor object
+    * @param disable If EINA_TRUE, size restrictions are disabled
+    * @return EINA_FALSE on failure, EINA_TRUE on success
+    *
+    * This function allows a tooltip to expand beyond its parant window's canvas.
+    * It will instead be limited only by the size of the display.
+    */
+   EAPI Eina_Bool          elm_genlist_item_tooltip_size_restrict_disable(Elm_Genlist_Item *item, Eina_Bool disable);
+   /**
+    * @brief Retrieve size restriction state of an object's tooltip
+    * @param item The tooltip's anchor object
+    * @return If EINA_TRUE, size restrictions are disabled
+    *
+    * This function returns whether a tooltip is allowed to expand beyond
+    * its parant window's canvas.
+    * It will instead be limited only by the size of the display.
+    */
+   EAPI Eina_Bool          elm_genlist_item_tooltip_size_restrict_disabled_get(const Elm_Genlist_Item *item);
+   /**
     * Set the type of mouse pointer/cursor decoration to be shown,
     * when the mouse pointer is over the given genlist widget item
     *
@@ -19731,7 +19948,7 @@ extern "C" {
     *             the check object(event_info is NULL).
     *
     * Default contents parts of the check widget that you can use for are:
-    * @li "elm.swallow.content" - A icon of the check
+    * @li "icon" - A icon of the check
     *
     * Default text parts of the check widget that you can use for are:
     * @li "elm.text" - Label of the check
@@ -19774,15 +19991,21 @@ extern "C" {
     * Once the icon object is set, a previously set one will be deleted.
     * If you want to keep that old content object, use the
     * elm_object_content_unset() function.
+    *
+    * @deprecated use elm_object_part_content_set() instead.
+    *
     */
-   EAPI void         elm_check_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void         elm_check_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the icon object of the check object
     *
     * @param obj The check object
     * @return The icon object
+    *
+    * @deprecated use elm_object_part_content_get() instead.
+    *  
     */
-   EAPI Evas_Object *elm_check_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object *elm_check_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the icon used for the check object
     *
@@ -19790,8 +20013,11 @@ extern "C" {
     * @return The icon object that was being used
     *
     * Unparent and return the icon object which was set for this widget.
+    *
+    * @deprecated use elm_object_part_content_unset() instead.
+    *
     */
-   EAPI Evas_Object *elm_check_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object *elm_check_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Set the on/off state of the check object
     *
@@ -19828,6 +20054,71 @@ extern "C" {
     * @}
     */
 
+   /* compatibility code for toggle controls */
+
+   EINA_DEPRECATED EAPI extern inline Evas_Object *elm_toggle_add(Evas_Object *parent) EINA_ARG_NONNULL(1)
+     {
+        Evas_Object *obj;
+
+        obj = elm_check_add(parent);
+        elm_object_style_set(obj, "toggle");
+        elm_object_part_text_set(obj, "on", "ON");
+        elm_object_part_text_set(obj, "off", "OFF");
+        return obj;
+     }
+
+   EINA_DEPRECATED EAPI extern inline void elm_toggle_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1)
+     {
+        elm_object_text_set(obj, label);
+     }
+
+   EINA_DEPRECATED EAPI extern inline const char  *elm_toggle_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1)
+     {
+        return elm_object_text_get(obj);
+     }
+
+   EINA_DEPRECATED EAPI extern inline void elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1)
+     {
+        elm_object_content_set(obj, icon);
+     }
+
+   EINA_DEPRECATED EAPI extern inline Evas_Object *elm_toggle_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1)
+     {
+        return elm_object_content_get(obj);
+     }
+
+   EINA_DEPRECATED EAPI extern inline Evas_Object *elm_toggle_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1)
+     {
+        return elm_object_content_unset(obj);
+     }
+
+   EINA_DEPRECATED EAPI extern inline void elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel) EINA_ARG_NONNULL(1)
+     {
+        elm_object_part_text_set(obj, "on", onlabel);
+        elm_object_part_text_set(obj, "off", offlabel);
+     }
+
+   EINA_DEPRECATED EAPI extern inline void elm_toggle_states_labels_get(const Evas_Object *obj, const char **onlabel, const char **offlabel) EINA_ARG_NONNULL(1)
+     {
+        if (onlabel) *onlabel = elm_object_part_text_get(obj, "on");
+        if (offlabel) *offlabel = elm_object_part_text_get(obj, "off");
+     }
+
+   EINA_DEPRECATED EAPI extern inline void elm_toggle_state_set(Evas_Object *obj, Eina_Bool state) EINA_ARG_NONNULL(1)
+     {
+        elm_check_state_set(obj, state);
+     }
+
+   EINA_DEPRECATED EAPI extern inline Eina_Bool elm_toggle_state_get(const Evas_Object *obj) EINA_ARG_NONNULL(1)
+     {
+        return elm_check_state_get(obj);
+     }
+
+   EINA_DEPRECATED EAPI extern inline void elm_toggle_state_pointer_set(Evas_Object *obj, Eina_Bool *statep) EINA_ARG_NONNULL(1)
+     {
+        elm_check_state_pointer_set(obj, statep);
+     }
+
    /**
     * @defgroup Radio Radio
     *
@@ -19857,7 +20148,7 @@ extern "C" {
     * the radio objects within the group of radio objects that work together.
     *
     * Default contents parts of the radio widget that you can use for are:
-    * @li "elm.swallow.content" - A icon of the radio
+    * @li "icon" - A icon of the radio
     *
     * @ref tutorial_radio show most of this API in action.
     * @{
@@ -19896,10 +20187,11 @@ extern "C" {
     * Once the icon object is set, a previously set one will be deleted. If you
     * want to keep that old content object, use the elm_radio_icon_unset()
     * function.
-    &
-    * @deprecated use elm_object_content_set() instead.
+    *
+    * @deprecated use elm_object_part_content_set() instead.
+    *
     */
-   EAPI void         elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void         elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the icon object of the radio object
     *
@@ -19907,8 +20199,11 @@ extern "C" {
     * @return The icon object
     *
     * @see elm_radio_icon_set()
+    *
+    * @deprecated use elm_object_part_content_get() instead.
+    *
     */
-   EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the icon used for the radio object
     *
@@ -19918,9 +20213,10 @@ extern "C" {
     * Unparent and return the icon object which was set for this widget.
     *
     * @see elm_radio_icon_set()
-    * @deprecated use elm_object_content_unset() instead.
+    * @deprecated use elm_object_part_content_unset() instead.
+    *
     */
-   EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Add this radio to a group of other radio objects
     *
@@ -19994,37 +20290,47 @@ extern "C" {
     * @image html img/widget/pager/preview-00.png
     * @image latex img/widget/pager/preview-00.eps
     *
-    * @brief Widget that allows flipping between 1 or more “pages” of objects.
-    *
-    * The flipping between “pages” of objects is animated. All content in pager
-    * is kept in a stack, the last content to be added will be on the top of the
-    * stack(be visible).
-    *
-    * Objects can be pushed or popped from the stack or deleted as normal.
-    * Pushes and pops will animate (and a pop will delete the object once the
-    * animation is finished). Any object already in the pager can be promoted to
-    * the top(from its current stacking position) through the use of
-    * elm_pager_content_promote(). Objects are pushed to the top with
-    * elm_pager_content_push() and when the top item is no longer wanted, simply
-    * pop it with elm_pager_content_pop() and it will also be deleted. If an
-    * object is no longer needed and is not the top item, just delete it as
-    * normal. You can query which objects are the top and bottom with
+    * @brief Widget that allows flipping between one or more “pages”
+    * of objects.
+    *
+    * The flipping between pages of objects is animated. All content
+    * in the pager is kept in a stack, being the last content added
+    * (visible one) on the top of that stack.
+    *
+    * Objects can be pushed or popped from the stack or deleted as
+    * well. Pushes and pops will animate the widget accordingly to its
+    * style (a pop will also delete the child object once the
+    * animation is finished). Any object already in the pager can be
+    * promoted to the top (from its current stacking position) through
+    * the use of elm_pager_content_promote(). New objects are pushed
+    * to the top with elm_pager_content_push(). When the top item is
+    * no longer wanted, simply pop it with elm_pager_content_pop() and
+    * it will also be deleted. If an object is no longer needed and is
+    * not the top item, just delete it as normal. You can query which
+    * objects are the top and bottom with
     * elm_pager_content_bottom_get() and elm_pager_content_top_get().
     *
     * Signals that you can add callbacks for are:
-    * "hide,finished" - when the previous page is hided
+    * - @c "show,finished" - when a new page is actually shown on the top
+    * - @c "hide,finished" - when a previous page is hidden
+    *
+    * Only after the first of that signals the child object is
+    * guaranteed to be visible, as in @c evas_object_visible_get().
     *
     * This widget has the following styles available:
-    * @li default
-    * @li fade
-    * @li fade_translucide
-    * @li fade_invisible
-    * @note This styles affect only the flipping animations, the appearance when
-    * not animating is unaffected by styles.
+    * - @c "default"
+    * - @c "fade"
+    * - @c "fade_translucide"
+    * - @c "fade_invisible"
+    *
+    * @note These styles affect only the flipping animations on the
+    * default theme; the appearance when not animating is unaffected
+    * by them.
     *
     * @ref tutorial_pager gives a good overview of the usage of the API.
     * @{
     */
+
    /**
     * Add a new pager to the parent
     *
@@ -20034,6 +20340,7 @@ extern "C" {
     * @ingroup Pager
     */
    EAPI Evas_Object *elm_pager_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+
    /**
     * @brief Push an object to the top of the pager stack (and show it).
     *
@@ -20049,6 +20356,7 @@ extern "C" {
     * undefined behavior.
     */
    EAPI void         elm_pager_content_push(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+
    /**
     * @brief Pop the object that is on top of the stack
     *
@@ -20059,6 +20367,7 @@ extern "C" {
     * the stack will become visible.
     */
    EAPI void         elm_pager_content_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
+
    /**
     * @brief Moves an object already in the pager stack to the top of the stack.
     *
@@ -20074,6 +20383,7 @@ extern "C" {
     * results in undefined behavior.
     */
    EAPI void         elm_pager_content_promote(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+
    /**
     * @brief Return the object at the bottom of the pager stack
     *
@@ -20081,6 +20391,7 @@ extern "C" {
     * @return The bottom object or NULL if none
     */
    EAPI Evas_Object *elm_pager_content_bottom_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
    /**
     * @brief  Return the object at the top of the pager stack
     *
@@ -20090,7 +20401,6 @@ extern "C" {
    EAPI Evas_Object *elm_pager_content_top_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    EAPI void         elm_pager_to_content_pop(Evas_Object *obj, Evas_Object *content); EINA_ARG_NONNULL(1);
-   EINA_DEPRECATED    EAPI void         elm_pager_animation_disabled_set(Evas_Object *obj, Eina_Bool disable); EINA_ARG_NONNULL(1);
 
    /**
     * @}
@@ -21005,7 +21315,7 @@ extern "C" {
     *      "pulse" effect is available)
     *
     * Default contents parts of the progressbar widget that you can use for are:
-    * @li "elm.swallow.content" - A icon of the progressbar
+    * @li "icon" - A icon of the progressbar
     * 
     * Here is an example on its usage:
     * @li @ref progressbar_example
@@ -21143,11 +21453,11 @@ extern "C" {
     * elm_progressbar_icon_unset() function.
     *
     * @see elm_progressbar_icon_get()
-    * @deprecated use elm_object_content_set() instead.
+    * @deprecated use elm_object_part_content_set() instead.
     *
     * @ingroup Progressbar
     */
-   EAPI void         elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void         elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
 
    /**
     * Retrieve the icon object set for a given progress bar widget
@@ -21157,11 +21467,11 @@ extern "C" {
     * otherwise (and on errors)
     *
     * @see elm_progressbar_icon_set() for more details
-    * @deprecated use elm_object_content_set() instead.
+    * @deprecated use elm_object_part_content_get() instead.
     *
     * @ingroup Progressbar
     */
-   EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Unset an icon set on a given progress bar widget
@@ -21174,11 +21484,11 @@ extern "C" {
     * for this widget, previously, on success.
     *
     * @see elm_progressbar_icon_set() for more details
-    * @deprecated use elm_object_content_unset() instead.
+    * @deprecated use elm_object_part_content_unset() instead.
     *
     * @ingroup Progressbar
     */
-   EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set the (exact) length of the bar region of a given progress bar
@@ -23752,11 +24062,8 @@ extern "C" {
     * @li ELM_PANEL_ORIENT_LEFT
     * @li ELM_PANEL_ORIENT_RIGHT
     *
-    * To set/get/unset the content of the panel, you can use
-    * elm_object_content_set/get/unset APIs.
-    * Once the content object is set, a previously set one will be deleted.
-    * If you want to keep that old content object, use the
-    * elm_object_content_unset() function
+    * Default contents parts of the panel widget that you can use for are:
+    * @li "default" - A content of the panel
     *
     * @ref tutorial_panel shows one way to use this widget.
     * @{
@@ -23804,8 +24111,11 @@ extern "C" {
     * Once the content object is set, a previously set one will be deleted.
     * If you want to keep that old content object, use the
     * elm_panel_content_unset() function.
+    *
+    * @deprecated use elm_object_content_set() instead
+    *
     */
-   EAPI void                  elm_panel_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void                  elm_panel_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the content of the panel.
     *
@@ -23815,8 +24125,11 @@ extern "C" {
     * Return the content object which is set for this widget.
     *
     * @see elm_panel_content_set()
+    * 
+    * @deprecated use elm_object_content_get() instead
+    *
     */
-   EAPI Evas_Object          *elm_panel_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object          *elm_panel_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the content of the panel.
     *
@@ -23826,8 +24139,11 @@ extern "C" {
     * Unparent and return the content object which was set for this widget.
     *
     * @see elm_panel_content_set()
+    *
+    * @deprecated use elm_object_content_unset() instead
+    *
     */
-   EAPI Evas_Object          *elm_panel_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object          *elm_panel_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Set the state of the panel.
     *
@@ -23878,8 +24194,8 @@ extern "C" {
     * - @c "default"
     *
     * Default contents parts of the panes widget that you can use for are:
-    * @li "elm.swallow.left" - A leftside content of the panes
-    * @li "elm.swallow.right" - A rightside content of the panes
+    * @li "left" - A leftside content of the panes
+    * @li "right" - A rightside content of the panes
     *
     * If panes is displayed vertically, left content will be displayed at
     * top.
@@ -23888,9 +24204,6 @@ extern "C" {
     * @li @ref panes_example
     */
 
-#define ELM_PANES_CONTENT_LEFT "elm.swallow.left"
-#define ELM_PANES_CONTENT_RIGHT "elm.swallow.right"
-
    /**
     * @addtogroup Panes
     * @{
@@ -23925,9 +24238,11 @@ extern "C" {
     * @see elm_panes_content_left_get()
     * @see elm_panes_content_right_set() to set content on the other side.
     *
+    * @deprecated use elm_object_part_content_set() instead
+    *
     * @ingroup Panes
     */
-   EAPI void                  elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void                  elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
 
    /**
     * Set the right content of the panes widget.
@@ -23945,9 +24260,11 @@ extern "C" {
     * @see elm_panes_content_right_get()
     * @see elm_panes_content_left_set() to set content on the other side.
     *
+    * @deprecated use elm_object_part_content_set() instead
+    *
     * @ingroup Panes
     */
-   EAPI void                  elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void                  elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
 
    /**
     * Get the left content of the panes.
@@ -23959,9 +24276,11 @@ extern "C" {
     *
     * @see elm_panes_content_left_set() for details.
     *
+    * @deprecated use elm_object_part_content_get() instead
+    *
     * @ingroup Panes
     */
-   EAPI Evas_Object          *elm_panes_content_left_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object          *elm_panes_content_left_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Get the right content of the panes.
@@ -23973,9 +24292,11 @@ extern "C" {
     *
     * @see elm_panes_content_right_set() for details.
     *
+    * @deprecated use elm_object_part_content_get() instead
+    *
     * @ingroup Panes
     */
-   EAPI Evas_Object          *elm_panes_content_right_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object          *elm_panes_content_right_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Unset the left content used for the panes.
@@ -23988,9 +24309,11 @@ extern "C" {
     * @see elm_panes_content_left_set() for details.
     * @see elm_panes_content_left_get().
     *
+    * @deprecated use elm_object_part_content_unset() instead
+    *
     * @ingroup Panes
     */
-   EAPI Evas_Object          *elm_panes_content_left_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object          *elm_panes_content_left_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Unset the right content used for the panes.
@@ -24004,9 +24327,11 @@ extern "C" {
     * @see elm_panes_content_right_set() for details.
     * @see elm_panes_content_right_get().
     *
+    * @deprecated use elm_object_part_content_unset() instead
+    *
     * @ingroup Panes
     */
-   EAPI Evas_Object          *elm_panes_content_right_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object          *elm_panes_content_right_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Get the size proportion of panes widget's left side.
@@ -24419,12 +24744,6 @@ extern "C" {
    EINA_DEPRECATED EAPI Eina_Bool    elm_scrolled_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    EINA_DEPRECATED EAPI void         elm_scrolled_entry_cnp_textonly_set(Evas_Object *obj, Eina_Bool textonly) EINA_ARG_NONNULL(1);
    EINA_DEPRECATED EAPI Eina_Bool    elm_scrolled_entry_cnp_textonly_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EINA_DEPRECATED EAPI void         elm_scrolled_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
-   EINA_DEPRECATED EAPI void         elm_scrolled_entry_input_panel_enabled_set(Evas_Object *obj, Eina_Bool enabled);
-   EINA_DEPRECATED EAPI void         elm_scrolled_entry_input_panel_layout_set(Evas_Object *obj, Elm_Input_Panel_Layout layout);
-   EINA_DEPRECATED EAPI Ecore_IMF_Context *elm_scrolled_entry_imf_context_get(Evas_Object *obj);
-   EINA_DEPRECATED EAPI void         elm_scrolled_entry_autocapitalization_set(Evas_Object *obj, Eina_Bool autocap);
-   EINA_DEPRECATED EAPI void         elm_scrolled_entry_autoperiod_set(Evas_Object *obj, Eina_Bool autoperiod);
 
    /**
     * @defgroup Conformant Conformant
@@ -24448,7 +24767,7 @@ extern "C" {
     * - @c "default"
     *
     * Default contents parts of the conformant widget that you can use for are:
-    * @li "elm.swallow.content" - A content of the conformant
+    * @li "default" - A content of the conformant
     *
     * See how to use this widget in this example:
     * @ref conformant_example
@@ -24490,9 +24809,11 @@ extern "C" {
     * @see elm_object_content_unset()
     * @see elm_object_content_get()
     *
+    * @deprecated use elm_object_content_set() instead
+    *
     * @ingroup Conformant
     */
-   EAPI void         elm_conformant_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void         elm_conformant_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
 
    /**
     * Get the content of the conformant widget.
@@ -24507,9 +24828,11 @@ extern "C" {
     * @see elm_object_content_set().
     * @see elm_object_content_unset()
     *
+    * @deprecated use elm_object_content_get() instead
+    *
     * @ingroup Conformant
     */
-   EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Unset the content of the conformant widget.
@@ -24521,9 +24844,11 @@ extern "C" {
     *
     * @see elm_object_content_set().
     *
+    * @deprecated use elm_object_content_unset() instead
+    *
     * @ingroup Conformant
     */
-   EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Returns the Evas_Object that represents the content area.
@@ -24553,11 +24878,8 @@ extern "C" {
     * need to resize or move it frequently (the content object and its
     * children).
     *
-    * To set/get/unset the content of the mapbuf, you can use 
-    * elm_object_content_set/get/unset APIs. 
-    * Once the content object is set, a previously set one will be deleted.
-    * If you want to keep that old content object, use the
-    * elm_object_content_unset() function.
+    * Default contents parts of the mapbuf widget that you can use for are:
+    * @li "default" - A content of the mapbuf
     *
     * To enable map, elm_mapbuf_enabled_set() should be used.
     * 
@@ -24595,9 +24917,11 @@ extern "C" {
     *
     * To enable map, elm_mapbuf_enabled_set() should be used.
     *
+    * @deprecated use elm_object_content_set() instead
+    *
     * @ingroup Mapbuf
     */
-   EAPI void         elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void         elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
 
    /**
     * Get the content of the mapbuf.
@@ -24609,9 +24933,11 @@ extern "C" {
     *
     * @see elm_mapbuf_content_set() for details.
     *
+    * @deprecated use elm_object_content_get() instead
+    *
     * @ingroup Mapbuf
     */
-   EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Unset the content of the mapbuf.
@@ -24623,9 +24949,11 @@ extern "C" {
     *
     * @see elm_mapbuf_content_set() for details.
     *
+    * @deprecated use elm_object_content_unset() instead
+    *
     * @ingroup Mapbuf
     */
-   EAPI Evas_Object *elm_mapbuf_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object *elm_mapbuf_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Enable or disable the map.
@@ -24758,6 +25086,10 @@ extern "C" {
     * Available styles for it:
     * - @c "default"
     *
+        * To set/get the label of the flipselector item, you can use
+        * elm_object_item_text_set/get APIs.
+        * Once the text is set, a previously set one will be deleted.
+        * 
     * Here is an example on its usage:
     * @li @ref flipselector_example
     */
@@ -24767,8 +25099,6 @@ extern "C" {
     * @{
     */
 
-   typedef struct _Elm_Flipselector_Item Elm_Flipselector_Item; /**< Item handle for a flip selector widget. */
-
    /**
     * Add a new flip selector widget to the given parent Elementary
     * (container) widget
@@ -24833,7 +25163,7 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI Elm_Flipselector_Item     *elm_flipselector_item_append(Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item     *elm_flipselector_item_append(Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data) EINA_ARG_NONNULL(1);
 
    /**
     * Prepend a (text) item to a flip selector widget
@@ -24859,19 +25189,19 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI Elm_Flipselector_Item     *elm_flipselector_item_prepend(Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item     *elm_flipselector_item_prepend(Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data) EINA_ARG_NONNULL(1);
 
    /**
     * Get the internal list of items in a given flip selector widget.
     *
     * @param obj The flipselector object
-    * @return The list of items (#Elm_Flipselector_Item as data) or
+    * @return The list of items (#Elm_Object_Item as data) or
     * @c NULL on errors.
     *
     * This list is @b not to be modified in any way and must not be
     * freed. Use the list members with functions like
-    * elm_flipselector_item_label_set(),
-    * elm_flipselector_item_label_get(),
+    * elm_object_item_text_set(),
+    * elm_object_item_text_get(),
     * elm_flipselector_item_del(),
     * elm_flipselector_item_selected_get(),
     * elm_flipselector_item_selected_set().
@@ -24897,7 +25227,7 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI Elm_Flipselector_Item     *elm_flipselector_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item     *elm_flipselector_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Get the last item in the given flip selector widget's list of
@@ -24912,7 +25242,7 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI Elm_Flipselector_Item     *elm_flipselector_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item     *elm_flipselector_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Get the currently selected item in a flip selector widget.
@@ -24923,13 +25253,13 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI Elm_Flipselector_Item     *elm_flipselector_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item     *elm_flipselector_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set whether a given flip selector widget's item should be the
     * currently selected one.
     *
-    * @param item The flip selector item
+    * @param it The flip selector item
     * @param selected @c EINA_TRUE to select it, @c EINA_FALSE to unselect.
     *
     * This sets whether @p item is or not the selected (thus, under
@@ -24942,13 +25272,13 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI void                       elm_flipselector_item_selected_set(Elm_Flipselector_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   EAPI void                       elm_flipselector_item_selected_set(Elm_Object_Item *it, Eina_Bool selected) EINA_ARG_NONNULL(1);
 
    /**
     * Get whether a given flip selector widget's item is the currently
     * selected one.
     *
-    * @param item The flip selector item
+    * @param it The flip selector item
     * @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
     * (or on errors).
     *
@@ -24956,46 +25286,48 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI Eina_Bool                  elm_flipselector_item_selected_get(const Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                  elm_flipselector_item_selected_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
 
    /**
     * Delete a given item from a flip selector widget.
     *
-    * @param item The item to delete
+    * @param it The item to delete
     *
     * @ingroup Flipselector
     */
-   EAPI void                       elm_flipselector_item_del(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                       elm_flipselector_item_del(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
 
    /**
     * Get the label of a given flip selector widget's item.
     *
-    * @param item The item to get label from
+    * @param it The item to get label from
     * @return The text label of @p item or @c NULL, on errors
     *
-    * @see elm_flipselector_item_label_set()
+    * @see elm_object_item_text_set()
     *
+    * @deprecated see elm_object_item_text_get() instead
     * @ingroup Flipselector
     */
-   EAPI const char                *elm_flipselector_item_label_get(const Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI const char                *elm_flipselector_item_label_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
 
    /**
     * Set the label of a given flip selector widget's item.
     *
-    * @param item The item to set label on
+    * @param it The item to set label on
     * @param label The text label string, in UTF-8 encoding
     *
-    * @see elm_flipselector_item_label_get()
+    * @see elm_object_item_text_get()
     *
+        * @deprecated see elm_object_item_text_set() instead
     * @ingroup Flipselector
     */
-   EAPI void                       elm_flipselector_item_label_set(Elm_Flipselector_Item *item, const char *label) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void                       elm_flipselector_item_label_set(Elm_Object_Item *it, const char *label) EINA_ARG_NONNULL(1);
 
    /**
     * Gets the item before @p item in a flip selector widget's
     * internal list of items.
     *
-    * @param item The item to fetch previous from
+    * @param it The item to fetch previous from
     * @return The item before the @p item, in its parent's list. If
     *         there is no previous item for @p item or there's an
     *         error, @c NULL is returned.
@@ -25004,13 +25336,13 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI Elm_Flipselector_Item     *elm_flipselector_item_prev_get(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item     *elm_flipselector_item_prev_get(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
 
    /**
     * Gets the item after @p item in a flip selector widget's
     * internal list of items.
     *
-    * @param item The item to fetch next from
+    * @param it The item to fetch next from
     * @return The item after the @p item, in its parent's list. If
     *         there is no next item for @p item or there's an
     *         error, @c NULL is returned.
@@ -25019,7 +25351,7 @@ extern "C" {
     *
     * @ingroup Flipselector
     */
-   EAPI Elm_Flipselector_Item     *elm_flipselector_item_next_get(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item     *elm_flipselector_item_next_get(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
 
    /**
     * Set the interval on time updates for an user mouse button hold
@@ -25061,7 +25393,6 @@ extern "C" {
     * @ingroup Flipselector
     */
    EAPI double                     elm_flipselector_interval_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
    /**
     * @}
     */
@@ -25427,9 +25758,6 @@ extern "C" {
     * @ingroup Calendar
     */
    EAPI void               elm_calendar_marks_draw(Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EINA_DEPRECATED EAPI void               elm_calendar_text_saturday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
-   EINA_DEPRECATED EAPI void               elm_calendar_text_sunday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
-   EINA_DEPRECATED EAPI void               elm_calendar_text_weekday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
 
    /**
     * Set a day text color to the same that represents Saturdays.
@@ -25449,7 +25777,7 @@ extern "C" {
     *
     * @ingroup Calendar
     */
-   EAPI void               elm_calendar_text_saturday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void               elm_calendar_text_saturday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
 
    /**
     * Set a day text color to the same that represents Sundays.
@@ -25469,7 +25797,7 @@ extern "C" {
     *
     * @ingroup Calendar
     */
-   EAPI void               elm_calendar_text_sunday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void               elm_calendar_text_sunday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
 
    /**
     * Set a day text color to the same that represents Weekdays.
@@ -25498,7 +25826,7 @@ extern "C" {
     *
     * @ingroup Calendar
     */
-   EAPI void               elm_calendar_text_weekday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void               elm_calendar_text_weekday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
 
    /**
     * Set the interval on time updates for an user mouse button hold
@@ -26407,7 +26735,13 @@ extern "C" {
     * "dismissed" - the ctxpopup was dismissed
     *
     * Default contents parts of the ctxpopup widget that you can use for are:
-    * @li "elm.swallow.content" - A content of the ctxpopup
+    * @li "default" - A content of the ctxpopup
+    *
+    * Default contents parts of the naviframe items that you can use for are:
+    * @li "icon" - A icon in the title area
+    * 
+    * Default text parts of the naviframe items that you can use for are:
+    * @li "default" - Title label in the title area
     *
     * @ref tutorial_ctxpopup shows the usage of a good deal of the API.
     * @{
@@ -26509,8 +26843,9 @@ extern "C" {
     * @param disabled @c EINA_TRUE to disable it, @c EINA_FALSE to enable it
     *
     * When disabled the item is greyed out to indicate it's state.
+    * @deprecated use elm_object_item_disabled_set() instead
     */
-   EAPI void          elm_ctxpopup_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void          elm_ctxpopup_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the ctxpopup item's disabled/enabled state.
     *
@@ -26518,6 +26853,7 @@ extern "C" {
     * @return disabled @c EINA_TRUE, if disabled, @c EINA_FALSE otherwise
     *
     * @see elm_ctxpopup_item_disabled_set()
+    * @deprecated use elm_object_item_disabled_get() instead
     */
    EAPI Eina_Bool     elm_ctxpopup_item_disabled_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
    /**
@@ -26529,8 +26865,10 @@ extern "C" {
     *
     * @see elm_ctxpopup_item_append()
     * @see elm_ctxpopup_item_icon_set()
+    *
+    * @deprecated use elm_object_item_part_content_get() instead
     */
-   EAPI Evas_Object  *elm_ctxpopup_item_icon_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object  *elm_ctxpopup_item_icon_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
    /**
     * @brief Sets the side icon associated with the ctxpopup item
     *
@@ -26542,8 +26880,11 @@ extern "C" {
     * dissapear from the first item.
     *
     * @see elm_ctxpopup_item_append()
+    *  
+    * @deprecated use elm_object_item_part_content_set() instead
+    *
     */
-   EAPI void          elm_ctxpopup_item_icon_set(Elm_Object_Item *it, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void          elm_ctxpopup_item_icon_set(Elm_Object_Item *it, Evas_Object *icon) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the label for the given ctxpopup item.
     *
@@ -26553,15 +26894,19 @@ extern "C" {
     *
     * @see elm_ctxpopup_item_append()
     * @see elm_ctxpopup_item_label_set()
+    *
+    * @deprecated use elm_object_item_text_get() instead
     */
-   EAPI const char   *elm_ctxpopup_item_label_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI const char   *elm_ctxpopup_item_label_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
    /**
     * @brief (Re)set the label on the given ctxpopup item.
     *
     * @param it Ctxpopup item
     * @param label String to set as label
+    *
+    * @deprecated use elm_object_item_text_set() instead
     */
-   EAPI void          elm_ctxpopup_item_label_set(Elm_Object_Item *it, const char *label) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI void          elm_ctxpopup_item_label_set(Elm_Object_Item *it, const char *label) EINA_ARG_NONNULL(1);
    /**
     * @brief Set an elm widget as the content of the ctxpopup.
     *
@@ -26572,12 +26917,13 @@ extern "C" {
     * you want to keep that old content object, use the
     * elm_ctxpopup_content_unset() function.
     *
-    * @deprecated use elm_object_content_set()
-    *
     * @warning Ctxpopup can't hold both a item list and a content at the same
     * time. When a content is set, any previous items will be removed.
+    * 
+    * @deprecated use elm_object_content_set() instead
+    *
     */
-   EAPI void          elm_ctxpopup_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1, 2);
+   WILL_DEPRECATE  EAPI void          elm_ctxpopup_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1, 2);
    /**
     * @brief Unset the ctxpopup content
     *
@@ -26589,8 +26935,11 @@ extern "C" {
     * @deprecated use elm_object_content_unset()
     *
     * @see elm_ctxpopup_content_set()
+    *
+    * @deprecated use elm_object_content_unset() instead
+    *
     */
-   EAPI Evas_Object  *elm_ctxpopup_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   WILL_DEPRECATE  EAPI Evas_Object  *elm_ctxpopup_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Set the direction priority of a ctxpopup.
     *
@@ -27559,18 +27908,95 @@ extern "C" {
 #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)
 
+   /**
+    * dbsystem Store object
+    *
+    * @addtogroup DBStore
+    * @{
+    *
+    * @return The new object or NULL if it cannot be created
+    */
    EAPI Elm_Store              *elm_store_dbsystem_new(void);
+   /**
+    * Sets the item count of a store
+    *
+    * @param st The store object
+    * @param count The item count of an store
+    */
    EAPI void                    elm_store_item_count_set(Elm_Store *st, int count) EINA_ARG_NONNULL(1);
+   /**
+    * Set the select func that select the state of a list item whether true or false
+    *
+    * @param st The store object
+    * @param func The select cb function of an store
+    * @param data The new data pointer to set
+    */
    EAPI void                    elm_store_item_select_func_set(Elm_Store *st, Elm_Store_Item_Select_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   /**
+    * Sets the sort func that sort the item with a next in the list
+    *
+    * @param st The store object
+    * @param func The sort cb function of an store
+    * @param data The new data pointer to set
+    */
    EAPI void                    elm_store_item_sort_func_set(Elm_Store *st, Elm_Store_Item_Sort_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   /**
+    * Set the store item free func
+    *
+    * @param st The store object
+    * @param func The free cb function of an store
+    * @param data The new data pointer to set
+    */
    EAPI void                    elm_store_item_free_func_set(Elm_Store *st, Elm_Store_Item_Free_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   /**
+    * Get the item index that included header items
+    *
+    * @param sti The store item object
+    * @return The item index in genlist
+    */
    EAPI int                     elm_store_item_data_index_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+   /**
+    * Get the DB pointer of an item
+    *
+    * @param sti The store item object
+    * @return The DB pointer of item
+    */
    EAPI void                   *elm_store_dbsystem_db_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+   /**
+    * Set the DB pointer of an item
+    *
+    * @param sti The store item object
+    * @parm p_db The DB pointer of item
+    */
    EAPI void                    elm_store_dbsystem_db_set(Elm_Store *store, void *pDB) EINA_ARG_NONNULL(1);
+   /**
+    */
    EAPI int                     elm_store_item_index_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+   /**
+    * Append the item to the genlist
+    *
+    * @param st The store object
+    * @param info The store item info dbsystem object
+    * @return The item of store
+    */
    EAPI Elm_Store_Item         *elm_store_item_add(Elm_Store *st, Elm_Store_Item_Info *info) EINA_ARG_NONNULL(1);
+   /**
+    * Realize the visible items to the screen
+    *
+    * @param st The store object
+    */
    EAPI void                    elm_store_item_update(Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+   /**
+    * Realize the item to the screen
+    *
+    * @param sti The store item object
+    */
    EAPI void                    elm_store_visible_items_update(Elm_Store *st) EINA_ARG_NONNULL(1);
+   /**
+    * Delete the item of genlist
+    *
+    * @param sti The store item object
+    */
    EAPI void                    elm_store_item_del(Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
    EAPI void                    elm_store_free(Elm_Store *st);
    EAPI Elm_Store              *elm_store_filesystem_new(void);
@@ -27594,6 +28020,9 @@ extern "C" {
    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
@@ -28075,7 +28504,8 @@ extern "C" {
     * "rewind,clicked" - the user clicked the rewind button.
     * "stop,clicked" - the user clicked the stop button.
     * 
-    * To set the video of the player, you can use elm_object_content_set() API.
+    * Default contents parts of the player widget that you can use for are:
+    * @li "video" - A video of the player
     * 
     */
 
@@ -28087,7 +28517,7 @@ extern "C" {
     *
     * This function inserts a new player widget on the canvas.
     *
-    * @see elm_object_content_set()
+    * @see elm_object_part_content_set()
     *
     * @ingroup Video
     */
@@ -28105,10 +28535,11 @@ extern "C" {
     *
     * @see elm_player_add()
     * @see elm_video_add()
+    * @deprecated use elm_object_part_content_set() instead
     *
     * @ingroup Video
     */
-   EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
+   EINA_DEPRECATED EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
 
    /**
     * @brief Add a new Elm_Video object to the given parent Elementary (container) object.
@@ -28312,36 +28743,11 @@ extern "C" {
    EAPI void         elm_datefield_item_max_set(Evas_Object *obj, Elm_Datefield_ItemType itemtype, int value, Eina_Bool abs_limit);
    EAPI int          elm_datefield_item_max_get(const Evas_Object *obj, Elm_Datefield_ItemType itemtype);
    EAPI Eina_Bool    elm_datefield_item_max_is_absolute(const Evas_Object *obj, Elm_Datefield_ItemType itemtype);
+
    /* smart callbacks called:
    * "changed" - when datefield value is changed, this signal is sent.
    */
 
-////////////////////// DEPRECATED ///////////////////////////////////
-
-   typedef enum _Elm_Datefield_Layout
-     {
-        ELM_DATEFIELD_LAYOUT_TIME,
-        ELM_DATEFIELD_LAYOUT_DATE,
-        ELM_DATEFIELD_LAYOUT_DATEANDTIME
-     } Elm_Datefield_Layout;
-
-   EINA_DEPRECATED EAPI void         elm_datefield_layout_set(Evas_Object *obj, Elm_Datefield_Layout layout);
-   EINA_DEPRECATED EAPI Elm_Datefield_Layout elm_datefield_layout_get(const Evas_Object *obj);
-   EINA_DEPRECATED EAPI void         elm_datefield_date_format_set(Evas_Object *obj, const char *fmt);
-   EINA_DEPRECATED EAPI const char  *elm_datefield_date_format_get(const Evas_Object *obj);
-   EINA_DEPRECATED EAPI void         elm_datefield_time_mode_set(Evas_Object *obj, Eina_Bool mode);
-   EINA_DEPRECATED EAPI Eina_Bool    elm_datefield_time_mode_get(const Evas_Object *obj);
-   EINA_DEPRECATED EAPI void         elm_datefield_date_set(Evas_Object *obj, int year, int month, int day, int hour, int min);
-   EINA_DEPRECATED EAPI void         elm_datefield_date_get(const Evas_Object *obj, int *year, int *month, int *day, int *hour, int *min);
-   EINA_DEPRECATED EAPI Eina_Bool    elm_datefield_date_max_set(Evas_Object *obj, int year, int month, int day);
-   EINA_DEPRECATED EAPI void         elm_datefield_date_max_get(const Evas_Object *obj, int *year, int *month, int *day);
-   EINA_DEPRECATED EAPI Eina_Bool    elm_datefield_date_min_set(Evas_Object *obj, int year, int month, int day);
-   EINA_DEPRECATED EAPI void         elm_datefield_date_min_get(const Evas_Object *obj, int *year, int *month, int *day);
-   EINA_DEPRECATED EAPI void         elm_datefield_input_panel_state_callback_add(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value), void *data);
-   EINA_DEPRECATED EAPI void         elm_datefield_input_panel_state_callback_del(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value));
-/////////////////////////////////////////////////////////////////////
-
    /* popup */
    typedef enum _Elm_Popup_Response
      {
@@ -28392,84 +28798,6 @@ extern "C" {
    EAPI void         elm_popup_orient_set(Evas_Object *obj, Elm_Popup_Orient orient);
    EAPI int          elm_popup_run(Evas_Object *obj);
 
-   /* NavigationBar */
-   #define NAVIBAR_TITLEOBJ_INSTANT_HIDE "elm,state,hide,noanimate,title", "elm"
-   #define NAVIBAR_TITLEOBJ_INSTANT_SHOW "elm,state,show,noanimate,title", "elm"
-
-   typedef enum
-     {
-        ELM_NAVIGATIONBAR_FUNCTION_BUTTON1,
-        ELM_NAVIGATIONBAR_FUNCTION_BUTTON2,
-        ELM_NAVIGATIONBAR_FUNCTION_BUTTON3,
-        ELM_NAVIGATIONBAR_BACK_BUTTON
-     } Elm_Navi_Button_Type;
-
-   EINA_DEPRECATED EAPI Evas_Object *elm_navigationbar_add(Evas_Object *parent);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_push(Evas_Object *obj, const char *title, Evas_Object *fn_btn1, Evas_Object *fn_btn2, Evas_Object *fn_btn3, Evas_Object *content);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_pop(Evas_Object *obj);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_to_content_pop(Evas_Object *obj, Evas_Object *content);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_title_label_set(Evas_Object *obj, Evas_Object *content, const char *title);
-   EINA_DEPRECATED    EAPI const char  *elm_navigationbar_title_label_get(Evas_Object *obj, Evas_Object *content);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_title_object_add(Evas_Object *obj, Evas_Object *content, Evas_Object *title_obj);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_title_object_get(Evas_Object *obj, Evas_Object *content);
-   EINA_DEPRECATED    EAPI Eina_List   *elm_navigationbar_title_object_list_get(Evas_Object *obj, Evas_Object *content);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_content_top_get(Evas_Object *obj);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_content_bottom_get(Evas_Object *obj);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_hidden_set(Evas_Object *obj, Eina_Bool hidden);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_title_button_set(Evas_Object *obj, Evas_Object *content, Evas_Object *button, Elm_Navi_Button_Type button_type);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_title_button_get(Evas_Object *obj, Evas_Object *content, Elm_Navi_Button_Type button_type);
-   EINA_DEPRECATED    EAPI const char  *elm_navigationbar_subtitle_label_get(Evas_Object *obj, Evas_Object *content);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_subtitle_label_set(Evas_Object *obj, Evas_Object *content, const char *subtitle);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_title_object_list_unset(Evas_Object *obj, Evas_Object *content, Eina_List **list);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_animation_disabled_set(Evas_Object *obj, Eina_Bool disable);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_title_object_visible_set(Evas_Object *obj, Evas_Object *content, Eina_Bool visible);
-   EINA_DEPRECATED    Eina_Bool         elm_navigationbar_title_object_visible_get(Evas_Object *obj, Evas_Object *content);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_title_icon_set(Evas_Object *obj, Evas_Object *content, Evas_Object *icon);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_title_icon_get(Evas_Object *obj, Evas_Object *content);
-
-   /* NavigationBar */
-   #define NAVIBAR_EX_TITLEOBJ_INSTANT_HIDE "elm,state,hide,noanimate,title", "elm"
-   #define NAVIBAR_EX_TITLEOBJ_INSTANT_SHOW "elm,state,show,noanimate,title", "elm"
-
-   typedef enum
-     {
-        ELM_NAVIGATIONBAR_EX_BACK_BUTTON,
-        ELM_NAVIGATIONBAR_EX_FUNCTION_BUTTON1,
-        ELM_NAVIGATIONBAR_EX_FUNCTION_BUTTON2,
-        ELM_NAVIGATIONBAR_EX_FUNCTION_BUTTON3,
-        ELM_NAVIGATIONBAR_EX_MAX
-     } Elm_Navi_ex_Button_Type;
-   typedef struct _Elm_Navigationbar_ex_Item Elm_Navigationbar_ex_Item;
-
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_ex_add(Evas_Object *parent);
-   EINA_DEPRECATED    EAPI Elm_Navigationbar_ex_Item *elm_navigationbar_ex_item_push(Evas_Object *obj, Evas_Object *content, const char *item_style);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_pop(Evas_Object *obj);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_promote(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_to_item_pop(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_title_label_set(Elm_Navigationbar_ex_Item *item, const char *title);
-   EINA_DEPRECATED    EAPI const char  *elm_navigationbar_ex_item_title_label_get(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI Elm_Navigationbar_ex_Item *elm_navigationbar_ex_item_top_get(const Evas_Object *obj);
-   EINA_DEPRECATED    EAPI Elm_Navigationbar_ex_Item *elm_navigationbar_ex_item_bottom_get(const Evas_Object *obj);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_title_button_set(Elm_Navigationbar_ex_Item* item, char *btn_label, Evas_Object *icon, int button_type, Evas_Smart_Cb func, const void *data);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_ex_item_title_button_get(Elm_Navigationbar_ex_Item* item, int button_type);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_title_object_set(Elm_Navigationbar_ex_Item* item, Evas_Object *title_obj);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_ex_item_title_object_unset(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_title_hidden_set(Elm_Navigationbar_ex_Item* item, Eina_Bool hidden);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_ex_item_title_object_get(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI const char  *elm_navigationbar_ex_item_subtitle_label_get(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_subtitle_label_set( Elm_Navigationbar_ex_Item* item, const char *subtitle);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_style_set(Elm_Navigationbar_ex_Item* item, const char* item_style);
-   EINA_DEPRECATED    EAPI const char  *elm_navigationbar_ex_item_style_get(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_ex_item_content_unset(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_ex_item_content_get(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_delete_on_pop_set(Evas_Object *obj, Eina_Bool del_on_pop);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_ex_item_icon_get(Elm_Navigationbar_ex_Item* item);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_item_icon_set(Elm_Navigationbar_ex_Item* item, Evas_Object *icon);
-   EINA_DEPRECATED    EAPI Evas_Object *elm_navigationbar_ex_item_title_button_unset(Elm_Navigationbar_ex_Item* item, int button_type);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_animation_disable_set(Evas_Object *obj, Eina_Bool disable);
-   EINA_DEPRECATED    EAPI void         elm_navigationbar_ex_title_object_visible_set(Elm_Navigationbar_ex_Item* item, Eina_Bool visible);
-   EINA_DEPRECATED    Eina_Bool         elm_navigationbar_ex_title_object_visible_get(Elm_Navigationbar_ex_Item* item);
-
    /**
     * @defgroup Naviframe Naviframe
     * @ingroup Elementary
@@ -28493,14 +28821,14 @@ extern "C" {
     * @li "title,clicked" - User clicked title area
     *
     * Default contents parts of the naviframe items that you can use for are:
-    * @li "elm.swallow.content" - A main content of the page
-    * @li "elm.swallow.icon" - A icon in the title area
-    * @li "elm.swallow.prev_btn" - A button to go to the previous page
-    * @li "elm.swallow.next_btn" - A button to go to the next page
+    * @li "default" - A main content of the page
+    * @li "icon" - A icon in the title area
+    * @li "prev_btn" - A button to go to the previous page
+    * @li "next_btn" - A button to go to the next page
     *
     * Default text parts of the naviframe items that you can use for are:
-    * @li "elm.text.title" - Title label in the title area
-    * @li "elm.text.subtitle" - Sub-title label in the title area
+    * @li "default" - Title label in the title area
+    * @li "subtitle" - Sub-title label in the title area
     *
     * @ref tutorial_naviframe gives a good overview of the usage of the API.
     */
@@ -28519,6 +28847,10 @@ extern "C" {
   #define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_OPEN "elm,state,optionheader,open", ""
   #define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_INSTANT_CLOSE "elm,state,optionheader,instant_close", ""
   #define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_INSTANT_OPEN "elm,state,optionheader,instant_open", ""
+  #define ELM_NAVIFRAME_ITEM_SIGNAL_CONTROLBAR_CLOSE "elm,state,controlbar,close", ""
+  #define ELM_NAVIFRAME_ITEM_SIGNAL_CONTROLBAR_OPEN "elm,state,controlbar,open", ""
+  #define ELM_NAVIFRAME_ITEM_SIGNAL_CONTROLBAR_INSTANT_CLOSE "elm,state,controlbar,instant_close", ""
+  #define ELM_NAVIFRAME_ITEM_SIGNAL_CONTROLBAR_INSTANT_OPEN "elm,state,controlbar,instant_open", ""
 
    //Available only in a style - "2line"
   #define ELM_NAVIFRAME_ITEM_OPTIONHEADER2 "elm.swallow.optionheader2"
@@ -28806,6 +29138,16 @@ extern "C" {
     * @}
     */
 
+   /**
+    * @defgroup Controlbar Controlbar
+    * @ingroup Elementary
+    * @addtogroup Controlbar
+    * @{
+    *
+    * This is a Controlbar. It can contain label and icon objects.
+    * In edit mode, you can change the location of items.
+    */
+
    /* Control Bar */
    #define CONTROLBAR_SYSTEM_ICON_ALBUMS "controlbar_albums"
    #define CONTROLBAR_SYSTEM_ICON_ARTISTS "controlbar_artists"
@@ -28829,55 +29171,398 @@ extern "C" {
      } Elm_Controlbar_Mode_Type;
 
    typedef struct _Elm_Controlbar_Item Elm_Controlbar_Item;
+   /**
+    * Add a new controlbar object
+    *
+    * @param parent The parent object
+    * @return The new object or NULL if it cannot be created
+    */
    EAPI Evas_Object *elm_controlbar_add(Evas_Object *parent);
+   /**
+    * Append new tab item
+    *
+    * @param   obj The controlbar object
+    * @param   icon_path The icon path of item
+    * @param   label The label of item
+    * @param   view The view of item
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_append(Evas_Object *obj, const char *icon_path, const char *label, Evas_Object *view);
+   /**
+    * Prepend new tab item
+    *
+    * @param   obj The controlbar object
+    * @param   icon_path The icon path of item
+    * @param   label The label of item
+    * @param   view The view of item
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_prepend(Evas_Object *obj, const char *icon_path, const char *label, Evas_Object *view);
+   /**
+    * Insert new tab item before given item
+    *
+    * @param   obj The controlbar object
+    * @param   before The given item
+    * @param   icon_path The icon path of item
+    * @param   label The label of item
+    * @param   view The view of item
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, const char *icon_path, const char *label, Evas_Object *view);
+   /**
+    * Insert new tab item after given item
+    *
+    * @param   obj The controlbar object
+    * @param   after The given item
+    * @param   icon_path The icon path of item
+    * @param   label The label of item
+    * @param   view The view of item
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, const char *icon_path, const char *label, Evas_Object *view);
+   /**
+    * Append new tool item
+    *
+    * @param   obj The controlbar object
+    * @param   icon_path The icon path of item
+    * @param   label The label of item
+    * @param   func Callback function of item
+    * @param   data The data of callback function
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_append(Evas_Object *obj, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
+   /**
+    * Prepend new tool item
+    *
+    * @param   obj The controlbar object
+    * @param   icon_path The icon path of item
+    * @param   label The label of item
+    * @param   func Callback function of item
+    * @param   data The data of callback function
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_prepend(Evas_Object *obj, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
+   /**
+    * Insert new tool item before given item
+    *
+    * @param   obj The controlbar object
+    * @param   before The given item
+    * @param   icon_path The icon path of item
+    * @param   label The label of item
+    * @param   func Callback function of item
+    * @param   data The data of callback function
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
+   /**
+    * Insert new tool item after given item
+    *
+    * @param   obj The controlbar object
+    * @param   after The given item
+    * @param   icon_path The icon path of item
+    * @param   label The label of item
+    * @param   func Callback function of item
+    * @param   data The data of callback function
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
+   /**
+    * Append new object item
+    *
+    * @param   obj The controlbar object
+    * @param   obj_item The object of item
+    * @param   sel The number of sel occupied
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_object_item_append(Evas_Object *obj, Evas_Object *obj_item, const int sel);
+   /**
+    * Prepend new object item
+    *
+    * @param   obj The controlbar object
+    * @param   obj_item The object of item
+    * @param   sel The number of sel occupied
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_object_item_prepend(Evas_Object *obj, Evas_Object *obj_item, const int sel);
+   /**
+    * Insert new object item before given item
+    *
+    * @param   obj The controlbar object
+    * @param   before The given item
+    * @param   obj_item The object of item
+    * @param   sel The number of sel occupied
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_object_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, Evas_Object *obj_item, const int sel);
+   /**
+    * Insert new object item after given item
+    *
+    * @param   obj The controlbar object
+    * @param   after The given item
+    * @param   obj_item The object of item
+    * @param   sel The number of sel occupied
+    * @return  The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_object_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, Evas_Object *obj_item, const int sel);
+   /**
+    * Get the object of the object item
+    *
+    * @param       it The item of controlbar
+    * @return      The object of the object item
+    */
    EAPI Evas_Object *elm_controlbar_object_item_object_get(const Elm_Controlbar_Item *it);
+   /**
+    * Delete item from controlbar
+    *
+    * @param   it The item of controlbar
+    */
    EAPI void         elm_controlbar_item_del(Elm_Controlbar_Item *it);
+   /**
+    * Select item in controlbar
+    *
+    * @param   it The item of controlbar
+    */
    EAPI void         elm_controlbar_item_select(Elm_Controlbar_Item *it);
+   /**
+    * Set the visible status of item in bar
+    *
+    * @param   it The item of controlbar
+    * @param   bar EINA_TRUE or EINA_FALSE
+    */
    EAPI void         elm_controlbar_item_visible_set(Elm_Controlbar_Item *it, Eina_Bool bar);
+   /**
+    * Get the result which or not item is visible in bar
+    *
+    * @param   it The item of controlbar
+    * @return  EINA_TRUE or EINA_FALSE
+    */
    EAPI Eina_Bool    elm_controlbar_item_visible_get(const Elm_Controlbar_Item * it);
-   EAPI void         elm_controlbar_item_disabled_set(Elm_Controlbar_Item * it, Eina_Bool disabled);
+   /**
+    * Set item disable
+    *
+    * @param   it The item of controlbar
+    * @param   bar EINA_TRUE or EINA_FALSE
+    */
+   EAPI void         elm_controlbar_item_disabled_set(Elm_Controlbar_Item * it, Eina_Bool disabled);
+   /**
+    * Get item disable
+    *
+    * @param   it The item of controlbar
+    * @return  EINA_TRUE or EINA_FALSE
+    */
    EAPI Eina_Bool    elm_controlbar_item_disabled_get(const Elm_Controlbar_Item * it);
+   /**
+    * Set the icon of item
+    *
+    * @param   it The item of controlbar
+    * @param   icon_path The icon path of the item
+    * @return  The icon object
+    */
    EAPI void         elm_controlbar_item_icon_set(Elm_Controlbar_Item *it, const char *icon_path);
+   /**
+    * Get the icon of item
+    *
+    * @param   it The item of controlbar
+    * @return  The icon object
+    */
    EAPI Evas_Object *elm_controlbar_item_icon_get(const Elm_Controlbar_Item *it);
+   /**
+    * Set the label of item
+    *
+    * @param   it The item of controlbar
+    * @param   label The label of item
+    */
    EAPI void         elm_controlbar_item_label_set(Elm_Controlbar_Item *it, const char *label);
+   /**
+    * Get the label of item
+    *
+    * @param   it The item of controlbar
+    * @return The label of item
+    */
    EAPI const char  *elm_controlbar_item_label_get(const Elm_Controlbar_Item *it);
+   /**
+    * Get the selected item
+    *
+    * @param   obj The controlbar object
+    * @return          The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_selected_item_get(const Evas_Object *obj);
+   /**
+    * Get the first item
+    *
+    * @param   obj The controlbar object
+    * @return          The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_first_item_get(const Evas_Object *obj);
+   /**
+    * Get the last item
+    *
+    * @param   obj The controlbar object
+    * @return          The item of controlbar
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_last_item_get(const Evas_Object *obj);
+   /**
+    * Get the items
+    *
+    * @param   obj The controlbar object
+    * @return  The list of the items
+    */
    EAPI const Eina_List   *elm_controlbar_items_get(const Evas_Object *obj);
+   /**
+    * Get the previous item
+    *
+    * @param   it The item of controlbar
+    * @return  The previous item of the parameter item
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_item_prev(Elm_Controlbar_Item *it);
+   /**
+    * Get the next item
+    *
+    * @param   obj The controlbar object
+    * @return  The next item of the parameter item
+    */
    EAPI Elm_Controlbar_Item *elm_controlbar_item_next(Elm_Controlbar_Item *it);
+   /**
+    * Set the view of the item
+    *
+    * @param   it The item of controlbar
+    * @param   view The view for the item
+    */
    EAPI void         elm_controlbar_item_view_set(Elm_Controlbar_Item *it, Evas_Object * view);
+   /**
+    * Get the view of the item
+    *
+    * @param   it The item of controlbar
+    * @return  The view for the item
+    */
    EAPI Evas_Object *elm_controlbar_item_view_get(const Elm_Controlbar_Item *it);
+   /**
+    * Unset the view of the item
+    *
+    * @param   it The item of controlbar
+    * @return  The view for the item
+    */
    EAPI Evas_Object *elm_controlbar_item_view_unset(Elm_Controlbar_Item *it);
+   /**
+    * Set the vertical mode of the controlbar
+    *
+    * @param   obj The object of the controlbar
+    * @param   vertical The vertical mode of the controlbar (TRUE = vertical, FALSE = horizontal)
+    */
    EAPI Evas_Object *elm_controlbar_item_button_get(const Elm_Controlbar_Item *it);
+   /**
+    * Set the mode of the controlbar
+    *
+    * @param   obj The object of the controlbar
+    * @param   mode The mode of the controlbar
+    */
    EAPI void         elm_controlbar_mode_set(Evas_Object *obj, int mode);
+   /**
+    * Set the alpha of the controlbar
+    *
+    * @param   obj The object of the controlbar
+    * @param   alpha The alpha value of the controlbar (0-100)
+    */
    EAPI void         elm_controlbar_alpha_set(Evas_Object *obj, int alpha);
+   /**
+    * Set auto-align mode of the controlbar(It's not prepared yet)
+    * If you set the auto-align and add items more than 5,
+    * the "more" item will be made and the items more than 5 will be unvisible.
+    *
+    * @param   obj The object of the controlbar
+    * @param   auto_align The dicision that the controlbar use the auto-align
+    */
    EAPI void         elm_controlbar_item_auto_align_set(Evas_Object *obj, Eina_Bool auto_align);
+   /**
+    * Get the button object of the item
+    *
+    * @param   it The item of controlbar
+    * @return  button object of the item
+    */
    EAPI void         elm_controlbar_vertical_set(Evas_Object *obj, Eina_Bool vertical);
+   /**
+    * @}
+    */
+
 
-   /* SearchBar */
+   /**
+    * @defgroup Searchbar Searchbar
+    * @addtogroup TickerNoti
+    * @{
+    * @ingroup Elementary
+    *
+    * This is Searchbar.
+    * It can contain a simple entry and button object.
+    */
+
+   /**
+    * Add a new searchbar to the parent
+    * @param parent The parent object
+    * @return The new object or NULL if it cannot be created
+    */
    EAPI Evas_Object *elm_searchbar_add(Evas_Object *parent);
+   /**
+    * set the text of entry
+    *
+    * @param obj The searchbar object
+    * @return void
+    */
    EAPI void         elm_searchbar_text_set(Evas_Object *obj, const char *entry);
+   /**
+    * get the text of entry
+    *
+    * @param obj The searchbar object
+    * @return string pointer of entry
+    */
    EAPI const char  *elm_searchbar_text_get(Evas_Object *obj);
+   /**
+    * get the pointer of entry
+    *
+    * @param obj The searchbar object
+    * @return the entry object
+    */
    EAPI Evas_Object *elm_searchbar_entry_get(Evas_Object *obj);
+   /**
+    * get the pointer of editfield
+    *
+    * @param obj The searchbar object
+    * @return the editfield object
+    */
    EAPI Evas_Object *elm_searchbar_editfield_get(Evas_Object *obj);
+   /**
+    * set the cancel button animation flag
+    *
+    * @param obj The searchbar object
+    * @param cancel_btn_ani_flag The flag of animating cancen button or not
+    * @return void
+    */
    EAPI void         elm_searchbar_cancel_button_animation_set(Evas_Object *obj, Eina_Bool cancel_btn_ani_flag);
+   /**
+    * set the cancel button show mode
+    *
+    * @param obj The searchbar object
+    * @param visible The flag of cancen button show or not
+    * @return void
+    */
    EAPI void         elm_searchbar_cancel_button_set(Evas_Object *obj, Eina_Bool visible);
+   /**
+    * clear searchbar status
+    *
+    * @param obj The searchbar object
+    * @return void
+    */
    EAPI void         elm_searchbar_clear(Evas_Object *obj);
+   /**
+    * set the searchbar boundary rect mode(with bg rect) set
+    *
+    * @param obj The searchbar object
+    * @param boundary The present flag of boundary rect or not
+    * @return void
+    */
    EAPI void         elm_searchbar_boundary_rect_set(Evas_Object *obj, Eina_Bool boundary);
+   /**
+    * @}
+    */
 
    EAPI Evas_Object *elm_page_control_add(Evas_Object *parent);
    EAPI void         elm_page_control_page_count_set(Evas_Object *obj, unsigned int page_count);
@@ -28891,7 +29576,30 @@ extern "C" {
    EAPI void         elm_nocontents_custom_set(const Evas_Object *obj, Evas_Object *custom);
    EAPI Evas_Object *elm_nocontents_custom_get(const Evas_Object *obj);
 
-   /* TickerNoti */
+   /**
+    * @defgroup TickerNoti TickerNoti
+    * @addtogroup TickerNoti
+    * @{
+    *
+    * This is a notification widget which can be used to display some short information.
+    *
+    * Parts which can be used with elm_object_text_part_set() and
+    * elm_object_text_part_get():
+    *
+    * @li NULL/"default" - Operates on tickernoti content-text
+    *
+    * Parts which can be used with elm_object_content_part_set(),
+    * elm_object_content_part_get() and elm_object_content_part_unset():
+    *
+    * @li "icon" - Operates on tickernoti's icon
+    * @li "button" - Operates on tickernoti's button
+    *
+    * smart callbacks called:
+    * @li "clicked" - emitted when tickernoti is clicked, except at the
+    * swallow/button region, if any.
+    * @li "hide" - emitted when the tickernoti is completely hidden. In case of
+    * any hide animation, this signal is emitted after the animation.
+    */
    typedef enum
      {
         ELM_TICKERNOTI_ORIENT_TOP = 0,
@@ -28899,68 +29607,244 @@ extern "C" {
         ELM_TICKERNOTI_ORIENT_LAST
      }  Elm_Tickernoti_Orient;
 
+   /**
+    * Add a tickernoti object to @p parent
+    *
+    * @param parent The parent object
+    *
+    * @return The tickernoti object, or NULL upon failure
+    */
    EAPI Evas_Object              *elm_tickernoti_add (Evas_Object *parent);
+   /**
+    * Set the orientation of the tickernoti object
+    *
+    * @param obj The tickernoti object
+    * @param orient The orientation of tickernoti object
+    */
    EAPI void                      elm_tickernoti_orient_set (Evas_Object *obj, Elm_Tickernoti_Orient orient) EINA_ARG_NONNULL(1);
+   /**
+    * Get the orientation of the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return The orientation of tickernotil object
+    */
    EAPI Elm_Tickernoti_Orient     elm_tickernoti_orient_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Get the rotation of tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return The rotation angle
+    */
    EAPI int                       elm_tickernoti_rotation_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the rotation angle for the tickernoti object
+    *
+    * @param obj The tickernoti object
+    * @param angle The rotation angle(in degree) will be used on the tickernoti object
+    */
    EAPI void                      elm_tickernoti_rotation_set (Evas_Object *obj, int angle) EINA_ARG_NONNULL(1);
+   /**
+    * Get the view window(elm_win) on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return internal view window(elm_win) object
+    */
    EAPI Evas_Object              *elm_tickernoti_win_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* #### Below APIs and data structures are going to be deprecated, announcment will be made soon ####*/
+   /**
+    * @deprecated
+    */
    typedef enum
     {
        ELM_TICKERNOTI_DEFAULT,
        ELM_TICKERNOTI_DETAILVIEW
     } Elm_Tickernoti_Mode;
-   EAPI void                      elm_tickernoti_detailview_label_set (Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
-   EAPI const char               *elm_tickernoti_detailview_label_get (const Evas_Object *obj)EINA_ARG_NONNULL(1);
-   EAPI void                      elm_tickernoti_detailview_button_set (Evas_Object *obj, Evas_Object *button) EINA_ARG_NONNULL(2);
-   EAPI Evas_Object              *elm_tickernoti_detailview_button_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void                      elm_tickernoti_detailview_icon_set (Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
-   EAPI Evas_Object              *elm_tickernoti_detailview_icon_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI Evas_Object              *elm_tickernoti_detailview_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void                      elm_tickernoti_mode_set (Evas_Object *obj, Elm_Tickernoti_Mode mode) EINA_ARG_NONNULL(1);
-   EAPI Elm_Tickernoti_Mode       elm_tickernoti_mode_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void                      elm_tickernoti_orientation_set (Evas_Object *obj, Elm_Tickernoti_Orient orient) EINA_ARG_NONNULL(1);
-   EAPI Elm_Tickernoti_Orient     elm_tickernoti_orientation_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void                      elm_tickernoti_label_set (Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
-   EAPI const char               *elm_tickernoti_label_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void                      elm_tickernoti_icon_set (Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
-   EAPI Evas_Object              *elm_tickernoti_icon_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void                      elm_tickernoti_button_set (Evas_Object *obj, Evas_Object *button) EINA_ARG_NONNULL(1);
-   EAPI Evas_Object              *elm_tickernoti_button_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   /* ############################################################################### */
-   /*
-    * Parts which can be used with elm_object_text_part_set() and
-    * elm_object_text_part_get():
+   /**
+    * Set the detail label on the tickernoti object
     *
-    * @li NULL/"default" - Operates on tickernoti content-text
+    * @param obj The tickernoti object
+    * @param label The label will be used on the tickernoti object
+    * @deprecated use elm_object_text_set() instead
+    */
+   WILL_DEPRECATE  EAPI void                      elm_tickernoti_detailview_label_set (Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   /**
+    * Get the detail label used on the tickernoti object
     *
-    * Parts which can be used with elm_object_content_part_set(),
-    * elm_object_content_part_get() and elm_object_content_part_unset():
+    * @param obj The tickernotil object
+    * @return The string inside the label
+    * @deprecated use elm_object_text_get() instead
+    */
+   WILL_DEPRECATE  EAPI const char               *elm_tickernoti_detailview_label_get (const Evas_Object *obj)EINA_ARG_NONNULL(1);
+   /**
+    * Set the button object used on the tickernoti object
     *
-    * @li "icon" - Operates on tickernoti's icon
-    * @li "button" - Operates on tickernoti's button
+    * @param obj The tickernotil object
+    * @param button The button object will be used on the tickernoti object
+    * @deprecated use elm_object_content_part_set() instead with "icon" as part name
+    */
+   WILL_DEPRECATE  EAPI void                      elm_tickernoti_detailview_button_set (Evas_Object *obj, Evas_Object *button) EINA_ARG_NONNULL(2);
+   /**
+    * Get the button object used on the tickernoti object
     *
-    * smart callbacks called:
-    * @li "clicked" - emitted when tickernoti is clicked, except at the
-    * swallow/button region, if any.
-    * @li "hide" - emitted when the tickernoti is completely hidden. In case of
-    * any hide animation, this signal is emitted after the animation.
+    * @param obj The tickernotil object
+    * @return The button object inside the tickernoti
+    * @deprecated use elm_object_content_part_get() instead with "button" as part name
+    */
+   WILL_DEPRECATE  EAPI Evas_Object              *elm_tickernoti_detailview_button_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the detail icon object used on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @param icon The icon object will be used on the tickernoti object
+    * @deprecated use elm_object_content_part_set() instead with "icon" as part name
+    */
+   WILL_DEPRECATE  EAPI void                      elm_tickernoti_detailview_icon_set (Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   /**
+    * Get the detail icon object used on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return The icon object inside the tickernoti
+    * @deprecated use elm_object_content_part_get() instead with "icon" as part name
+    */
+   WILL_DEPRECATE  EAPI Evas_Object              *elm_tickernoti_detailview_icon_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Get the view mode on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return The view mode
+    * @deprecated removed as now styles are used instead
+    */
+   WILL_DEPRECATE  EAPI Evas_Object              *elm_tickernoti_detailview_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the view mode used on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @param mode The view mode will be used on the tickernoti object
+    * @deprecated removed as now styles are used instead
+    */
+   WILL_DEPRECATE  EAPI void                      elm_tickernoti_mode_set (Evas_Object *obj, Elm_Tickernoti_Mode mode) EINA_ARG_NONNULL(1);
+   /**
+    * Get the detail view window(elm_win) on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return detail view window(elm_win) object
+    */
+   WILL_DEPRECATE  EAPI Elm_Tickernoti_Mode       elm_tickernoti_mode_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the orientation of the tickernoti object
+    *
+    * @param obj The tickernoti object
+    * @param orient The orientation of tickernoti object
+    * @deprecated use elm_tickernoti_orient_set() instead
+    */
+   WILL_DEPRECATE  EAPI void                      elm_tickernoti_orientation_set (Evas_Object *obj, Elm_Tickernoti_Orient orient) EINA_ARG_NONNULL(1);
+   /**
+    * Get the orientation of the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return The orientation of tickernotil object
+    * @deprecated use elm_tickernoti_orient_get() instead
+    */
+   WILL_DEPRECATE  EAPI Elm_Tickernoti_Orient     elm_tickernoti_orientation_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the label on the tickernoti object
+    *
+    * @param obj The tickernoti object
+    * @param label The label will be used on the tickernoti object
+    * @deprecated use elm_object_text_get()
+    */
+   WILL_DEPRECATE  EAPI void                      elm_tickernoti_label_set (Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   /**
+    * Get the label used on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return The string inside the label
+    * @deprecated use elm_object_text_get() instead
+    */
+   WILL_DEPRECATE  EAPI const char               *elm_tickernoti_label_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the icon object of the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @param icon The icon object will be used on the tickernoti object
+    * @deprecated use elm_object_content_part_set() instead with "icon" as part name
+    */
+   WILL_DEPRECATE  EAPI void                      elm_tickernoti_icon_set (Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   /**
+    * Get the icon object of the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return The icon object inside the tickernoti
+    * @deprecated use elm_object_content_part_get() instead with "icon" as part name
+    */
+   WILL_DEPRECATE  EAPI Evas_Object              *elm_tickernoti_icon_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the action button object used on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @param button The button object will be used on the tickernoti object
+    * @deprecated use elm_object_content_part_set() instead with "button" as part name
+    */
+   WILL_DEPRECATE  EAPI void                      elm_tickernoti_button_set (Evas_Object *obj, Evas_Object *button) EINA_ARG_NONNULL(1);
+   /**
+    * Get the action button object used on the tickernoti object
+    *
+    * @param obj The tickernotil object
+    * @return The button object inside the tickernoti
+    * @deprecated use elm_object_content_part_get() instead with "button" as part name
+    */
+   WILL_DEPRECATE  EAPI Evas_Object              *elm_tickernoti_button_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * @}
     */
 
-   /* colorpalette */
+   /**
+    * @defgroup Colorpalette Colorpalette
+    * @ingroup Elementary
+    * @addtogroup Colorpalette
+    * @{
+    *
+    * Using colorpalette, you can select a color by clicking
+    * a color rectangle on the colorpalette.
+    *
+    * Smart callbacks that you can add are:
+    *
+    * clicked - This signal is sent when a color rectangle is clicked.
+    */
    typedef struct _Colorpalette_Color Elm_Colorpalette_Color;
-
    struct _Colorpalette_Color
      {
         unsigned int r, g, b;
      };
 
+   /**
+    * Add a new colorpalette to the parent.
+    *
+    * @param parent The parent object
+    * @return The new object or NULL if it cannot be created
+    *
+    * @ingroup Colorpalette
+    */
    EAPI Evas_Object *elm_colorpalette_add(Evas_Object *parent);
+   /**
+    * Set colors to the colorpalette.
+    *
+    * @param obj   Colorpalette object
+    * @param color_num     number of the colors on the colorpalette
+    * @param color     Color lists
+    */
    EAPI void         elm_colorpalette_color_set(Evas_Object *obj, int color_num, Elm_Colorpalette_Color *color);
+   /**
+    * Set row/column value for the colorpalette.
+    *
+    * @param obj   Colorpalette object
+    * @param row   row value for the colorpalette
+    * @param col   column value for the colorpalette
+    */
    EAPI void         elm_colorpalette_row_column_set(Evas_Object *obj, int row, int col);
-   /* smart callbacks called:
-    * "clicked" - when image clicked
+
+   /**
+    * @}
     */
 
    /* editfield */
@@ -28985,125 +29869,282 @@ extern "C" {
     */
 
 
-   /* Sliding Drawer */
-   typedef enum _Elm_SlidingDrawer_Pos
-     {
-        ELM_SLIDINGDRAWER_BOTTOM,
-        ELM_SLIDINGDRAWER_LEFT,
-        ELM_SLIDINGDRAWER_RIGHT,
-        ELM_SLIDINGDRAWER_TOP
-     } Elm_SlidingDrawer_Pos;
-
-   typedef struct _Elm_SlidingDrawer_Drag_Value
-     {
-        double x, y;
-     } Elm_SlidingDrawer_Drag_Value;
-
-   EINA_DEPRECATED EAPI Evas_Object *elm_slidingdrawer_add(Evas_Object *parent);
-   EINA_DEPRECATED EAPI void         elm_slidingdrawer_content_set (Evas_Object *obj, Evas_Object *content);
-   EINA_DEPRECATED EAPI Evas_Object *elm_slidingdrawer_content_unset(Evas_Object *obj);
-   EINA_DEPRECATED EAPI void         elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos);
-   EINA_DEPRECATED EAPI void         elm_slidingdrawer_max_drag_value_set(Evas_Object *obj, double dw,  double dh);
-   EINA_DEPRECATED EAPI void         elm_slidingdrawer_drag_value_set(Evas_Object *obj, double dx, double dy);
+   /**
+    * @defgroup Multibuttonenetry Multibuttonenetry
+    *
+    * @image html img/widget/flipselector/preview-00.png
+    * @image latex img/widget/flipselector/preview-00.eps
+    *
+    * A Multibuttonentry is a widget to allow a user to insert a text button.
+    * the text button is inserted by pressing the "return" key. If there is no space in the current row,
+    * the new button is entered in the next row. If the button is pressed, it will become focused. 
+    * The focus can be removed by pressing the "backspace" key.
+    * when items are added over 1 lines, if Multibuttonentry lost focus, it becase shrink mode ( made it 1 line)
+    *
+    * Smart callbacks one can register to:
+    * - @c "item,selected" - when item is selected . it can be called by backspace key.                       
+    * - @c "item,added" - when a new multibuttonentry item is added. 
+    * - @c "item,deleted" -when a multibuttonentry item is deleted. 
+    * - @c "item,clicked" - selected item of multibuttonentry is clicked.                  
+    * - @c "clicked" - when multibuttonentry is clicked. 
+    * - @c "focused" - when multibuttonentry is focused. 
+    * - @c "unfocused" - when multibuttonentry is unfocused. 
+    * - @c "expanded" - when multibuttonentry is expanded . 
+    * - @c "shrank" - when multibuttonentry is shrank. 
+    * - @c "shrank,state,changed" - when shrink mode state of multibuttonentry is changed. 
+    *
+    * Here is an example on its usage:
+    * @li @ref multibuttonentry_example
+    */
+    /**
+    * @addtogroup Multibuttonentry
+    * @{
+    */
 
    /* multibuttonentry */
    typedef struct _Multibuttonentry_Item Elm_Multibuttonentry_Item;
    typedef Eina_Bool (*Elm_Multibuttonentry_Item_Verify_Callback) (Evas_Object *obj, const char *item_label, void *item_data, void *data);
+
+   /**
+    * @brief Add a new multibuttonentry to the parent
+    *
+    * @param parent The parent object
+    * @return The new object or NULL if it cannot be created
+    */
    EAPI Evas_Object               *elm_multibuttonentry_add(Evas_Object *parent);
+   /**
+    * Get the label
+    *
+    * @param obj The multibuttonentry object
+    * @return The label, or NULL if none
+    */
    EAPI const char                *elm_multibuttonentry_label_get(const Evas_Object *obj);
+   /**
+    * Set the label
+    *
+    * @param obj The multibuttonentry object
+    * @param label The text label string
+    */
    EAPI void                       elm_multibuttonentry_label_set(Evas_Object *obj, const char *label);
+   /**
+    * Get the entry of the multibuttonentry object
+    *
+    * @param obj The multibuttonentry object
+    * @return The entry object, or NULL if none
+    */
    EAPI Evas_Object               *elm_multibuttonentry_entry_get(const Evas_Object *obj);
+   /**
+    * Get the guide text
+    *
+    * @param obj The multibuttonentry object
+    * @return The guide text, or NULL if none
+    */
    EAPI const char *               elm_multibuttonentry_guide_text_get(const Evas_Object *obj);
+   /**
+    * Set the guide text
+    *
+    * @param obj The multibuttonentry object
+    * @param label The guide text string
+    */
    EAPI void                       elm_multibuttonentry_guide_text_set(Evas_Object *obj, const char *guidetext);
+   /**
+    * Get the value of shrink_mode state.
+    *
+    * @param obj The multibuttonentry object
+    * @param the value of shrink mode state.
+    */
    EAPI int                        elm_multibuttonentry_contracted_state_get(const Evas_Object *obj);
+   /**
+    * Set/Unset the multibuttonentry to shrink mode state of single line
+    *
+    * @param obj The multibuttonentry object
+    * @param the value of shrink_mode state. set this to 1 to set the multibuttonentry to shrink state of single line. set this to 0 to unset the contracted state.
+    */
    EAPI void                       elm_multibuttonentry_contracted_state_set(Evas_Object *obj, int contracted);
+   /**
+    * Prepend a new item to the multibuttonentry
+    *
+    * @param obj The multibuttonentry object
+    * @param label The label of new item
+    * @param data The ponter to the data to be attached
+    * @return A handle to the item added or NULL if not possible
+    */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_start(Evas_Object *obj, const char *label, void *data);
+   /**
+    * Append a new item to the multibuttonentry
+    *
+    * @param obj The multibuttonentry object
+    * @param label The label of new item
+    * @param data The ponter to the data to be attached
+    * @return A handle to the item added or NULL if not possible
+    */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_end(Evas_Object *obj, const char *label, void *data);
+   /**
+    * Add a new item to the multibuttonentry before the indicated object
+    *
+    * reference.
+    * @param obj The multibuttonentry object
+    * @param before The item before which to add it
+    * @param label The label of new item
+    * @param data The ponter to the data to be attached
+    * @return A handle to the item added or NULL if not possible
+    */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_before(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *before, void *data);
+   /**
+    * Add a new item to the multibuttonentry after the indicated object
+    *
+    * @param obj The multibuttonentry object
+    * @param after The item after which to add it
+    * @param label The label of new item
+    * @param data The ponter to the data to be attached
+    * @return A handle to the item added or NULL if not possible
+    */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_after(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *after, void *data);
+   /**
+    * Get a list of items in the multibuttonentry
+    *
+    * @param obj The multibuttonentry object
+    * @return The list of items, or NULL if none
+    */
    EAPI const Eina_List           *elm_multibuttonentry_items_get(const Evas_Object *obj);
+   /**
+    * Get the first item in the multibuttonentry
+    *
+    * @param obj The multibuttonentry object
+    * @return The first item, or NULL if none
+    */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_first_get(const Evas_Object *obj);
+   /**
+    * Get the last item in the multibuttonentry
+    *
+    * @param obj The multibuttonentry object
+    * @return The last item, or NULL if none
+    */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_last_get(const Evas_Object *obj);
+   /**
+    * Get the selected item in the multibuttonentry
+    *
+    * @param obj The multibuttonentry object
+    * @return The selected item, or NULL if none
+    */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_selected_get(const Evas_Object *obj);
+   /**
+    * Set the selected state of an item
+    *
+    * @param item The item
+    * @param selected if it's EINA_TRUE, select the item otherwise, unselect the item
+    */
    EAPI void                       elm_multibuttonentry_item_selected_set(Elm_Multibuttonentry_Item *item);
+   /**
+   * unselect all of items.
+   *
+   * @param obj The multibuttonentry object
+   */
    EAPI void                       elm_multibuttonentry_item_unselect_all(Evas_Object *obj);
+  /**
+   * Delete a given item
+   *
+   * @param item The item
+   */
    EAPI void                       elm_multibuttonentry_item_del(Elm_Multibuttonentry_Item *item);
+  /**
+   * Remove all items in the multibuttonentry.
+   *
+   * @param obj The multibuttonentry object
+   */
    EAPI void                       elm_multibuttonentry_items_del(Evas_Object *obj);
+  /**
+   * Get the label of a given item
+   *
+   * @param item The item
+   * @return The label of a given item, or NULL if none
+   */
    EAPI const char                *elm_multibuttonentry_item_label_get(const Elm_Multibuttonentry_Item *item);
+  /**
+   * Set the label of a given item
+   *
+   * @param item The item
+   * @param label The text label string
+   */
    EAPI void                       elm_multibuttonentry_item_label_set(Elm_Multibuttonentry_Item *item, const char *str);
+  /**
+   * Get the previous item in the multibuttonentry
+   *
+   * @param item The item
+   * @return The item before the item @p item
+   */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_prev(Elm_Multibuttonentry_Item *item);
+  /**
+   * Get the next item in the multibuttonentry
+   *
+   * @param item The item
+   * @return The item after the item @p item
+   */
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_next(Elm_Multibuttonentry_Item *item);
+
    EAPI void                      *elm_multibuttonentry_item_data_get(const Elm_Multibuttonentry_Item *item);
    EAPI void                       elm_multibuttonentry_item_data_set(Elm_Multibuttonentry_Item *item, void *data);
    EAPI void                       elm_multibuttonentry_item_verify_callback_set(Evas_Object *obj, Elm_Multibuttonentry_Item_Verify_Callback func, void *data);
-   /* smart callback called:
-    * "selected" - This signal is emitted when the selected item of multibuttonentry is changed.
-    * "added" - This signal is emitted when a new multibuttonentry item is added.
-    * "deleted" - This signal is emitted when a multibuttonentry item is deleted.
-    * "expanded" - This signal is emitted when a multibuttonentry is expanded.
-    * "contracted" - This signal is emitted when a multibuttonentry is contracted.
-    * "contracted,state,changed" - This signal is emitted when the contracted state of multibuttonentry is changed.
-    * "item,selected" - This signal is emitted when the selected item of multibuttonentry is changed.
-    * "item,added" - This signal is emitted when a new multibuttonentry item is added.
-    * "item,deleted" - This signal is emitted when a multibuttonentry item is deleted.
-    * "item,clicked" - This signal is emitted when a multibuttonentry item is clicked.
-    * "clicked" - This signal is emitted when a multibuttonentry is clicked.
-    * "unfocused" - This signal is emitted when a multibuttonentry is unfocused.
-    */
-   /* available styles:
-    * default
+
+   /**
+    * @}
     */
 
-   /* stackedicon */
+   /**
+    * @defgroup Stackedicon Stackedicon
+    * @ingroup Elementary
+    * @addtogroup Stackedicon
+    * @{
+    *
+    * This is a Stackedicon.
+    * smart callback called:
+    * "expanded" - This signal is emitted when a stackedicon is expanded.
+    * "clicked" - This signal is emitted when a stackedicon is clicked.
+    *
+    * available styles:
+    * default
+    */
    typedef struct _Stackedicon_Item Elm_Stackedicon_Item;
+   /**
+    * Add a new stackedicon to the parent
+    *
+    * @param parent The parent object
+    * @return The new object or NULL if it cannot be created
+    */
    EAPI Evas_Object          *elm_stackedicon_add(Evas_Object *parent);
+   /**
+    * This appends a path to the stackedicon
+    *
+    * @param    obj   The stackedicon object
+    * @param    path   The image full path
+    * @return   The new item or NULL if it cannot be created
+    */
    EAPI Elm_Stackedicon_Item *elm_stackedicon_item_append(Evas_Object *obj, const char *path);
+   /**
+    * This prepends a path to the stackedicon
+    *
+    * @param    obj   The stackedicon object
+    * @param    path   The image full path
+    * @return   The new item or NULL if it cannot be created
+    */
    EAPI Elm_Stackedicon_Item *elm_stackedicon_item_prepend(Evas_Object *obj, const char *path);
+   /**
+    * This delete a path at the stackedicon
+    *
+    * @param    Elm_Stackedicon_Item   The delete item
+    */
    EAPI void                  elm_stackedicon_item_del(Elm_Stackedicon_Item *it);
-   EAPI Eina_List            *elm_stackedicon_item_list_get(Evas_Object *obj);
-   /* smart callback called:
-    * "expanded" - This signal is emitted when a stackedicon is expanded.
-    * "clicked" - This signal is emitted when a stackedicon is clicked.
+   /**
+    * Get item list from the stackedicon
+    *
+    * @param    obj   The stackedicon object
+    * @return   The item list or NULL if it cannot be created
     */
-   /* available styles:
-    * default
+   EAPI Eina_List            *elm_stackedicon_item_list_get(Evas_Object *obj);
+   /**
+    * @}
     */
 
-   /* dialoguegroup */
-   typedef struct _Dialogue_Item Dialogue_Item;
-
-   typedef enum _Elm_Dialoguegourp_Item_Style
-     {
-        ELM_DIALOGUEGROUP_ITEM_STYLE_DEFAULT = 0,
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD = (1 << 0),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD_WITH_TITLE = (1 << 1),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_TITLE = (1 << 2),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_HIDDEN = (1 << 3),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_DATAVIEW = (1 << 4),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_NO_BG = (1 << 5),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_SUB = (1 << 6),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT = (1 << 7),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_MERGE = (1 << 8),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_LAST = (1 << 9)
-     } Elm_Dialoguegroup_Item_Style;
-
-   EINA_DEPRECATED EAPI Evas_Object   *elm_dialoguegroup_add(Evas_Object *parent);
-   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_append(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_prepend(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_insert_after(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *after, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_insert_before(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *before, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_remove(Dialogue_Item *item);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_remove_all(Evas_Object *obj);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_title_set(Evas_Object *obj, const char *title);
-   EINA_DEPRECATED EAPI const char    *elm_dialoguegroup_title_get(Evas_Object *obj);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_press_effect_set(Dialogue_Item *item, Eina_Bool press);
-   EINA_DEPRECATED EAPI Eina_Bool      elm_dialoguegroup_press_effect_get(Dialogue_Item *item);
-   EINA_DEPRECATED EAPI Evas_Object   *elm_dialoguegroup_item_content_get(Dialogue_Item *item);
-   EINA_DEPRECATED EAPI void          elm_dialoguegroup_item_style_set(Dialogue_Item *item, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI Elm_Dialoguegroup_Item_Style   elm_dialoguegroup_item_style_get(Dialogue_Item *item);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_item_disabled_set(Dialogue_Item *item, Eina_Bool disabled);
-   EINA_DEPRECATED EAPI Eina_Bool      elm_dialoguegroup_item_disabled_get(Dialogue_Item *item);
-
    /* Dayselector */
    typedef enum
      {
@@ -29120,24 +30161,131 @@ extern "C" {
    EAPI Eina_Bool    elm_dayselector_check_state_get(Evas_Object *obj, Elm_DaySelector_Day day);
    EAPI void         elm_dayselector_check_state_set(Evas_Object *obj, Elm_DaySelector_Day day, Eina_Bool checked);
 
-   /* Image Slider */
+   /**
+    * @defgroup Imageslider Imageslider
+    * @ingroup Elementary
+    * @addtogroup Imageslider
+    * @{
+    *
+    * By flicking images on the screen,
+    * you can see the images in specific path.
+    */
    typedef struct _Imageslider_Item Elm_Imageslider_Item;
    typedef void (*Elm_Imageslider_Cb)(void *data, Evas_Object *obj, void *event_info);
+
+   /**
+    * Add an Image Slider widget
+    *
+    * @param        parent  The parent object
+    * @return       The new Image slider object or NULL if it cannot be created
+    */
    EAPI Evas_Object           *elm_imageslider_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   /**
+    * Append an Image Slider item
+    *
+    * @param        obj          The Image Slider object
+    * @param        photo_file   photo file path
+    * @param        func         callback function
+    * @param        data         callback data
+    * @return       The Image Slider item handle or NULL
+    */
    EAPI Elm_Imageslider_Item  *elm_imageslider_item_append(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data) EINA_ARG_NONNULL(1);
+   /**
+    * Insert an Image Slider item into the Image Slider Widget by using the given index.
+    *
+    * @param        obj                     The Image Slider object
+    * @param        photo_file      photo file path
+    * @param        func            callback function
+    * @param        index           required position
+    * @param        data            callback data
+    * @return       The Image Slider item handle or NULL
+    */
    EAPI Elm_Imageslider_Item  *elm_imageslider_item_append_relative(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, unsigned int index, void *data) EINA_ARG_NONNULL(1);
+   /**
+    * Prepend Image Slider item
+    *
+    * @param        obj          The Image Slider object
+    * @param        photo_file   photo file path
+    * @param        func         callback function
+    * @param        data         callback data
+    * @return       The imageslider item handle or NULL
+    */
    EAPI Elm_Imageslider_Item  *elm_imageslider_item_prepend(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data) EINA_ARG_NONNULL(1);
+   /**
+    * Delete the selected Image Slider item
+    *
+    * @param it             The selected Image Slider item handle
+    */
    EAPI void                   elm_imageslider_item_del(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   /**
+    * Get the selected Image Slider item
+    *
+    * @param obj            The Image Slider object
+    * @return The selected Image Slider item or NULL
+    */
    EAPI Elm_Imageslider_Item  *elm_imageslider_selected_item_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Get whether an Image Slider item is selected or not
+    *
+    * @param it              the selected Image Slider item
+    * @return EINA_TRUE or EINA_FALSE
+    */
    EAPI Eina_Bool              elm_imageslider_item_selected_get(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   /**
+    * Set the selected Image Slider item
+    *
+    * @param it             The Imaga Slider item
+    */
    EAPI void                   elm_imageslider_item_selected_set(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   /**
+    * Get the photo file path of given Image Slider item
+    *
+    * @param it             The Image Slider item
+    * @return The photo file path or NULL;
+    */
    EAPI const char            *elm_imageslider_item_photo_file_get(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   /**
+    * Sets the photo file path of given Image Slider item
+    *
+    * @param it         The Image Slider item
+    * @param photo_file The photo file path or NULL;
+    */
    EAPI Elm_Imageslider_Item  *elm_imageslider_item_prev(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   /**
+    * Get the previous Image Slider item
+    *
+    * @param it             The Image Slider item
+    * @return The previous Image Slider item or NULL
+    */
    EAPI Elm_Imageslider_Item  *elm_imageslider_item_next(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   /**
+    * Get the next Image Slider item
+    *
+    * @param it             The Image Slider item
+    * @return The next Image Slider item or NULL
+    */
    EAPI void                   elm_imageslider_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Move to the previous Image Slider item
+    *
+    * @param obj    The Image Slider object
+    */
    EAPI void                   elm_imageslider_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Move to the next Image Slider item
+    *
+    * @param obj The Image Slider object
+    */
    EAPI void                   elm_imageslider_item_photo_file_set(Elm_Imageslider_Item *it, const char *photo_file) EINA_ARG_NONNULL(1,2);
+   /**
+    * Updates an Image Slider item
+    *
+    * @param it The Image Slider item
+    */
    EAPI void                   elm_imageslider_item_update(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   /**
+    * @}
+    */
 #ifdef __cplusplus
 }
 #endif