elm: elm_object_text_part_set/get() is deprecated
[framework/uifw/elementary.git] / src / lib / Elementary.h.in
index 8ac0efd..343e0c1 100644 (file)
@@ -11,7 +11,7 @@
 /**
 @mainpage Elementary
 @image html  elementary.png
-@version 0.7.0
+@version 0.8.0
 @date 2008-2011
 
 @section intro What is Elementary?
@@ -195,19 +195,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *box, *lab, *btn;
 
-   // new window - do the usual and give it a name, title and delete handler
-   win = elm_win_add(NULL, "hello", ELM_WIN_BASIC);
-   elm_win_title_set(win, "Hello");
+   // new window - do the usual and give it a name (hello) and title (Hello)
+   win = elm_win_util_standard_add("hello", "Hello");
    // when the user clicks "close" on a window there is a request to delete
    evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
 
-   // add a standard bg
-   bg = elm_bg_add(win);
-   // add object as a resize object for the window (controls window minimum
-   // size as well as gets resized if window is resized)
-   elm_win_resize_object_add(win, bg);
-   evas_object_show(bg);
-
    // add a box object - default is vertical. a box holds children in a row,
    // either horizontally or vertically. nothing more.
    box = elm_box_add(win);
@@ -335,7 +327,6 @@ contact with the developers and maintainers.
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <sys/param.h>
-#include <dlfcn.h>
 #include <math.h>
 #include <fnmatch.h>
 #include <limits.h>
@@ -371,7 +362,8 @@ contact with the developers and maintainers.
 #include <Eina.h>
 #include <Eet.h>
 #include <Evas.h>
-#include <Evas_GL.h>
+// disabled - evas 1.1 won't have this.
+//#include <Evas_GL.h>
 #include <Ecore.h>
 #include <Ecore_Evas.h>
 #include <Ecore_File.h>
@@ -579,6 +571,14 @@ extern "C" {
         ELM_INPUT_PANEL_LAYOUT_INVALID
      } Elm_Input_Panel_Layout;
 
+   typedef enum
+     {
+        ELM_AUTOCAPITAL_TYPE_NONE,
+        ELM_AUTOCAPITAL_TYPE_WORD,
+        ELM_AUTOCAPITAL_TYPE_SENTENCE,
+        ELM_AUTOCAPITAL_TYPE_ALLCHARACTER,
+     } Elm_Autocapital_Type;
+
    /**
     * @typedef Elm_Object_Item
     * An Elementary Object item handle.
@@ -981,12 +981,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_part_text_set((obj), NULL, (label))
 
-#define elm_object_text_set(obj, label) elm_object_text_part_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
@@ -999,16 +1025,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().
     *
@@ -1035,7 +1061,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.
     *
@@ -1845,7 +1871,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);
@@ -1974,6 +2000,8 @@ extern "C" {
     * @li "opengl_sdl"
     * @li "buffer"
     * @li "ews"
+    * @li "opengl_cocoa"
+    * @li "psl1ght"
     *
     * @{
     */
@@ -3644,6 +3672,8 @@ extern "C" {
     * @li "sdl-16", "software-16-sdl", "software_16_sdl" (Rendering to SDL
     * buffer with 16bit software renderer)
     * @li "ews" (rendering to EWS - Ecore + Evas Single Process Windowing System)
+    * @li "gl-cocoa", "gl_cocoa", "opengl-cocoa", "opengl_cocoa" (OpenGL rendering in Cocoa)
+    * @li "psl1ght" (PS3 rendering using PSL1GHT)
     *
     * All engines use a simple string to select the engine to render, EXCEPT
     * the "shot" engine. This actually encodes the output of the virtual
@@ -3800,6 +3830,22 @@ extern "C" {
     */
    EAPI Evas_Object *elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type);
    /**
+    * Adds a window object with standard setup
+    *
+    * @param name The name of the window
+    * @param title The title for the window
+    *
+    * This creates a window like elm_win_add() but also puts in a standard
+    * background with elm_bg_add(), as well as setting the window title to
+    * @p title. The window type created is of type ELM_WIN_BASIC, with NULL
+    * as the parent widget.
+    * 
+    * @return The created object, or NULL on failure
+    *
+    * @see elm_win_add()
+    */
+   EAPI Evas_Object *elm_win_util_standard_add(const char *name, const char *title);
+   /**
     * Add @p subobj as a resize object of window @p obj.
     *
     *
@@ -4498,6 +4544,9 @@ extern "C" {
     * packing into any container object. It works just like an image, but has
     * some properties useful to a background, like setting it to tiled,
     * centered, scaled or stretched.
+    * 
+    * Default contents parts of the bg widget that you can use for are:
+    * @li "overlay" - overlay of the bg
     *
     * Here is some sample code using it:
     * @li @ref bg_01_example_page
@@ -4612,10 +4661,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_part_set() instead
+    *
     * @ingroup Bg
     */
 
-   EAPI void          elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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.
@@ -4625,9 +4676,11 @@ extern "C" {
     *
     * Return the content object which is set for this widget
     *
+    * @deprecated use elm_object_content_part_get() instead
+    *
     * @ingroup Bg
     */
-   EAPI Evas_Object  *elm_bg_overlay_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object  *elm_bg_overlay_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Get the overlay object used for the background object.
@@ -4637,9 +4690,11 @@ extern "C" {
     *
     * Unparent and return the overlay object which was set for this widget
     *
+    * @deprecated use elm_object_content_part_unset() instead
+    *
     * @ingroup Bg
     */
-   EAPI Evas_Object  *elm_bg_overlay_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object  *elm_bg_overlay_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set the size of the pixmap representation of the image.
@@ -5031,6 +5086,15 @@ extern "C" {
     */
    EAPI int                   elm_icon_prescale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
+    * Gets the image object of the icon. DO NOT MODIFY THIS.
+    *
+    * @param obj The icon object
+    * @return The internal icon object
+    *
+    * @ingroup Icon
+    */
+   EAPI Evas_Object          *elm_icon_object_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
     * Sets the icon lookup order used by elm_icon_standard_set().
     *
     * @param obj The icon object
@@ -5057,6 +5121,14 @@ extern "C" {
     */
    EAPI Elm_Icon_Lookup_Order elm_icon_order_lookup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
+    * Enable or disable preloading of the icon
+    *
+    * @param obj The icon object
+    * @param disable If EINA_TRUE, preloading will be disabled
+    * @ingroup Icon
+    */
+   EAPI void                  elm_icon_preload_set(Evas_Object *obj, Eina_Bool disable) EINA_ARG_NONNULL(1);
+   /**
     * Get if the icon supports animation or not.
     *
     * @param obj The icon object
@@ -5249,6 +5321,7 @@ extern "C" {
     * @ingroup Image
     */
    EAPI Eina_Bool        elm_image_smooth_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
    /**
     * Gets the current size of the image.
     *
@@ -5324,7 +5397,7 @@ extern "C" {
     */
    EAPI void             elm_image_scale_get(const Evas_Object *obj, Eina_Bool *scale_up, Eina_Bool *scale_down) EINA_ARG_NONNULL(1);
    /**
-    * Set if the image fill the entire object area when keeping the aspect ratio.
+    * Set if the image fills the entire object area, when keeping the aspect ratio.
     *
     * @param obj The image object
     * @param fill_outside @c EINA_TRUE if the object is filled outside,
@@ -5394,11 +5467,7 @@ extern "C" {
     * Set the image orientation.
     *
     * @param obj The image object
-    * @param orient The image orientation
-    * (one of #ELM_IMAGE_ORIENT_NONE, #ELM_IMAGE_ROTATE_90_CW,
-    *  #ELM_IMAGE_ROTATE_180_CW, #ELM_IMAGE_ROTATE_90_CCW,
-    *  #ELM_IMAGE_FLIP_HORIZONTAL, #ELM_IMAGE_FLIP_VERTICAL,
-    *  #ELM_IMAGE_FLIP_TRANSPOSE, #ELM_IMAGE_FLIP_TRANSVERSE).
+    * @param orient The image orientation @ref Elm_Image_Orient
     *  Default is #ELM_IMAGE_ORIENT_NONE.
     *
     * This function allows to rotate or flip the given image.
@@ -5413,11 +5482,7 @@ extern "C" {
     * Get the image orientation.
     *
     * @param obj The image object
-    * @return The image orientation
-    * (one of #ELM_IMAGE_ORIENT_NONE, #ELM_IMAGE_ROTATE_90_CW,
-    *  #ELM_IMAGE_ROTATE_180_CW, #ELM_IMAGE_ROTATE_90_CCW,
-    *  #ELM_IMAGE_FLIP_HORIZONTAL, #ELM_IMAGE_FLIP_VERTICAL,
-    *  #ELM_IMAGE_FLIP_TRANSPOSE, #ELM_IMAGE_FLIP_TRANSVERSE)
+    * @return The image orientation @ref Elm_Image_Orient
     *
     * @see elm_image_orient_set()
     * @see @ref Elm_Image_Orient
@@ -5438,13 +5503,13 @@ extern "C" {
     */
    EAPI void             elm_image_editable_set(Evas_Object *obj, Eina_Bool set) EINA_ARG_NONNULL(1);
    /**
-    * Make the image 'editable'.
+    * Check if the image 'editable'.
     *
     * @param obj Image object.
     * @return Editability.
     *
-    * This means the image is a valid drag target for drag and drop, and can be
-    * cut or pasted too.
+    * A return value of EINA_TRUE means the image is a valid drag target
+    * for drag and drop, and can be cut or pasted too.
     *
     * @ingroup Image
     */
@@ -5498,192 +5563,6 @@ extern "C" {
     * @}
     */
 
-   /* glview */
-   typedef void (*Elm_GLView_Func_Cb)(Evas_Object *obj);
-
-   typedef enum _Elm_GLView_Mode
-     {
-        ELM_GLVIEW_ALPHA   = 1,
-        ELM_GLVIEW_DEPTH   = 2,
-        ELM_GLVIEW_STENCIL = 4
-     } Elm_GLView_Mode;
-
-   /**
-    * Defines a policy for the glview resizing.
-    *
-    * @note Default is ELM_GLVIEW_RESIZE_POLICY_RECREATE
-    */
-   typedef enum _Elm_GLView_Resize_Policy
-     {
-        ELM_GLVIEW_RESIZE_POLICY_RECREATE = 1,      /**< Resize the internal surface along with the image */
-        ELM_GLVIEW_RESIZE_POLICY_SCALE    = 2       /**< Only reize the internal image and not the surface */
-     } Elm_GLView_Resize_Policy;
-
-   typedef enum _Elm_GLView_Render_Policy
-     {
-        ELM_GLVIEW_RENDER_POLICY_ON_DEMAND = 1,     /**< Render only when there is a need for redrawing */
-        ELM_GLVIEW_RENDER_POLICY_ALWAYS    = 2      /**< Render always even when it is not visible */
-     } Elm_GLView_Render_Policy;
-
-   /**
-    * @defgroup GLView
-    *
-    * A simple GLView widget that allows GL rendering.
-    *
-    * Signals that you can add callbacks for are:
-    *
-    * @{
-    */
-
-   /**
-    * Add a new glview to the parent
-    *
-    * @param parent The parent object
-    * @return The new object or NULL if it cannot be created
-    *
-    * @ingroup GLView
-    */
-   EAPI Evas_Object     *elm_glview_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
-
-   /**
-    * Sets the size of the glview
-    *
-    * @param obj The glview object
-    * @param width width of the glview object
-    * @param height height of the glview object
-    *
-    * @ingroup GLView
-    */
-   EAPI void             elm_glview_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height) EINA_ARG_NONNULL(1);
-
-   /**
-    * Gets the size of the glview.
-    *
-    * @param obj The glview object
-    * @param width width of the glview object
-    * @param height height of the glview object
-    *
-    * Note that this function returns the actual image size of the
-    * glview.  This means that when the scale policy is set to
-    * ELM_GLVIEW_RESIZE_POLICY_SCALE, it'll return the non-scaled
-    * size.
-    *
-    * @ingroup GLView
-    */
-   EAPI void             elm_glview_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height) EINA_ARG_NONNULL(1);
-
-   /**
-    * Gets the gl api struct for gl rendering
-    *
-    * @param obj The glview object
-    * @return The api object or NULL if it cannot be created
-    *
-    * @ingroup GLView
-    */
-   EAPI Evas_GL_API     *elm_glview_gl_api_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-   /**
-    * Set the mode of the GLView. Supports Three simple modes.
-    *
-    * @param obj The glview object
-    * @param mode The mode Options OR'ed enabling Alpha, Depth, Stencil.
-    * @return True if set properly.
-    *
-    * @ingroup GLView
-    */
-   EAPI Eina_Bool        elm_glview_mode_set(Evas_Object *obj, Elm_GLView_Mode mode) EINA_ARG_NONNULL(1);
-
-   /**
-    * Set the resize policy for the glview object.
-    *
-    * @param obj The glview object.
-    * @param policy The scaling policy.
-    *
-    * By default, the resize policy is set to
-    * ELM_GLVIEW_RESIZE_POLICY_RECREATE.  When resize is called it
-    * destroys the previous surface and recreates the newly specified
-    * size. If the policy is set to ELM_GLVIEW_RESIZE_POLICY_SCALE,
-    * however, glview only scales the image object and not the underlying
-    * GL Surface.
-    *
-    * @ingroup GLView
-    */
-   EAPI Eina_Bool        elm_glview_resize_policy_set(Evas_Object *obj, Elm_GLView_Resize_Policy policy) EINA_ARG_NONNULL(1);
-
-   /**
-    * Set the render policy for the glview object.
-    *
-    * @param obj The glview object.
-    * @param policy The render policy.
-    *
-    * By default, the render policy is set to
-    * ELM_GLVIEW_RENDER_POLICY_ON_DEMAND.  This policy is set such
-    * that during the render loop, glview is only redrawn if it needs
-    * to be redrawn. (i.e. When it is visible) If the policy is set to
-    * ELM_GLVIEWW_RENDER_POLICY_ALWAYS, it redraws regardless of
-    * whether it is visible/need redrawing or not.
-    *
-    * @ingroup GLView
-    */
-   EAPI Eina_Bool        elm_glview_render_policy_set(Evas_Object *obj, Elm_GLView_Render_Policy policy) EINA_ARG_NONNULL(1);
-
-   /**
-    * Set the init function that runs once in the main loop.
-    *
-    * @param obj The glview object.
-    * @param func The init function to be registered.
-    *
-    * The registered init function gets called once during the render loop.
-    *
-    * @ingroup GLView
-    */
-   EAPI void             elm_glview_init_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func) EINA_ARG_NONNULL(1);
-
-   /**
-    * Set the render function that runs in the main loop.
-    *
-    * @param obj The glview object.
-    * @param func The delete function to be registered.
-    *
-    * The registered del function gets called when GLView object is deleted.
-    *
-    * @ingroup GLView
-    */
-   EAPI void             elm_glview_del_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func) EINA_ARG_NONNULL(1);
-
-   /**
-    * Set the resize function that gets called when resize happens.
-    *
-    * @param obj The glview object.
-    * @param func The resize function to be registered.
-    *
-    * @ingroup GLView
-    */
-   EAPI void             elm_glview_resize_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func) EINA_ARG_NONNULL(1);
-
-   /**
-    * Set the render function that runs in the main loop.
-    *
-    * @param obj The glview object.
-    * @param func The render function to be registered.
-    *
-    * @ingroup GLView
-    */
-   EAPI void             elm_glview_render_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func) EINA_ARG_NONNULL(1);
-
-   /**
-    * Notifies that there has been changes in the GLView.
-    *
-    * @param obj The glview object.
-    *
-    * @ingroup GLView
-    */
-   EAPI void             elm_glview_changed_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-   /**
-    * @}
-    */
-
    /* box */
    /**
     * @defgroup Box Box
@@ -6151,6 +6030,12 @@ extern "C" {
     * continuous look across its options.
     * @li hoversel_vertical_entry: Another internal for @ref Hoversel.
     *
+    * Default contents parts of the button widget that you can use for are:
+    * @li "icon" - A icon of the button
+    *
+    * Default text parts of the button widget that you can use for are:
+    * @li "default" - Label of the button
+    *
     * Follow through a complete example @ref button_example_01 "here".
     * @{
     */
@@ -6195,8 +6080,9 @@ extern "C" {
     *
     * @param obj The button object
     * @param icon The icon object for the button
+    * @deprecated use elm_object_content_part_set() instead.
     */
-   EAPI void         elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void         elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
    /**
     * Get the icon used for the button
     *
@@ -6207,9 +6093,9 @@ extern "C" {
     * @param obj The button object
     * @return The icon object that is being used
     *
-    * @see elm_button_icon_unset()
+    * @deprecated use elm_object_content_part_get() instead
     */
-   EAPI Evas_Object *elm_button_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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
     *
@@ -6220,8 +6106,9 @@ extern "C" {
     *
     * @param obj The button object
     * @return The icon object that was being used
+    * @deprecated use elm_object_content_part_unset() instead.
     */
-   EAPI Evas_Object *elm_button_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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
     *
@@ -6978,7 +6865,7 @@ extern "C" {
     * A scroller holds a single object and "scrolls it around". This means that
     * it allows the user to use a scrollbar (or a finger) to drag the viewable
     * region around, allowing to move through a much larger object that is
-    * contained in the scroller. The scroiller will always have a small minimum
+    * contained in the scroller. The scroller will always have a small minimum
     * size by default as it won't be limited by the contents of the scroller.
     *
     * Signals that you can add callbacks for are:
@@ -6999,6 +6886,9 @@ extern "C" {
     * @note When Elementary is in desktop mode the thumbscroll(a.k.a.
     * fingerscroll) won't work.
     *
+    * 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.
     * @{
@@ -7031,8 +6921,9 @@ 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_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);
+   EINA_DEPRECATED EAPI void         elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the content of the scroller widget
     *
@@ -7042,8 +6933,9 @@ extern "C" {
     * Return the content object which is set for this widget
     *
     * @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);
+   EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the content of the scroller widget
     *
@@ -7053,8 +6945,9 @@ extern "C" {
     * Unparent and return the content object which was set for this widget
     *
     * @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);
+   EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Set custom theme elements for the scroller
     *
@@ -7136,8 +7029,8 @@ extern "C" {
     * @brief Get the size of the content object
     *
     * @param obj The scroller object
-    * @param w Width return
-    * @param h Height return
+    * @param w Width of the content object.
+    * @param h Height of the content object.
     *
     * This gets the size of the content object of the scroller.
     */
@@ -7146,21 +7039,21 @@ extern "C" {
     * @brief Set bouncing behavior
     *
     * @param obj The scroller object
-    * @param h_bounce Will the scroller bounce horizontally or not
-    * @param v_bounce Will the scroller bounce vertically or not
+    * @param h_bounce Allow bounce horizontally
+    * @param v_bounce Allow bounce vertically
     *
     * When scrolling, the scroller may "bounce" when reaching an edge of the
     * content object. This is a visual way to indicate the end has been reached.
-    * This is enabled by default for both axis. This will set if it is enabled
-    * for that axis with the boolean parameters for each axis.
+    * This is enabled by default for both axis. This API will set if it is enabled
+    * for the given axis with the boolean parameters for each axis.
     */
    EAPI void         elm_scroller_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
    /**
-    * @brief Get the bounce mode
+    * @brief Get the bounce behaviour
     *
     * @param obj The Scroller object
-    * @param h_bounce Allow bounce horizontally
-    * @param v_bounce Allow bounce vertically
+    * @param h_bounce Will the scroller bounce horizontally or not
+    * @param v_bounce Will the scroller bounce vertically or not
     *
     * @see elm_scroller_bounce_set()
     */
@@ -7179,7 +7072,7 @@ extern "C" {
     * viewport" is size (horizontally or vertically). 0.0 turns it off in that
     * axis. This is mutually exclusive with page size
     * (see elm_scroller_page_size_set()  for more information). Likewise 0.5
-    * is "half a viewport". Sane usable valus are normally between 0.0 and 1.0
+    * is "half a viewport". Sane usable values are normally between 0.0 and 1.0
     * including 1.0. If you only want 1 axis to be page "limited", use 0.0 for
     * the other axis.
     */
@@ -7205,9 +7098,9 @@ extern "C" {
     * @param v_pagenumber The vertical page number
     *
     * The page number starts from 0. 0 is the first page.
-    * Current page means the page which meet the top-left of the viewport.
-    * If there are two or more pages in the viewport, it returns the number of page
-    * which meet the top-left of the viewport.
+    * Current page means the page which meets the top-left of the viewport.
+    * If there are two or more pages in the viewport, it returns the number of the page
+    * which meets the top-left of the viewport.
     *
     * @see elm_scroller_last_page_get()
     * @see elm_scroller_page_show()
@@ -7323,12 +7216,17 @@ extern "C" {
     * @param x The scrolling horizontal gravity
     * @param y The scrolling vertical gravity
     *
-    * It set scrolling gravity. It adds scrolling weight values
-    * to the scroller. Usually it uses for stopping the scroller.
-    * To set y as 0.0 for lower growing child objects,
-    * even though child objects are added to bottom, the scroller doesn't move.
-    * To set y as 1.0 for upper growing child objects. And x is horizontal gravity.
-    * By default 0.0 for x and y.
+    * The gravity, defines how the scroller will adjust its view
+    * when the size of the scroller contents increase.
+    *
+    * The scroller will adjust the view to glue itself as follows.
+    *
+    *  x=0.0, for showing the left most region of the content.
+    *  x=1.0, for showing the right most region of the content.
+    *  y=0.0, for showing the bottom most region of the content.
+    *  y=1.0, for showing the top most region of the content.
+    *
+    * Default values for x and y are 0.0
     */
    EAPI void         elm_scroller_gravity_set(Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
    /**
@@ -7532,10 +7430,10 @@ extern "C" {
     * @param obj The label object
     * @param slide To start slide or stop
     *
-    * If set to true the text of the label will slide throught the length of
+    * If set to true, the text of the label will slide/scroll through the length of
     * label.
     *
-    * @warning This only work with the themes "slide_short", "slide_long" and
+    * @warning This only works with the themes "slide_short", "slide_long" and
     * "slide_bounce".
     */
    EAPI void         elm_label_slide_set(Evas_Object *obj, Eina_Bool slide) EINA_ARG_NONNULL(1);
@@ -7584,7 +7482,8 @@ extern "C" {
     * @code
     * obj = elm_check_add(parent);
     * elm_object_style_set(obj, "toggle");
-    * elm_check_states_labels_set(obj, "ON", "OFF");
+    * elm_object_part_text_set(obj, "on", "ON");
+    * elm_object_part_text_set(obj, "off", "OFF");
     * @endcode
     * 
     * Signals that you can add callbacks for are:
@@ -7630,6 +7529,8 @@ 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_toggle_icon_unset() function.
+    *
+    * @deprecated use elm_object_content_set() instead.
     */
    EINA_DEPRECATED EAPI void         elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
    /**
@@ -7641,6 +7542,8 @@ extern "C" {
     * Return the icon object which is set for this widget.
     *
     * @see elm_toggle_icon_set()
+    *
+    * @deprecated use elm_object_content_get() instead.
     */
    EINA_DEPRECATED EAPI Evas_Object *elm_toggle_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
@@ -7652,6 +7555,8 @@ extern "C" {
     * Unparent and return the icon object which was set for this widget.
     *
     * @see elm_toggle_icon_set()
+    *
+    * @deprecated use elm_object_content_unset() instead.
     */
    EINA_DEPRECATED EAPI Evas_Object *elm_toggle_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
@@ -7660,14 +7565,21 @@ extern "C" {
     * @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_part_text_set() for "on" and "off" parts
+    * instead.
     */
    EINA_DEPRECATED 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.
+    * @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_part_text_get() for "on" and "off" parts
+    * instead.
     */
    EINA_DEPRECATED EAPI void         elm_toggle_states_labels_get(const Evas_Object *obj, const char **onlabel, const char **offlabel) EINA_ARG_NONNULL(1);
    /**
@@ -7675,6 +7587,8 @@ extern "C" {
     *
     * @param obj The toggle object
     * @param state The state of @p obj
+    *
+    * @deprecated use elm_check_state_set() instead.
     */
    EINA_DEPRECATED EAPI void         elm_toggle_state_set(Evas_Object *obj, Eina_Bool state) EINA_ARG_NONNULL(1);
    /**
@@ -7682,6 +7596,8 @@ extern "C" {
     *
     * @param obj The toggle object
     * @return The state of @p obj
+    *
+    * @deprecated use elm_check_state_get() instead.
     */
    EINA_DEPRECATED EAPI Eina_Bool    elm_toggle_state_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
@@ -7689,6 +7605,8 @@ extern "C" {
     *
     * @param obj The toggle object
     * @param statep The state pointer of @p obj
+    *
+    * @deprecated use elm_check_state_pointer_set() instead.
     */
    EINA_DEPRECATED EAPI void         elm_toggle_state_pointer_set(Evas_Object *obj, Eina_Bool *statep) EINA_ARG_NONNULL(1);
    /**
@@ -7715,6 +7633,12 @@ extern "C" {
     *
     * 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.
     *
     * @{
@@ -7754,8 +7678,10 @@ extern "C" {
     *
     * @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);
+   EINA_DEPRECATED EAPI void         elm_frame_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the content of the frame widget
     *
@@ -7763,8 +7689,10 @@ extern "C" {
     *
     * @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);
+   EINA_DEPRECATED EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the content of the frame widget
     *
@@ -7772,8 +7700,10 @@ extern "C" {
     *
     * @param obj The frame object
     * @return The content that was being used
+    *
+    * @deprecated use elm_object_content_unset() instead.
     */
-   EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @}
     */
@@ -7785,6 +7715,9 @@ extern "C" {
     * also span multiple columns or rows - even overlap (and then be raised or
     * lowered accordingly to adjust stacking if they do overlap).
     *
+    * For a Table widget the row/column count is not fixed.
+    * The table widget adjusts itself when subobjects are added to it dynamically.
+    *
     * The followin are examples of how to use a table:
     * @li @ref tutorial_table_01
     * @li @ref tutorial_table_02
@@ -7906,7 +7839,7 @@ extern "C" {
    typedef struct _Elm_Gen_Item_Class Elm_Gen_Item_Class;
    typedef struct _Elm_Gen_Item_Class_Func Elm_Gen_Item_Class_Func; /**< Class functions for gen item classes. */
    typedef char        *(*Elm_Gen_Item_Label_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Label fetching class function for gen item classes. */
-   typedef Evas_Object *(*Elm_Gen_Item_Icon_Get_Cb)  (void *data, Evas_Object *obj, const char *part); /**< Icon fetching class function for gen item classes. */
+   typedef Evas_Object *(*Elm_Gen_Item_Content_Get_Cb)  (void *data, Evas_Object *obj, const char *part); /**< Content(swallowed object) fetching class function for gen item classes. */
    typedef Eina_Bool    (*Elm_Gen_Item_State_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< State fetching class function for gen item classes. */
    typedef void         (*Elm_Gen_Item_Del_Cb)      (void *data, Evas_Object *obj); /**< Deletion class function for gen item classes. */
    struct _Elm_Gen_Item_Class
@@ -7915,7 +7848,7 @@ extern "C" {
         struct _Elm_Gen_Item_Class_Func
           {
              Elm_Gen_Item_Label_Get_Cb label_get;
-             Elm_Gen_Item_Icon_Get_Cb  icon_get;
+             Elm_Gen_Item_Content_Get_Cb  content_get;
              Elm_Gen_Item_State_Get_Cb state_get;
              Elm_Gen_Item_Del_Cb       del;
           } func;
@@ -7958,7 +7891,7 @@ extern "C" {
     *
     * @section Gengrid_Layouts Gengrid layouts
     *
-    * Gengrids may layout its items in one of two possible layouts:
+    * Gengrid may layout its items in one of two possible layouts:
     * - horizontal or
     * - vertical.
     *
@@ -8017,16 +7950,16 @@ extern "C" {
     * item's theme. This function @b must return a strdup'()ed string,
     * as the caller will free() it when done. See
     * #Elm_Gengrid_Item_Label_Get_Cb.
-    * - @c func.icon_get - This function is called when an item object
+    * - @c func.content_get - This function is called when an item object
     * is actually created. The @c data parameter will point to the
     * same data passed to elm_gengrid_item_append() and related item
     * creation functions. The @c obj parameter is the gengrid object
     * itself, while the @c part one is the name string of one of the
-    * existing (icon) swallow parts in the Edje group implementing the
-    * item's theme. It must return @c NULL, when no icon is desired,
+    * existing (content) swallow parts in the Edje group implementing the
+    * item's theme. It must return @c NULL, when no content is desired,
     * or a valid object handle, otherwise. The object will be deleted
     * by the gengrid on its deletion or when the item is "unrealized".
-    * See #Elm_Gengrid_Item_Icon_Get_Cb.
+    * See #Elm_Gengrid_Item_Content_Get_Cb.
     * - @c func.state_get - This function is called when an item
     * object is actually created. The @c data parameter will point to
     * the same data passed to elm_gengrid_item_append() and related
@@ -8057,7 +7990,7 @@ extern "C" {
     * modified (added, deleted, selected or unselected) of child items
     * on a gengrid.
     *
-    * If an item changes (internal (boolean) state, label or icon
+    * If an item changes (internal (boolean) state, label or content 
     * changes), then use elm_gengrid_item_update() to have gengrid
     * update the item with the new state. A gengrid will re-"realize"
     * the item, thus calling the functions in the
@@ -8157,10 +8090,36 @@ extern "C" {
    typedef struct _Elm_Gengrid_Item Elm_Gengrid_Item; /**< Gengrid item handles */
    #define Elm_Gengrid_Item Elm_Gen_Item /**< Item of Elm_Genlist. Sub-type of Elm_Widget_Item */
    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_Icon_Get_Cb)  (void *data, Evas_Object *obj, const char *part); /**< Icon 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);
 
    /**
     * @struct _Elm_Gengrid_Item_Class
@@ -8174,7 +8133,7 @@ extern "C" {
         struct _Elm_Gengrid_Item_Class_Func
           {
              Elm_Gengrid_Item_Label_Get_Cb label_get;
-             Elm_Gengrid_Item_Icon_Get_Cb  icon_get;
+             Elm_Gengrid_Item_Content_Get_Cb content_get;
              Elm_Gengrid_Item_State_Get_Cb state_get;
              Elm_Gengrid_Item_Del_Cb       del;
           } func;
@@ -8439,8 +8398,52 @@ extern "C" {
     */
    EAPI Elm_Gengrid_Item  *elm_gengrid_item_insert_after(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Gengrid_Item *relative, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
 
+   /**
+    * Insert an item in a gengrid widget using a user-defined sort function.
+    *
+    * @param obj The gengrid object.
+    * @param gic The item class for the item.
+    * @param data The item data.
+    * @param comp User defined comparison function that defines the sort order based on
+    * Elm_Gen_Item and its data param.
+    * @param func Convenience function called when the item is selected.
+    * @param func_data Data to be passed to @p func.
+    * @return A handle to the item added or @c NULL, on errors.
+    *
+    * This inserts an item in the gengrid based on user defined comparison function.
+    *
+    * @see elm_gengrid_item_append()
+    * @see elm_gengrid_item_prepend()
+    * @see elm_gengrid_item_insert_after()
+    * @see elm_gengrid_item_del()
+    * @see elm_gengrid_item_direct_sorted_insert()
+    *
+    * @ingroup Gengrid
+    */
    EAPI Elm_Gengrid_Item  *elm_gengrid_item_sorted_insert(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
 
+   /**
+    * Insert an item in a gengrid widget using a user-defined sort function.
+    *
+    * @param obj The gengrid object.
+    * @param gic The item class for the item.
+    * @param data The item data.
+    * @param comp User defined comparison function that defines the sort order based on
+    * Elm_Gen_Item.
+    * @param func Convenience function called when the item is selected.
+    * @param func_data Data to be passed to @p func.
+    * @return A handle to the item added or @c NULL, on errors.
+    *
+    * This inserts an item in the gengrid based on user defined comparison function.
+    *
+    * @see elm_gengrid_item_append()
+    * @see elm_gengrid_item_prepend()
+    * @see elm_gengrid_item_insert_after()
+    * @see elm_gengrid_item_del()
+    * @see elm_gengrid_item_sorted_insert()
+    *
+    * @ingroup Gengrid
+    */
    EAPI Elm_Gengrid_Item  *elm_gengrid_item_direct_sorted_insert(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
 
    /**
@@ -8519,11 +8522,11 @@ extern "C" {
     * @param multi @c EINA_TRUE, to enable multi-selection,
     * @c EINA_FALSE to disable it.
     *
-    * Multi-selection is the ability for one to have @b more than one
+    * Multi-selection is the ability to have @b more than one
     * item selected, on a given gengrid, simultaneously. When it is
     * enabled, a sequence of clicks on different items will make them
     * all selected, progressively. A click on an already selected item
-    * will unselect it. If interecting via the keyboard,
+    * will unselect it. If interacting via the keyboard,
     * multi-selection is enabled while holding the "Shift" key.
     *
     * @note By default, multi-selection is @b disabled on gengrids
@@ -8747,7 +8750,7 @@ extern "C" {
     EINA_DEPRECATED EAPI void         elm_gengrid_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1);
 
    /**
-    * Set for what direction a given gengrid widget will expand while
+    * Set the direction in which a given gengrid widget will expand while
     * placing its items.
     *
     * @param obj The gengrid object.
@@ -8862,7 +8865,7 @@ extern "C" {
    EINA_DEPRECATED EAPI Evas_Object       *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
 
    /**
-    * Remove a gengrid item from the its parent, deleting it.
+    * Remove a gengrid item from its parent, deleting it.
     *
     * @param item The item to be removed.
     * @return @c EINA_TRUE on success or @c EINA_FALSE, otherwise.
@@ -8880,21 +8883,44 @@ extern "C" {
     * @param item The gengrid item
     *
     * This updates an item by calling all the item class functions
-    * again to get the icons, labels and states. Use this when the
-    * original item data has changed and you want thta changes to be
+    * again to get the contents, labels and states. Use this when the
+    * original item data has changed and you want the changes to be
     * reflected.
     *
     * @ingroup Gengrid
     */
    EAPI void               elm_gengrid_item_update(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+
+   /**
+    * Get the Gengrid Item class for the given Gengrid Item.
+    *
+    * @param item The gengrid item
+    *
+    * This returns the Gengrid_Item_Class for the given item. It can be used to examine
+    * the function pointers and item_style.
+    *
+    * @ingroup Gengrid
+    */
    EAPI const Elm_Gengrid_Item_Class *elm_gengrid_item_item_class_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+
+   /**
+    * Get the Gengrid Item class for the given Gengrid Item.
+    *
+    * This sets the Gengrid_Item_Class for the given item. It can be used to examine
+    * the function pointers and item_style.
+    *
+    * @param item The gengrid item
+    * @param gic The gengrid item class describing the function pointers and the item style.
+    *
+    * @ingroup Gengrid
+    */
    EAPI void               elm_gengrid_item_item_class_set(Elm_Gengrid_Item *item, const Elm_Gengrid_Item_Class *gic) EINA_ARG_NONNULL(1, 2);
 
    /**
     * Return the data associated to a given gengrid item
     *
     * @param item The gengrid item.
-    * @return the data associated to this item.
+    * @return the data associated with this item.
     *
     * This returns the @c data value passed on the
     * elm_gengrid_item_append() and related item addition calls.
@@ -8907,18 +8933,19 @@ extern "C" {
    EAPI void              *elm_gengrid_item_data_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
 
    /**
-    * Set the data associated to a given gengrid item
+    * Set the data associated with a given gengrid item
     *
     * @param item The gengrid item
-    * @param data The new data pointer to set on it
+    * @param data The data pointer to set on it
     *
     * This @b overrides the @c data value passed on the
     * elm_gengrid_item_append() and related item addition calls. This
     * function @b won't call elm_gengrid_item_update() automatically,
-    * so you'd issue it afterwards if you want to hove the item
-    * updated to reflect the that new data.
+    * so you'd issue it afterwards if you want to have the item
+    * updated to reflect the new data.
     *
     * @see elm_gengrid_item_data_get()
+    * @see elm_gengrid_item_update()
     *
     * @ingroup Gengrid
     */
@@ -8929,12 +8956,10 @@ extern "C" {
     * gengrid's grid area.
     *
     * @param item The Gengrid item.
-    * @param x Pointer to variable where to store the item's <b>row
-    * number</b>.
-    * @param y Pointer to variable where to store the item's <b>column
-    * number</b>.
+    * @param x Pointer to variable to store the item's <b>row number</b>.
+    * @param y Pointer to variable to store the item's <b>column number</b>.
     *
-    * This returns the "logical" position of the item whithin the
+    * This returns the "logical" position of the item within the
     * gengrid. For example, @c (0, 1) would stand for first row,
     * second column.
     *
@@ -8949,7 +8974,7 @@ extern "C" {
     * @param selected Use @c EINA_TRUE, to make it selected, @c
     * EINA_FALSE to make it unselected
     *
-    * This sets the selected state of an item. If multi selection is
+    * This sets the selected state of an item. If multi-selection is
     * not enabled on the containing gengrid and @p selected is @c
     * EINA_TRUE, any other previously selected items will get
     * unselected in favor of this new one.
@@ -8966,6 +8991,8 @@ extern "C" {
     * @param item The gengrid item
     * @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
     *
+    * This API returns EINA_TRUE for all the items selected in multi-select mode as well.
+    *
     * @see elm_gengrid_item_selected_set() for more details
     *
     * @ingroup Gengrid
@@ -9011,12 +9038,12 @@ extern "C" {
    EAPI void               elm_gengrid_item_show(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
 
    /**
-    * Animatedly bring in, to the visible are of a gengrid, a given
+    * Animatedly bring in, to the visible area of a gengrid, a given
     * item on it.
     *
     * @param item The gengrid item to display
     *
-    * This causes gengrig to jump to the given @p item item and show
+    * This causes gengrid to jump to the given @p item and show
     * it (by scrolling), if it is not fully visible. This will use
     * animation to do so and take a period of time to complete.
     *
@@ -9072,7 +9099,7 @@ extern "C" {
    EAPI void               elm_gengrid_item_tooltip_text_set(Elm_Gengrid_Item *item, const char *text) EINA_ARG_NONNULL(1);
 
    /**
-    * Set the content to be shown in a given gengrid item's tooltips
+    * Set the content to be shown in a given gengrid item's tooltip
     *
     * @param item The gengrid item.
     * @param func The function returning the tooltip contents.
@@ -9449,7 +9476,7 @@ extern "C" {
     * even if the clock is not in "military" mode.
     *
     * @warning The behavior for values set out of those ranges is @b
-    * indefined.
+    * undefined.
     *
     * @ingroup Clock
     */
@@ -9692,11 +9719,11 @@ extern "C" {
     *
     * Only one object can be added to the @c SWALLOW part (but you still can
     * have many @c SWALLOW parts and one object on each of them). Use the @c
-    * elm_layout_content_* set of 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 (inside
-    * the Edje theme file).
+    * 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 
+    * (inside the Edje theme file).
     *
     * One can use @c evas_object_size_hint_* functions on the child to have some
     * kind of control over its behavior, but the resulting behavior will still
@@ -9751,7 +9778,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_layout_content_set(). The same difference happens
+    * SWALLOW part using elm_object_content_part_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.
     *
@@ -9847,7 +9874,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_layout_content_unset() function.
+    * elm_object_content_part_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
@@ -9855,13 +9882,14 @@ extern "C" {
     * elm_layout_box_append().
     *
     * @see elm_layout_box_append()
-    * @see elm_layout_content_get()
-    * @see elm_layout_content_unset()
+    * @see elm_object_content_part_get()
+    * @see elm_object_content_part_unset()
     * @see @ref secBox
+    * @deprecated use elm_object_content_part_set() instead
     *
     * @ingroup Layout
     */
-   EAPI void               elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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.
     *
@@ -9870,11 +9898,11 @@ extern "C" {
     *
     * @return The swallowed object or NULL if none or an error occurred
     *
-    * @see elm_layout_content_set()
+    * @deprecated use elm_object_content_part_get() instead
     *
     * @ingroup Layout
     */
-   EAPI Evas_Object       *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object       *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
    /**
     * Unset the layout content.
     *
@@ -9884,11 +9912,11 @@ extern "C" {
     *
     * Unparent and return the content object which was set for this part.
     *
-    * @see elm_layout_content_set()
+    * @deprecated use elm_object_content_part_unset() instead
     *
     * @ingroup Layout
     */
-    EAPI Evas_Object       *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object       *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
    /**
     * Set the text of the given part
     *
@@ -9897,7 +9925,7 @@ extern "C" {
     * @param text The text to set
     *
     * @ingroup Layout
-    * @deprecated use elm_object_text_* 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);
    /**
@@ -9909,7 +9937,7 @@ extern "C" {
     * @return The text set in @p part
     *
     * @ingroup Layout
-    * @deprecated use elm_object_text_* 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);
    /**
@@ -10004,7 +10032,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_layout_content_unset() for box.
+    * elm_object_content_part_unset() for box.
     *
     * @see elm_layout_box_append()
     * @see elm_layout_box_remove_all()
@@ -10075,7 +10103,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_layout_content_unset() for table.
+    * elm_object_content_part_unset() for table.
     *
     * @see elm_layout_table_pack()
     * @see elm_layout_table_clear()
@@ -10112,7 +10140,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_layout_content_set() instead so child object handling and sizing is
+    * elm_object_content_part_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
@@ -10122,8 +10150,8 @@ extern "C" {
     *
     * @see elm_object_signal_callback_add()
     * @see elm_object_signal_emit()
-    * @see elm_object_text_part_set()
-    * @see elm_layout_content_set()
+    * @see elm_object_part_text_set()
+    * @see elm_object_content_part_set()
     * @see elm_layout_box_append()
     * @see elm_layout_table_pack()
     * @see elm_layout_data_get()
@@ -10288,7 +10316,7 @@ extern "C" {
 #define elm_layout_icon_set(_ly, _obj) \
   do { \
     const char *sig; \
-    elm_layout_content_set((_ly), "elm.swallow.icon", (_obj)); \
+    elm_object_content_part_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"); \
@@ -10302,7 +10330,7 @@ extern "C" {
  * @ingroup Layout
  */
 #define elm_layout_icon_get(_ly) \
-  elm_layout_content_get((_ly), "elm.swallow.icon")
+  elm_object_content_part_get((_ly), "elm.swallow.icon")
 
 /**
  * @def elm_layout_end_set
@@ -10314,7 +10342,7 @@ extern "C" {
 #define elm_layout_end_set(_ly, _obj) \
   do { \
     const char *sig; \
-    elm_layout_content_set((_ly), "elm.swallow.end", (_obj)); \
+    elm_object_content_part_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"); \
@@ -10328,7 +10356,7 @@ extern "C" {
  * @ingroup Layout
  */
 #define elm_layout_end_get(_ly) \
-  elm_layout_content_get((_ly), "elm.swallow.end")
+  elm_object_content_part_get((_ly), "elm.swallow.end")
 
 /**
  * @def elm_layout_label_set
@@ -10336,18 +10364,18 @@ extern "C" {
  * Elementary naming convention for its parts.
  *
  * @ingroup Layout
- * @deprecated use elm_object_text_* instead.
+ * @deprecated use elm_object_text_set() instead.
  */
 #define elm_layout_label_set(_ly, _txt) \
   elm_layout_text_set((_ly), "elm.text", (_txt))
 
 /**
  * @def elm_layout_label_get
- * Convienience macro to get the label in a layout that follows the
+ * Convenience macro to get the label in a layout that follows the
  * Elementary naming convention for its parts.
  *
  * @ingroup Layout
- * @deprecated use elm_object_text_* instead.
+ * @deprecated use elm_object_text_set() instead.
  */
 #define elm_layout_label_get(_ly) \
   elm_layout_text_get((_ly), "elm.text")
@@ -10363,7 +10391,7 @@ extern "C" {
     * @image latex img/widget/notify/preview-00.eps
     *
     * Display a container in a particular region of the parent(top, bottom,
-    * etc.  A timeout can be set to automatically hide the notify. This is so
+    * etc).  A timeout can be set to automatically hide the notify. This is so
     * that, after an evas_object_show() on a notify object, if a timeout was set
     * on it, it will @b automatically get hidden after that time.
     *
@@ -10371,6 +10399,9 @@ extern "C" {
     * @li "timeout" - when timeout happens on notify and it's hidden
     * @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 "default" - A content of the notify
+    *
     * @ref tutorial_notify show usage of the API.
     *
     * @{
@@ -10412,8 +10443,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);
+   EINA_DEPRECATED EAPI void              elm_notify_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the content of the notify widget
     *
@@ -10423,8 +10457,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);
+   EINA_DEPRECATED EAPI Evas_Object      *elm_notify_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Return the content of the notify widget
     *
@@ -10432,8 +10468,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);
+   EINA_DEPRECATED EAPI Evas_Object      *elm_notify_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Set the notify parent
     *
@@ -10963,6 +11001,14 @@ extern "C" {
    typedef void (*Elm_Entry_Filter_Cb)(void *data, Evas_Object *entry, char **text);
 
    /**
+    * @typedef Elm_Entry_Change_Info
+    * This corresponds to Edje_Entry_Change_Info. Includes information about
+    * a change in the entry.
+    */
+   typedef Edje_Entry_Change_Info Elm_Entry_Change_Info;
+
+
+   /**
     * This adds an entry to @p parent object.
     *
     * By default, entries are:
@@ -11028,6 +11074,7 @@ extern "C" {
     * @param entry The text to be displayed
     *
     * @deprecated Use elm_object_text_set() instead.
+    * @note Using this function bypasses text filters
     */
    EAPI void         elm_entry_entry_set(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
    /**
@@ -11081,6 +11128,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
@@ -11759,6 +11845,35 @@ extern "C" {
     */
    EAPI Elm_Input_Panel_Layout elm_entry_input_panel_layout_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
+    * Set the autocapitalization type on the immodule.
+    *
+    * @param obj The entry object
+    * @param autocapital_type The type of autocapitalization
+    */
+   EAPI void         elm_entry_autocapital_type_set(Evas_Object *obj, Elm_Autocapital_Type autocapital_type) EINA_ARG_NONNULL(1);
+   /**
+    * Retrieve the autocapitalization type on the immodule.
+    *
+    * @param obj The entry object
+    * @return autocapitalization type
+    */
+   EAPI Elm_Autocapital_Type elm_entry_autocapital_type_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Sets the attribute to show the input panel automatically.
+    *
+    * @param obj The entry object
+    * @param enabled If true, the input panel is appeared when entry is clicked or has a focus
+    */
+   EAPI void elm_entry_input_panel_enabled_set(Evas_Object *obj, Eina_Bool enabled) EINA_ARG_NONNULL(1);
+   /**
+    * Retrieve the attribute to show the input panel automatically.
+    *
+    * @param obj The entry object
+    * @return EINA_TRUE if input panel will be appeared when the entry is clicked or has a focus, EINA_FALSE otherwise
+    */
+   EAPI Eina_Bool elm_entry_input_panel_enabled_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   /**
     * @}
     */
 
@@ -12155,7 +12270,7 @@ extern "C" {
    /**
     * Get the style that the hover should use
     *
-    * Get the style the hover created by anchorblock will use.
+    * Get the style, the hover created by anchorblock will use.
     *
     * @param obj The anchorblock object
     * @return The style to use by the hover. NULL means the default is used.
@@ -12233,11 +12348,11 @@ extern "C" {
     * @image html img/widget/bubble/preview-02.png
     * @image latex img/widget/bubble/preview-02.eps
     *
-    * @brief The Bubble is a widget to show text similarly to how speech is
+    * @brief The Bubble is a widget to show text similar to how speech is
     * represented in comics.
     *
     * The bubble widget contains 5 important visual elements:
-    * @li The frame is a rectangle with rounded rectangles and an "arrow".
+    * @li The frame is a rectangle with rounded edjes and an "arrow".
     * @li The @p icon is an image to which the frame's arrow points to.
     * @li The @p label is a text which appears to the right of the icon if the
     * corner is "top_left" or "bottom_left" and is right aligned to the frame
@@ -12256,10 +12371,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".
     *
     * @{
     */
+
    /**
     * Add a new bubble to the parent
     *
@@ -12298,7 +12421,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);
    /**
@@ -12309,7 +12432,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);
    /**
@@ -12323,8 +12446,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);
+   EINA_DEPRECATED EAPI void         elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
     * Get the content shown in the bubble
     *
@@ -12332,8 +12458,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);
+   EINA_DEPRECATED EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Unset the content shown in the bubble
     *
@@ -12341,8 +12470,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);
+   EINA_DEPRECATED EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Set the icon of the bubble
     *
@@ -12352,8 +12484,11 @@ extern "C" {
     *
     * @param obj The bubble object
     * @param icon The given icon for the bubble
+    *
+    * @deprecated use elm_object_content_part_set() instead
+    *
     */
-   EAPI void         elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void         elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
    /**
     * Get the icon of the bubble
     *
@@ -12361,8 +12496,11 @@ extern "C" {
     * @return The icon for the bubble
     *
     * This function gets the icon shown on the top left of bubble.
+    *
+    * @deprecated use elm_object_content_part_get() instead
+    *
     */
-   EAPI Evas_Object *elm_bubble_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object *elm_bubble_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Unset the icon of the bubble
     *
@@ -12370,8 +12508,11 @@ extern "C" {
     *
     * @param obj The bubble object
     * @return The icon that was being used
+    *
+    * @deprecated use elm_object_content_part_unset() instead
+    *
     */
-   EAPI Evas_Object *elm_bubble_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object *elm_bubble_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * Set the corner of the bubble
     *
@@ -12405,7 +12546,7 @@ extern "C" {
    /**
     * @defgroup Photo Photo
     *
-    * For displaying the photo of a person (contact). Simple yet
+    * For displaying the photo of a person (contact). Simple, yet
     * with a very specific purpose.
     *
     * Signals that you can add callbacks for are:
@@ -12637,6 +12778,8 @@ extern "C" {
 
         Evas_Coord mx; /**< Momentum on X */
         Evas_Coord my; /**< Momentum on Y */
+
+        unsigned int n;  /**< Number of fingers */
      };
 
    /**
@@ -12654,8 +12797,6 @@ extern "C" {
    struct _Elm_Gesture_Line_Info
      {  /* Report line ends, timestamps, and momentum computed      */
         Elm_Gesture_Momentum_Info momentum; /**< Line momentum info */
-        unsigned int n;            /**< Number of fingers (lines)   */
-        /* FIXME should be radians, bot degrees */
         double angle;              /**< Angle (direction) of lines  */
      };
 
@@ -14018,7 +14159,7 @@ extern "C" {
     * deleted, if you want to keep that old content object, use the
     * elm_hoversel_icon_unset() function.
     *
-    * @see elm_button_icon_set()
+    * @see elm_object_content_set() for the button widget
     */
    EAPI void               elm_hoversel_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
    /**
@@ -14028,7 +14169,7 @@ extern "C" {
     * @return The icon object
     *
     * Get the icon of the button that is always visible (before it is clicked
-    * and expanded). Also see elm_button_icon_get().
+    * and expanded). Also see elm_object_content_get() for the button widget.
     *
     * @see elm_hoversel_icon_set()
     */
@@ -14043,7 +14184,7 @@ extern "C" {
     * (before it is clicked and expanded).
     *
     * @see elm_hoversel_icon_set()
-    * @see elm_button_icon_unset()
+    * @see elm_object_content_unset() for the button widget
     */
    EAPI Evas_Object       *elm_hoversel_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
@@ -14249,7 +14390,8 @@ extern "C" {
         ELM_TOOLBAR_SHRINK_NONE,   /**< Set toolbar minimun size to fit all the items. */
         ELM_TOOLBAR_SHRINK_HIDE,   /**< Hide exceeding items. */
         ELM_TOOLBAR_SHRINK_SCROLL, /**< Allow accessing exceeding items through a scroller. */
-        ELM_TOOLBAR_SHRINK_MENU    /**< Inserts a button to pop up a menu with exceeding items. */
+        ELM_TOOLBAR_SHRINK_MENU,   /**< Inserts a button to pop up a menu with exceeding items. */
+        ELM_TOOLBAR_SHRINK_LAST    /**< Indicates error if returned by elm_toolbar_shrink_mode_get() */
      } Elm_Toolbar_Shrink_Mode;
 
    typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item; /**< Item of Elm_Toolbar. Sub-type of Elm_Widget_Item. Can be created with elm_toolbar_item_append(), elm_toolbar_item_prepend() and functions to add items in relative positions, like elm_toolbar_item_insert_before(), and deleted with elm_toolbar_item_del(). */
@@ -14499,7 +14641,7 @@ extern "C" {
     * Insert a new item into the toolbar object after item @p after.
     *
     * @param obj The toolbar object.
-    * @param before The toolbar item to insert before.
+    * @param after The toolbar item to insert after.
     * @param icon A string with icon name or the absolute path of an image file.
     * @param label The label of the item.
     * @param func The function to call when the item is clicked.
@@ -15454,8 +15596,18 @@ extern "C" {
     * @param vertical If @c EINA_TRUE, the toolbar is vertical
     * By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.
     * @ingroup Toolbar
+    * @deprecated use elm_toolbar_horizontal_set() instead.
+    */
+   EINA_DEPRECATED EAPI void             elm_toolbar_orientation_set(Evas_Object *obj, Eina_Bool vertical) EINA_ARG_NONNULL(1);
+
+   /**
+    * Change a toolbar's orientation
+    * @param obj The toolbar object
+    * @param horizontal If @c EINA_TRUE, the toolbar is horizontal
+    * By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.
+    * @ingroup Toolbar
     */
-   EAPI void             elm_toolbar_orientation_set(Evas_Object *obj, Eina_Bool vertical) EINA_ARG_NONNULL(1);
+   EAPI void             elm_toolbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
 
    /**
     * Get a toolbar's orientation
@@ -15463,10 +15615,19 @@ extern "C" {
     * @return If @c EINA_TRUE, the toolbar is vertical
     * By default, a toolbar will be horizontal. Use this function to determine whether a toolbar is vertical.
     * @ingroup Toolbar
+    * @deprecated use elm_toolbar_horizontal_get() instead.
     */
-   EAPI Eina_Bool        elm_toolbar_orientation_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Eina_Bool        elm_toolbar_orientation_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
+    * Get a toolbar's orientation
+    * @param obj The toolbar object
+    * @return If @c EINA_TRUE, the toolbar is horizontal
+    * By default, a toolbar will be horizontal. Use this function to determine whether a toolbar is vertical.
+    * @ingroup Toolbar
+    */
+   EAPI Eina_Bool elm_toolbar_horizontal_get(const Evas_Object *obj);
+   /**
     * @}
     */
 
@@ -15513,7 +15674,10 @@ extern "C" {
     * cursors, also use ones coming from Edje theming files. Both
     * globally and per widget, Elementary makes it possible for one to
     * make the cursors lookup to be held on engines only or on
-    * Elementary's theme file, too.
+    * Elementary's theme file, too. To set cursor's hot spot,
+    * two data items should be added to cursor's theme: "hot_x" and
+    * "hot_y", that are the offset from upper-left corner of the cursor
+    * (coordinates 0,0).
     *
     * @{
     */
@@ -17196,6 +17360,12 @@ extern "C" {
     * Available styles for it:
     * - @c "default"
     *
+    * Default contents parts of the slider widget that you can use for are:
+    * @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
     */
@@ -17257,8 +17427,9 @@ extern "C" {
     * it won't get properly displayed.
     *
     * @ingroup Slider
+    * @deprecated use elm_object_content_part_set() instead.
     */
-   EAPI void               elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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.
@@ -17275,10 +17446,11 @@ extern "C" {
     *
     * @see elm_slider_icon_set() for more details
     * @see elm_slider_icon_get()
+    * @deprecated use elm_object_content_part_unset() instead.
     *
     * @ingroup Slider
     */
-   EAPI Evas_Object       *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object       *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Retrieve the icon object set for a given slider widget.
@@ -17293,9 +17465,11 @@ extern "C" {
     * @see elm_slider_icon_set() for more details
     * @see elm_slider_icon_unset()
     *
+    * @deprecated use elm_object_content_part_get() instead.
+    *
     * @ingroup Slider
     */
-   EAPI Evas_Object       *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object       *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Set the end object of the slider object.
@@ -17313,9 +17487,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_content_part_set() instead.
+    *
     * @ingroup Slider
     */
-   EAPI void               elm_slider_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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.
@@ -17333,9 +17509,12 @@ extern "C" {
     * @see elm_slider_end_set() for more details.
     * @see elm_slider_end_get()
     *
+    * @deprecated use elm_object_content_part_unset() instead
+    * instead.
+    *
     * @ingroup Slider
     */
-   EAPI Evas_Object       *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object       *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Retrieve the end object set for a given slider widget.
@@ -17350,9 +17529,13 @@ extern "C" {
     * @see elm_slider_end_set() for more details.
     * @see elm_slider_end_unset()
     *
+    *
+    * @deprecated use elm_object_content_part_get() instead 
+    * instead.
+    *
     * @ingroup Slider
     */
-   EAPI Evas_Object       *elm_slider_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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.
@@ -17866,9 +18049,9 @@ extern "C" {
     *   existing text parts in the Edje group implementing the item's theme.
     *   This function @b must return a strdup'()ed string, as the caller will
     *   free() it when done. See #Elm_Genlist_Item_Label_Get_Cb.
-    * - @c icon_get - The @c part parameter is the name string of one of the
-    *   existing (icon) swallow parts in the Edje group implementing the item's
-    *   theme. It must return @c NULL, when no icon is desired, or a valid
+    * - @c content_get - The @c part parameter is the name string of one of the
+    *   existing (content) swallow parts in the Edje group implementing the item's
+    *   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.
@@ -17909,15 +18092,15 @@ extern "C" {
     *
     * An item in a genlist can have 0 or more text labels (they can be regular
     * text or textblock Evas objects - that's up to the style to determine), 0
-    * or more icons (which are simply objects swallowed into the genlist item's
+    * or more contents (which are simply objects swallowed into the genlist item's
     * theming Edje object) and 0 or more <b>boolean states</b>, which have the
     * behavior left to the user to define. The Edje part names for each of
     * these properties will be looked up, in the theme file for the genlist,
-    * under the Edje (string) data items named @c "labels", @c "icons" and @c
+    * under the Edje (string) data items named @c "labels", @c "contents" and @c
     * "states", respectively. For each of those properties, if more than one
     * part is provided, they must have names listed separated by spaces in the
     * data fields. For the default genlist item theme, we have @b one label
-    * part (@c "elm.text"), @b two icon parts (@c "elm.swalllow.icon" and @c
+    * part (@c "elm.text"), @b two content parts (@c "elm.swalllow.icon" and @c
     * "elm.swallow.end") and @b no state parts.
     *
     * A genlist item may be at one of several styles. Elementary provides one
@@ -17950,7 +18133,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.
@@ -17977,13 +18160,13 @@ extern "C" {
     *
     * @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
     * creation functions.
     *
-    * If an item changes (state of boolean changes, label or icons change),
+    * If an item changes (state of boolean changes, label or contents change),
     * then use elm_genlist_item_update() to have genlist update the item with
     * the new state. Genlist will re-realize the item thus call the functions
     * in the _Elm_Genlist_Item_Class for that item.
@@ -18008,7 +18191,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
@@ -18086,7 +18269,7 @@ extern "C" {
     *   caller to not use the object pointer from elm_genlist_item_object_get()
     *   in a way where it may point to freed objects.
     * - @c "unrealized" - This is called just before an item is unrealized.
-    *   After this call icon objects provided will be deleted and the item
+    *   After this call content objects provided will be deleted and the item
     *   object itself delete or be put into a floating cache.
     * - @c "drag,start,up" - This is called when the item in the list has been
     *   dragged (not scrolled) up.
@@ -18169,10 +18352,36 @@ extern "C" {
    typedef struct _Elm_Genlist_Item       Elm_Genlist_Item; /**< Item of Elm_Genlist. Sub-type of Elm_Widget_Item */
    #define Elm_Genlist_Item Elm_Gen_Item /**< Item of Elm_Genlist. Sub-type of Elm_Widget_Item */
    typedef struct _Elm_Genlist_Item_Class_Func Elm_Genlist_Item_Class_Func; /**< Class functions for genlist item class */
-   typedef char        *(*Elm_Genlist_Item_Label_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Label fetching class function for genlist item classes. */
-   typedef Evas_Object *(*Elm_Genlist_Item_Icon_Get_Cb)  (void *data, Evas_Object *obj, const char *part); /**< Icon fetching class function for genlist item classes. */
-   typedef Eina_Bool    (*Elm_Genlist_Item_State_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< State fetching class function for genlist item classes. */
-   typedef void         (*Elm_Genlist_Item_Del_Cb)      (void *data, Evas_Object *obj); /**< Deletion class function for genlist 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_Genlist_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_Genlist_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_Genlist_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_Genlist_Item_Del_Cb)      (void *data, Evas_Object *obj);
 
    /**
     * @struct _Elm_Genlist_Item_Class
@@ -18190,7 +18399,7 @@ extern "C" {
         struct Elm_Genlist_Item_Class_Func
           {
              Elm_Genlist_Item_Label_Get_Cb  label_get; /**< Label fetching class function for genlist item classes.*/
-             Elm_Genlist_Item_Icon_Get_Cb   icon_get; /**< Icon fetching class function for genlist item classes. */
+             Elm_Genlist_Item_Content_Get_Cb   content_get; /**< Content fetching class function for genlist item classes. */
              Elm_Genlist_Item_State_Get_Cb  state_get; /**< State fetching class function for genlist item classes. */
              Elm_Genlist_Item_Del_Cb        del; /**< Deletion class function for genlist item classes. */
           } func;
@@ -18207,7 +18416,7 @@ extern "C" {
     *
     * @see elm_genlist_item_append()
     * @see elm_genlist_item_del()
-    * @see elm_genlist_clear()
+    * @see elm_gen_clear()
     *
     * @ingroup Genlist
     */
@@ -18219,6 +18428,8 @@ 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
@@ -18294,9 +18505,11 @@ 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()
     *
@@ -18839,6 +19052,8 @@ 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
     */
    EINA_DEPRECATED EAPI Evas_Object       *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
@@ -19157,7 +19372,8 @@ extern "C" {
     *
     * @ingroup Genlist
     */
-   EAPI void               elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void               elm_genlist_item_contents_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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
@@ -19591,7 +19807,14 @@ extern "C" {
     * "changed" - This is called whenever the user changes the state of one of
     *             the check object(event_info is NULL).
     *
-    * @ref tutorial_check should give you a firm grasp of how to use this widget.
+    * Default contents parts of the check widget that you can use for are:
+    * @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
+    *
+    * @ref tutorial_check should give you a firm grasp of how to use this widget
+    * .
     * @{
     */
    /**
@@ -19627,16 +19850,22 @@ 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_check_icon_unset() function.
+    * elm_object_content_unset() function.
+    *
+    * @deprecated use elm_object_content_part_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_content_part_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
     *
@@ -19644,8 +19873,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_content_part_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
     *
@@ -19713,6 +19945,9 @@ extern "C" {
     * @li changed - This is called whenever the user changes the state of one of
     * 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 "icon" - A icon of the radio
+    *
     * @ref tutorial_radio show most of this API in action.
     * @{
     */
@@ -19750,8 +19985,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_part_set() instead.
+    *
     */
-   EAPI void         elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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
     *
@@ -19759,8 +19997,11 @@ extern "C" {
     * @return The icon object
     *
     * @see elm_radio_icon_set()
+    *
+    * @deprecated use elm_object_content_part_get() instead.
+    *
     */
-   EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the icon used for the radio object
     *
@@ -19770,8 +20011,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_part_unset() instead.
+    *
     */
-   EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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
     *
@@ -20852,6 +21095,9 @@ extern "C" {
     * - @c "wheel" (simple style, no text, no progression, only
     *      "pulse" effect is available)
     *
+    * Default contents parts of the progressbar widget that you can use for are:
+    * @li "icon" - A icon of the progressbar
+    * 
     * Here is an example on its usage:
     * @li @ref progressbar_example
     */
@@ -20988,10 +21234,11 @@ extern "C" {
     * elm_progressbar_icon_unset() function.
     *
     * @see elm_progressbar_icon_get()
+    * @deprecated use elm_object_content_part_set() instead.
     *
     * @ingroup Progressbar
     */
-   EAPI void         elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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
@@ -21001,10 +21248,11 @@ extern "C" {
     * otherwise (and on errors)
     *
     * @see elm_progressbar_icon_set() for more details
+    * @deprecated use elm_object_content_part_get() instead.
     *
     * @ingroup Progressbar
     */
-   EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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
@@ -21017,10 +21265,11 @@ extern "C" {
     * for this widget, previously, on success.
     *
     * @see elm_progressbar_icon_set() for more details
+    * @deprecated use elm_object_content_part_unset() instead.
     *
     * @ingroup Progressbar
     */
-   EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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
@@ -23590,6 +23839,9 @@ extern "C" {
     * @li ELM_PANEL_ORIENT_LEFT
     * @li ELM_PANEL_ORIENT_RIGHT
     *
+    * 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.
     * @{
     */
@@ -23636,8 +23888,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);
+   EINA_DEPRECATED EAPI void                  elm_panel_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
    /**
     * @brief Get the content of the panel.
     *
@@ -23647,8 +23902,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);
+   EINA_DEPRECATED EAPI Evas_Object          *elm_panel_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Unset the content of the panel.
     *
@@ -23658,8 +23916,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);
+   EINA_DEPRECATED EAPI Evas_Object          *elm_panel_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @brief Set the state of the panel.
     *
@@ -23709,6 +23970,13 @@ extern "C" {
     * Available styles for it:
     * - @c "default"
     *
+    * Default contents parts of the panes widget that you can use for are:
+    * @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.
+    * 
     * Here is an example on its usage:
     * @li @ref panes_example
     */
@@ -23747,9 +24015,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_content_part_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.
@@ -23767,9 +24037,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_content_part_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.
@@ -23781,9 +24053,11 @@ extern "C" {
     *
     * @see elm_panes_content_left_set() for details.
     *
+    * @deprecated use elm_object_content_part_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.
@@ -23795,9 +24069,11 @@ extern "C" {
     *
     * @see elm_panes_content_right_set() for details.
     *
+    * @deprecated use elm_object_content_part_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.
@@ -23810,9 +24086,11 @@ extern "C" {
     * @see elm_panes_content_left_set() for details.
     * @see elm_panes_content_left_get().
     *
+    * @deprecated use elm_object_content_part_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.
@@ -23826,9 +24104,11 @@ extern "C" {
     * @see elm_panes_content_right_set() for details.
     * @see elm_panes_content_right_get().
     *
+    * @deprecated use elm_object_content_part_unset() instead
+    *
     * @ingroup Panes
     */
-   EAPI Evas_Object          *elm_panes_content_right_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED 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.
@@ -24263,6 +24543,9 @@ extern "C" {
     * Available styles for it:
     * - @c "default"
     *
+    * Default contents parts of the conformant widget that you can use for are:
+    * @li "default" - A content of the conformant
+    *
     * See how to use this widget in this example:
     * @ref conformant_example
     */
@@ -24298,14 +24581,16 @@ 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_conformat_content_unset() function.
+    * elm_object_content_unset() function.
+    *
+    * @see elm_object_content_unset()
+    * @see elm_object_content_get()
     *
-    * @see elm_conformant_content_unset()
-    * @see elm_conformant_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);
+   EINA_DEPRECATED EAPI void         elm_conformant_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
 
    /**
     * Get the content of the conformant widget.
@@ -24315,14 +24600,16 @@ extern "C" {
     *
     * Return the content object which is set for this widget.
     * It won't be unparent from conformant. For that, use
-    * elm_conformant_content_unset().
+    * elm_object_content_unset().
     *
-    * @see elm_conformant_content_set() for more details.
-    * @see elm_conformant_content_unset()
+    * @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);
+   EINA_DEPRECATED EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Unset the content of the conformant widget.
@@ -24332,11 +24619,13 @@ extern "C" {
     *
     * Unparent and return the content object which was set for this widget.
     *
-    * @see elm_conformant_content_set() for more details.
+    * @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.
@@ -24366,6 +24655,11 @@ extern "C" {
     * need to resize or move it frequently (the content object and its
     * children).
     *
+    * 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.
+    * 
     * See how to use this widget in this example:
     * @ref mapbuf_example
     */
@@ -24400,9 +24694,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);
+   EINA_DEPRECATED EAPI void         elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
 
    /**
     * Get the content of the mapbuf.
@@ -24414,9 +24710,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);
+   EINA_DEPRECATED EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Unset the content of the mapbuf.
@@ -24428,9 +24726,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);
+   EINA_DEPRECATED EAPI Evas_Object *elm_mapbuf_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * Enable or disable the map.
@@ -24563,6 +24863,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
     */
@@ -24572,8 +24876,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
@@ -24638,7 +24940,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
@@ -24664,19 +24966,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().
@@ -24702,7 +25004,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
@@ -24717,7 +25019,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.
@@ -24728,13 +25030,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
@@ -24747,13 +25049,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).
     *
@@ -24761,46 +25063,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.
@@ -24809,13 +25113,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.
@@ -24824,7 +25128,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
@@ -26207,6 +26511,9 @@ extern "C" {
     * Signals that you can add callbacks for are:
     * "dismissed" - the ctxpopup was dismissed
     *
+    * Default contents parts of the ctxpopup widget that you can use for are:
+    * @li "default" - A content of the ctxpopup
+    *
     * @ref tutorial_ctxpopup shows the usage of a good deal of the API.
     * @{
     */
@@ -26373,6 +26680,10 @@ extern "C" {
     *
     * @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
+    *
     */
    EINA_DEPRECATED EAPI void          elm_ctxpopup_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1, 2);
    /**
@@ -26386,6 +26697,9 @@ extern "C" {
     * @deprecated use elm_object_content_unset()
     *
     * @see elm_ctxpopup_content_set()
+    *
+    * @deprecated use elm_object_content_unset() instead
+    *
     */
    EINA_DEPRECATED EAPI Evas_Object  *elm_ctxpopup_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
@@ -27391,7 +27705,7 @@ extern "C" {
     * Smart callbacks one can listen to:
     * - "changed" - When the user clicks on a segment item which is not
     *   previously selected and get selected. The event_info parameter is the
-    *   segment item index.
+    *   segment item pointer.
     *
     * Available styles for it:
     * - @c "default"
@@ -27813,8 +28127,8 @@ extern "C" {
     */
 
    EAPI Evas_Object *elm_factory_add(Evas_Object *parent);
-   EAPI void         elm_factory_content_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_factory_content_get(const Evas_Object *obj);
+   EINA_DEPRECATED EAPI void         elm_factory_content_set(Evas_Object *obj, Evas_Object *content);
+   EINA_DEPRECATED EAPI Evas_Object *elm_factory_content_get(const Evas_Object *obj);
    EAPI void         elm_factory_maxmin_mode_set(Evas_Object *obj, Eina_Bool enabled);
    EAPI Eina_Bool    elm_factory_maxmin_mode_get(const Evas_Object *obj);
    EAPI void         elm_factory_maxmin_reset_set(Evas_Object *obj);
@@ -27847,6 +28161,10 @@ extern "C" {
     * "prev,clicked" - the user clicked the prev button.
     * "rewind,clicked" - the user clicked the rewind button.
     * "stop,clicked" - the user clicked the stop button.
+    * 
+    * Default contents parts of the player widget that you can use for are:
+    * @li "video" - A video of the player
+    * 
     */
 
    /**
@@ -27857,7 +28175,7 @@ extern "C" {
     *
     * This function inserts a new player widget on the canvas.
     *
-    * @see elm_player_video_set()
+    * @see elm_object_content_part_set()
     *
     * @ingroup Video
     */
@@ -27875,10 +28193,11 @@ extern "C" {
     *
     * @see elm_player_add()
     * @see elm_video_add()
+    * @deprecated use elm_object_content_part_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.
@@ -27939,7 +28258,7 @@ extern "C" {
     *
     * @ingroup Video
     */
-   EAPI Evas_Object *elm_video_emotion_get(Evas_Object *video);
+   EAPI Evas_Object *elm_video_emotion_get(const Evas_Object *video);
 
    /**
     * @brief Start to play the video
@@ -27985,7 +28304,7 @@ extern "C" {
     *
     * @ingroup Video
     */
-   EAPI Eina_Bool elm_video_is_playing(Evas_Object *video);
+   EAPI Eina_Bool elm_video_is_playing(const Evas_Object *video);
 
    /**
     * @brief Is it possible to seek inside the video.
@@ -27995,7 +28314,7 @@ extern "C" {
     *
     * @ingroup Video
     */
-   EAPI Eina_Bool elm_video_is_seekable(Evas_Object *video);
+   EAPI Eina_Bool elm_video_is_seekable(const Evas_Object *video);
 
    /**
     * @brief Is the audio muted.
@@ -28005,7 +28324,7 @@ extern "C" {
     *
     * @ingroup Video
     */
-   EAPI Eina_Bool elm_video_audio_mute_get(Evas_Object *video);
+   EAPI Eina_Bool elm_video_audio_mute_get(const Evas_Object *video);
 
    /**
     * @brief Change the mute state of the Elm_Video object.
@@ -28025,7 +28344,7 @@ extern "C" {
     *
     * @ingroup Video
     */
-   EAPI double elm_video_audio_level_get(Evas_Object *video);
+   EAPI double elm_video_audio_level_get(const Evas_Object *video);
 
    /**
     * @brief Set the audio level of anElm_Video object.
@@ -28037,12 +28356,12 @@ extern "C" {
     */
    EAPI void elm_video_audio_level_set(Evas_Object *video, double volume);
 
-   EAPI double elm_video_play_position_get(Evas_Object *video);
+   EAPI double elm_video_play_position_get(const Evas_Object *video);
    EAPI void elm_video_play_position_set(Evas_Object *video, double position);
-   EAPI double elm_video_play_length_get(Evas_Object *video);
+   EAPI double elm_video_play_length_get(const Evas_Object *video);
    EAPI void elm_video_remember_position_set(Evas_Object *video, Eina_Bool remember);
-   EAPI Eina_Bool elm_video_remember_position_get(Evas_Object *video);
-   EAPI const char *elm_video_title_get(Evas_Object *video);
+   EAPI Eina_Bool elm_video_remember_position_get(const Evas_Object *video);
+   EAPI const char *elm_video_title_get(const Evas_Object *video);
    /**
     * @}
     */
@@ -28065,20 +28384,19 @@ extern "C" {
     * application.
     *
     * Signals that you can add callback for are:
-    *
     * @li "transition,finished" - When the transition is finished in changing
     *     the item
     * @li "title,clicked" - User clicked title area
     *
-    * Default contents parts for the naviframe items that you can use for are:
+    * Default contents parts of the naviframe items that you can use for are:
+    * @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
     *
-    * @li "elm.swallow.content" - The main content of the page
-    * @li "elm.swallow.prev_btn" - The button to go to the previous page
-    * @li "elm.swallow.next_btn" - The button to go to the next page
-    *
-    * Default text parts of naviframe items that you can be used are:
-    *
-    * @li "elm.text.title" - The title label 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
+    * @li "subtitle" - Sub-title label in the title area
     *
     * @ref tutorial_naviframe gives a good overview of the usage of the API.
     */
@@ -28118,6 +28436,8 @@ extern "C" {
     * deleted when it is popped.
     *
     * @see also elm_naviframe_item_style_set()
+    * @see also elm_naviframe_item_insert_before()
+    * @see also elm_naviframe_item_insert_after()
     *
     * The following styles are available for this item:
     * @li @c "default"
@@ -28125,6 +28445,66 @@ extern "C" {
     * @ingroup Naviframe
     */
    EAPI Elm_Object_Item    *elm_naviframe_item_push(Evas_Object *obj, const char *title_label, Evas_Object *prev_btn, Evas_Object *next_btn, Evas_Object *content, const char *item_style) EINA_ARG_NONNULL(1, 5);
+    /**
+    * @brief Insert a new item into the naviframe before item @p before.
+    *
+    * @param before The naviframe item to insert before.
+    * @param title_label The label in the title area. The name of the title
+    *        label part is "elm.text.title"
+    * @param prev_btn The button to go to the previous item. If it is NULL,
+    *        then naviframe will create a back button automatically. The name of
+    *        the prev_btn part is "elm.swallow.prev_btn"
+    * @param next_btn The button to go to the next item. Or It could be just an
+    *        extra function button. The name of the next_btn part is
+    *        "elm.swallow.next_btn"
+    * @param content The main content object. The name of content part is
+    *        "elm.swallow.content"
+    * @param item_style The current item style name. @c NULL would be default.
+    * @return The created item or @c NULL upon failure.
+    *
+    * The item is inserted into the naviframe straight away without any
+    * transition operations. This item will be deleted when it is popped.
+    *
+    * @see also elm_naviframe_item_style_set()
+    * @see also elm_naviframe_item_push()
+    * @see also elm_naviframe_item_insert_after()
+    *
+    * The following styles are available for this item:
+    * @li @c "default"
+    *
+    * @ingroup Naviframe
+    */
+   EAPI Elm_Object_Item    *elm_naviframe_item_insert_before(Elm_Object_Item *before, const char *title_label, Evas_Object *prev_btn, Evas_Object *next_btn, Evas_Object *content, const char *item_style) EINA_ARG_NONNULL(1, 5);
+   /**
+    * @brief Insert a new item into the naviframe after item @p after.
+    *
+    * @param after The naviframe item to insert after.
+    * @param title_label The label in the title area. The name of the title
+    *        label part is "elm.text.title"
+    * @param prev_btn The button to go to the previous item. If it is NULL,
+    *        then naviframe will create a back button automatically. The name of
+    *        the prev_btn part is "elm.swallow.prev_btn"
+    * @param next_btn The button to go to the next item. Or It could be just an
+    *        extra function button. The name of the next_btn part is
+    *        "elm.swallow.next_btn"
+    * @param content The main content object. The name of content part is
+    *        "elm.swallow.content"
+    * @param item_style The current item style name. @c NULL would be default.
+    * @return The created item or @c NULL upon failure.
+    *
+    * The item is inserted into the naviframe straight away without any
+    * transition operations. This item will be deleted when it is popped.
+    *
+    * @see also elm_naviframe_item_style_set()
+    * @see also elm_naviframe_item_push()
+    * @see also elm_naviframe_item_insert_before()
+    *
+    * The following styles are available for this item:
+    * @li @c "default"
+    *
+    * @ingroup Naviframe
+    */
+   EAPI Elm_Object_Item    *elm_naviframe_item_insert_after(Elm_Object_Item *after, const char *title_label, Evas_Object *prev_btn, Evas_Object *next_btn, Evas_Object *content, const char *item_style) EINA_ARG_NONNULL(1, 5);
    /**
     * @brief Pop an item that is on top of the stack
     *
@@ -28150,6 +28530,17 @@ extern "C" {
     */
    EAPI void                elm_naviframe_item_pop_to(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
    /**
+   * Promote an item already in the naviframe stack to the top of the stack
+   *
+   * @param it The naviframe item
+   *
+   * This will take the indicated item and promote it to the top of the stack
+   * as if it had been pushed there. The item must already be inside the
+   * naviframe stack to work.
+   *
+   */
+   EAPI void                elm_naviframe_item_promote(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+   /**
     * @brief Delete the given item instantly.
     *
     * @param it The naviframe item
@@ -28275,7 +28666,15 @@ extern "C" {
     * @see also elm_naviframe_item_push()
     *           elm_naviframe_prev_btn_auto_pushed_set()
     */
-   EAPI Eina_Bool           elm_naviframe_prev_btn_auto_pushed_get(const Evas_Object *obj); EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool           elm_naviframe_prev_btn_auto_pushed_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * @brief Get a list of all the naviframe items.
+    *
+    * @param obj The naviframe object
+    * @return An Eina_Inlist* of naviframe items, #Elm_Object_Item,
+    * or @c NULL on failure.
+    */
+   EAPI Eina_Inlist        *elm_naviframe_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /**
     * @}