[*]Un-Rollback to 'Merge [elm_multibuttonentry]Changed edc TEXT part to TEXTBLOCK...
[framework/uifw/elementary.git] / src / lib / Elementary.h.in
index 08abf71..84b6746 100644 (file)
@@ -329,6 +329,14 @@ extern "C" {
 
 
    /**
+    * @typedef Elm_Object_Item
+    * An Elementary Object item handle.
+    * @ingroup General
+    */
+   typedef struct _Elm_Object_Item Elm_Object_Item;
+
+
+   /**
     * Called back when a widget's tooltip is activated and needs content.
     * @param data user-data given to elm_object_tooltip_content_cb_set()
     * @param obj owner widget.
@@ -680,14 +688,14 @@ extern "C" {
     * Set a label of an object
     *
     * @param obj The Elementary object
-    * @param item The label id to set (NULL for the default label)
+    * @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 *item, const char *label);
+   EAPI void         elm_object_text_part_set(Evas_Object *obj, const char *part, const char *label);
 
 #define elm_object_text_set(obj, label) elm_object_text_part_set((obj), NULL, (label))
 
@@ -695,19 +703,175 @@ extern "C" {
     * Get a label of an object
     *
     * @param obj The Elementary object
-    * @param item The label id to get (NULL for the default label)
-    * @return text of the label or
-    *         NULL for any error
+    * @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)
     *
     * @ingroup General
     */
-   EAPI const char  *elm_object_text_part_get(const Evas_Object *obj, const char *item);
+   EAPI const char  *elm_object_text_part_get(const Evas_Object *obj, const char *part);
 
 #define elm_object_text_get(obj) elm_object_text_part_get((obj), NULL)
 
    /**
+    * Set a content of an object
+    *
+    * @param obj The Elementary object
+    * @param part The content part name to set (NULL for the default content)
+    * @param content The new content of the object
+    *
+    * @note Elementary objects may have many contents
+    *
+    * @ingroup General
+    */
+   EAPI void elm_object_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content);
+
+#define elm_object_content_set(obj, content) elm_object_content_part_set((obj), NULL, (content))
+
+   /**
+    * Get a content of an object
+    *
+    * @param obj The Elementary object
+    * @param item The content part name to get (NULL for the default content)
+    * @return content of the object or NULL for any error
+    *
+    * @note Elementary objects may have many contents
+    *
+    * @ingroup General
+    */
+   EAPI Evas_Object *elm_object_content_part_get(const Evas_Object *obj, const char *part);
+
+#define elm_object_content_get(obj) elm_object_content_part_get((obj), NULL)
+
+   /**
+    * Unset a content of an object
+    *
+    * @param obj The Elementary object
+    * @param item The content part name to unset (NULL for the default content)
+    *
+    * @note Elementary objects may have many contents
+    *
+    * @ingroup General
+    */
+   EAPI Evas_Object *elm_object_content_part_unset(Evas_Object *obj, const char *part);
+
+#define elm_object_content_unset(obj) elm_object_content_part_unset((obj), NULL)
+
+   /**
+    * Set a content of an object item
+    *
+    * @param it The Elementary object item
+    * @param part The content part name to set (NULL for the default content)
+    * @param content The new content of the object item
+    *
+    * @note Elementary object items may have many contents
+    *
+    * @ingroup General
+    */
+   EAPI void elm_object_item_content_part_set(Elm_Object_Item *it, const char *part, Evas_Object *content);
+
+#define elm_object_item_content_set(it, content) elm_object_item_content_part_set((it), NULL, (content))
+
+   /**
+    * Get a content of an object item
+    *
+    * @param it The Elementary object item
+    * @param part The content part name to unset (NULL for the default content)
+    * @return content of the object item or NULL for any error
+    *
+    * @note Elementary object items may have many contents
+    *
+    * @ingroup General
+    */
+   EAPI Evas_Object *elm_object_item_content_part_get(const Elm_Object_Item *it, const char *item);
+
+#define elm_object_item_content_get(it) elm_object_item_content_part_get((it), NULL)
+
+   /**
+    * Unset a content of an object item
+    *
+    * @param it The Elementary object item
+    * @param part The content part name to unset (NULL for the default content)
+    *
+    * @note Elementary object items may have many contents
+    *
+    * @ingroup General
+    */
+   EAPI Evas_Object *elm_object_item_content_part_unset(Elm_Object_Item *it, const char *part);
+
+#define elm_object_item_content_unset(it, content) elm_object_item_content_part_unset((it), (content))
+
+   /**
+    * Set a label of an objec itemt
+    *
+    * @param it The Elementary object item
+    * @param part The text part name to set (NULL for the default label)
+    * @param label The new text of the label
+    *
+    * @note Elementary object items may have many labels
+    *
+    * @ingroup General
+    */
+   EAPI void elm_object_item_text_part_set(Elm_Object_Item *it, const char *part, const char *label);
+
+#define elm_object_item_text_set(it, label) elm_object_item_text_part_set((it), NULL, (label))
+
+   /**
+    * Get a label of an object
+    *
+    * @param it The Elementary object item
+    * @param part The text part name to get (NULL for the default label)
+    * @return text of the label or NULL for any error
+    *
+    * @note Elementary object items may have many labels
+    *
+    * @ingroup General
+    */
+   EAPI const char *elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part);
+
+   /**
+    * Set the text to read out when in accessibility mode
+    *
+    * @param obj The object which is to be described
+    * @param txt The text that describes the widget to people with poor or no vision
+    *
+    * @ingroup General
+    */
+   EAPI void elm_object_access_info_set(Evas_Object *obj, const char *txt);
+
+   /**
+    * Set the text to read out when in accessibility mode
+    *
+    * @param it The object item which is to be described
+    * @param txt The text that describes the widget to people with poor or no vision
+    *
+    * @ingroup General
+    */
+   EAPI void elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt);
+
+
+#define elm_object_item_text_get(it) elm_object_item_text_part_get((it), NULL)
+
+   /**
+    * Get the data associated with an object item
+    * @param it The object item
+    * @return The data associated with @p it
+    *
+    * @ingroup General
+    */
+   EAPI void *elm_object_item_data_get(const Elm_Object_Item *it);
+
+   /**
+    * Set the data associated with an object item
+    * @param it The object item
+    * @param data The data to be associated with @p it
+    *
+    * @ingroup General
+    */
+   EAPI void elm_object_item_data_set(Elm_Object_Item *it, void *data);
+
+   /**
     * @}
     */
 
@@ -766,6 +930,69 @@ extern "C" {
     * @ingroup Scaling
     */
    EAPI double       elm_object_scale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   /**
+    * @defgroup Password_last_show Password last input show
+    *
+    * Last show feature of password mode enables user to view
+    * the last input entered for few seconds before masking it.
+    * These functions allow to set this feature in password mode
+    * of entry widget and also allow to manipulate the duration 
+    * for which the input has to be visible.
+    *
+    * @{
+    */
+
+   /**
+    * Get show last setting of password mode.
+    *
+    * This gets the show last input setting of password mode which might be 
+    * enabled or disabled.
+    *
+    * @return @c EINA_TRUE, if the last input show setting is enabled, @c EINA_FALSE
+    *            if it's disabled.
+    * @ingroup Password_last_show
+    */
+   EAPI Eina_Bool elm_password_show_last_get(void);
+
+   /**
+    * Set show last setting in password mode.
+    *
+    * This enables or disables show last setting of password mode.
+    *
+    * @param password_show_last If EINA_TRUE enable's last input show in password mode.
+    * @see elm_password_show_last_timeout_set()
+    * @ingroup Password_last_show
+    */
+   EAPI void elm_password_show_last_set(Eina_Bool password_show_last);
+
+   /**
+    * Get's the timeout value in last show password mode.
+    *
+    * This gets the time out value for which the last input entered in password
+    * mode will be visible.
+    *
+    * @return The timeout value of last show password mode.
+    * @ingroup Password_last_show
+    */
+   EAPI double elm_password_show_last_timeout_get(void);
+
+   /**
+    * Set's the timeout value in last show password mode.
+    *
+    * This sets the time out value for which the last input entered in password
+    * mode will be visible.
+    *
+    * @param password_show_last_timeout The timeout value.
+    * @see elm_password_show_last_set()
+    * @ingroup Password_last_show
+    */
+   EAPI void elm_password_show_last_timeout_set(double password_show_last_timeout);
+
+   /**
+    * @}
+    */
+
    EAPI Eina_Bool    elm_object_mirrored_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI void         elm_object_mirrored_set(Evas_Object *obj, Eina_Bool mirrored) EINA_ARG_NONNULL(1);
    EAPI Eina_Bool    elm_object_mirrored_automatic_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
@@ -1087,6 +1314,40 @@ extern "C" {
    EAPI void             elm_object_focus_cycle(Evas_Object *obj, Elm_Focus_Direction dir) EINA_ARG_NONNULL(1);
    EAPI void             elm_object_focus_direction_go(Evas_Object *obj, int x, int y) EINA_ARG_NONNULL(1);
 
+   /**
+    * Make the elementary object and its children to be unfocusable (or focusable).
+    *
+    * @param obj The Elementary object to operate on
+    * @param tree_unfocusable @c EINA_TRUE for unfocusable,
+    *        @c EINA_FALSE for focusable.
+    *
+    * This sets whether the object @p obj and its children objects
+    * able to take focus or not. If the tree is unfocusable,
+    * newest focused object which is not in this tree will get focus.
+    * This API can be helpful for an object to be deleted.
+    * When an object will be deleted soon, it and its children may not
+    * want to get focus (by focus reverting or by other focus controls).
+    * Then, just use this API before deleting.
+    *
+    * @see elm_object_tree_unfocusable_get()
+    *
+    * @ingroup Focus
+    */
+   EAPI void             elm_object_tree_unfocusable_set(Evas_Object *obj, Eina_Bool tree_unfocusable); EINA_ARG_NONNULL(1);
+
+   /**
+    * Get whether an Elementary object and its children are unfocusable or not.
+    *
+    * @param obj The Elementary object to get the information from
+    * @return @c EINA_TRUE, if the tree is unfocussable,
+    *         @c EINA_FALSE if not (and on errors).
+    *
+    * @see elm_object_tree_unfocusable_set()
+    *
+    * @ingroup Focus
+    */
+   EAPI Eina_Bool        elm_object_tree_unfocusable_get(const Evas_Object *obj); EINA_ARG_NONNULL(1);
+
    EAPI Eina_Bool        elm_scroll_bounce_enabled_get(void);
    EAPI void             elm_scroll_bounce_enabled_set(Eina_Bool enabled);
    EAPI void             elm_scroll_bounce_enabled_all_set(Eina_Bool enabled);
@@ -1859,6 +2120,12 @@ extern "C" {
    EAPI int                   elm_icon_prescale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI void                  elm_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order) EINA_ARG_NONNULL(1);
    EAPI Elm_Icon_Lookup_Order elm_icon_order_lookup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_icon_anim_available_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_anim_set(Evas_Object *obj, Eina_Bool anim) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_icon_anim_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_anim_play_set(Evas_Object *obj, Eina_Bool play) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_icon_anim_play_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
    /* smart callbacks called:
     * "clicked" - the user clicked the icon
     */
@@ -3517,12 +3784,6 @@ extern "C" {
    EAPI void         elm_entry_text_filter_remove(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
    EAPI char        *elm_entry_markup_to_utf8(const char *s) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
    EAPI char        *elm_entry_utf8_to_markup(const char *s) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
-   EINA_DEPRECATED EAPI void         elm_entry_wrap_width_set(Evas_Object *obj, Evas_Coord w);
-   EINA_DEPRECATED EAPI Evas_Coord   elm_entry_wrap_width_get(const Evas_Object *obj);
-   EINA_DEPRECATED EAPI void         elm_entry_fontsize_set(Evas_Object *obj, int fontsize);
-   EINA_DEPRECATED EAPI void         elm_entry_text_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
-   EINA_DEPRECATED EAPI void         elm_entry_text_align_set(Evas_Object *obj, const char *alignmode);
-   EAPI void         elm_entry_background_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
    EAPI void         elm_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format) EINA_ARG_NONNULL(1);
    EAPI void         elm_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format) EINA_ARG_NONNULL(1);
    EAPI void         elm_entry_file_save(Evas_Object *obj) EINA_ARG_NONNULL(1);
@@ -3530,15 +3791,6 @@ extern "C" {
    EAPI Eina_Bool    elm_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI void         elm_entry_cnp_textonly_set(Evas_Object *obj, Eina_Bool textonly) EINA_ARG_NONNULL(1);
    EAPI Eina_Bool    elm_entry_cnp_textonly_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void         elm_entry_autocapitalization_set(Evas_Object *obj, Eina_Bool autocap);
-   EAPI void         elm_entry_autoperiod_set(Evas_Object *obj, Eina_Bool autoperiod);
-   EAPI void         elm_entry_autoenable_returnkey_set(Evas_Object *obj, Eina_Bool on);
-   EAPI void         elm_entry_input_panel_enabled_set(Evas_Object *obj, Eina_Bool enabled);
-   EAPI void         elm_entry_input_panel_layout_set(Evas_Object *obj, Elm_Input_Panel_Layout layout);
-   EAPI Ecore_IMF_Context *elm_entry_imf_context_get(Evas_Object *obj);
-   EAPI void         elm_entry_matchlist_set(Evas_Object *obj, Eina_List *match_list, Eina_Bool case_sensitive);
-   EAPI Eina_Bool    elm_entry_is_empty(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void         elm_entry_magnifier_type_set(Evas_Object *obj, int type) EINA_ARG_NONNULL(1);
    EAPI void         elm_entry_scrollable_set(Evas_Object *obj, Eina_Bool scroll);
    EAPI Eina_Bool    elm_entry_scrollable_get(const Evas_Object *obj);
    EAPI void         elm_entry_icon_set(Evas_Object *obj, Evas_Object *icon);
@@ -3568,6 +3820,22 @@ extern "C" {
         const char *rejected;
      };
    EAPI void         elm_entry_filter_accept_set(void *data, Evas_Object *entry, char **text) EINA_ARG_NONNULL(1, 3);
+   EAPI void         elm_entry_background_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
+   EAPI void         elm_entry_autocapitalization_set(Evas_Object *obj, Eina_Bool autocap);
+   EAPI void         elm_entry_autoperiod_set(Evas_Object *obj, Eina_Bool autoperiod);
+   EAPI void         elm_entry_autoenable_returnkey_set(Evas_Object *obj, Eina_Bool on);
+   EAPI void         elm_entry_input_panel_enabled_set(Evas_Object *obj, Eina_Bool enabled);
+   EAPI void         elm_entry_input_panel_layout_set(Evas_Object *obj, Elm_Input_Panel_Layout layout);
+   EAPI Ecore_IMF_Context *elm_entry_imf_context_get(Evas_Object *obj);
+   EAPI void         elm_entry_matchlist_set(Evas_Object *obj, Eina_List *match_list, Eina_Bool case_sensitive);
+   EAPI void         elm_entry_magnifier_type_set(Evas_Object *obj, int type) EINA_ARG_NONNULL(1);
+
+   EINA_DEPRECATED EAPI void         elm_entry_wrap_width_set(Evas_Object *obj, Evas_Coord w);
+   EINA_DEPRECATED EAPI Evas_Coord   elm_entry_wrap_width_get(const Evas_Object *obj);
+   EINA_DEPRECATED EAPI void         elm_entry_fontsize_set(Evas_Object *obj, int fontsize);
+   EINA_DEPRECATED EAPI void         elm_entry_text_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
+   EINA_DEPRECATED EAPI void         elm_entry_text_align_set(Evas_Object *obj, const char *alignmode);
+
    /* smart callbacks called:
     * "changed" - the text content changed
     * "selection,start" - the user started selecting text
@@ -4885,16 +5153,6 @@ extern "C" {
     * "scroll,edge,right" - the list is scrolled until the right edge
     */
 
-   // FIXME: incomplete - carousel. don't use this until this comment is removed
-   typedef struct _Elm_Carousel_Item Elm_Carousel_Item;
-   EAPI Evas_Object       *elm_carousel_add(Evas_Object *parent);
-   EAPI Elm_Carousel_Item *elm_carousel_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, Evas_Smart_Cb func, const void *data);
-   EAPI void               elm_carousel_item_del(Elm_Carousel_Item *item);
-   EAPI void               elm_carousel_item_select(Elm_Carousel_Item *item);
-   /* smart callbacks called:
-    * "clicked" - when the user clicks on a carousel item and becomes selected
-    */
-
    /* slider */
    EAPI Evas_Object       *elm_slider_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
    EINA_DEPRECATED EAPI void               elm_slider_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
@@ -5097,7 +5355,7 @@ extern "C" {
 
 
    /**
-    * 
+    *
     */
 
    /* genlist */
@@ -5463,11 +5721,6 @@ extern "C" {
     * "changed" - when the radio status is changed
     */
 
-   EAPI Evas_Object *elm_page_control_add(Evas_Object *parent);
-   EAPI void         elm_page_control_page_count_set(Evas_Object *obj, unsigned int page_count);
-   EAPI        void         elm_page_control_page_id_set(Evas_Object *obj, unsigned int page_id);
-   EAPI unsigned int elm_page_control_page_id_get(Evas_Object *obj);
-
    /* pager */
    EAPI Evas_Object *elm_pager_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
    EAPI void         elm_pager_content_push(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
@@ -6800,254 +7053,63 @@ extern "C" {
     * "dismissed" - the ctxpopup was dismissed
     */
 
-   /* colorpalette */
-   typedef struct _Colorpalette_Color Elm_Colorpalette_Color;
-
-   struct _Colorpalette_Color
-     {
-        unsigned int r, g, b;
-     };
-
-   EAPI Evas_Object *elm_colorpalette_add(Evas_Object *parent);
-   EAPI void         elm_colorpalette_color_set(Evas_Object *obj, int color_num, Elm_Colorpalette_Color *color);
-   EAPI void         elm_colorpalette_row_column_set(Evas_Object *obj, int row, int col);
-   /* smart callbacks called:
-    * "clicked" - when image clicked
-    */
-
-   /* editfield */
-   EAPI Evas_Object *elm_editfield_add(Evas_Object *parent);
-   EAPI void         elm_editfield_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_editfield_label_get(Evas_Object *obj);
-   EAPI void         elm_editfield_guide_text_set(Evas_Object *obj, const char *text);
-   EAPI const char  *elm_editfield_guide_text_get(Evas_Object *obj);
-   EAPI Evas_Object *elm_editfield_entry_get(Evas_Object *obj);
-//   EAPI Evas_Object *elm_editfield_clear_button_show(Evas_Object *obj, Eina_Bool show);
-   EAPI void         elm_editfield_right_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_editfield_right_icon_get(Evas_Object *obj);
-   EAPI void         elm_editfield_left_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_editfield_left_icon_get(Evas_Object *obj);
-   EAPI void         elm_editfield_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line);
-   EAPI Eina_Bool    elm_editfield_entry_single_line_get(Evas_Object *obj);
-   EAPI void         elm_editfield_eraser_set(Evas_Object *obj, Eina_Bool visible);
-   EAPI Eina_Bool    elm_editfield_eraser_get(Evas_Object *obj);
-   /* smart callbacks called:
-    * "clicked" - when an editfield is clicked
-    * "unfocused" - when an editfield is unfocused
-    */
-
-
-   /* Sliding Drawer */
-   typedef enum _Elm_SlidingDrawer_Pos
-     {
-        ELM_SLIDINGDRAWER_BOTTOM,
-        ELM_SLIDINGDRAWER_LEFT,
-        ELM_SLIDINGDRAWER_RIGHT,
-        ELM_SLIDINGDRAWER_TOP
-     } Elm_SlidingDrawer_Pos;
-
-   typedef struct _Elm_SlidingDrawer_Drag_Value
-     {
-        double x, y;
-     } Elm_SlidingDrawer_Drag_Value;
-
-   EAPI Evas_Object *elm_slidingdrawer_add(Evas_Object *parent);
-   EAPI void         elm_slidingdrawer_content_set (Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_slidingdrawer_content_unset(Evas_Object *obj);
-   EAPI void         elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos);
-   EAPI void         elm_slidingdrawer_max_drag_value_set(Evas_Object *obj, double dw,  double dh);
-   EAPI void         elm_slidingdrawer_drag_value_set(Evas_Object *obj, double dx, double dy);
-
-   /* multibuttonentry */
-   typedef struct _Multibuttonentry_Item Elm_Multibuttonentry_Item;
-   typedef Eina_Bool (*Elm_Multibuttonentry_Item_Verify_Callback) (Evas_Object *obj, const char *item_label, void *item_data, void *data);
-   EAPI Evas_Object               *elm_multibuttonentry_add(Evas_Object *parent);
-   EAPI const char                *elm_multibuttonentry_label_get(Evas_Object *obj);
-   EAPI void                       elm_multibuttonentry_label_set(Evas_Object *obj, const char *label);
-   EAPI Evas_Object               *elm_multibuttonentry_entry_get(Evas_Object *obj);
-   EAPI const char *               elm_multibuttonentry_guide_text_get(Evas_Object *obj);
-   EAPI void                       elm_multibuttonentry_guide_text_set(Evas_Object *obj, const char *guidetext);
-   EAPI int                        elm_multibuttonentry_contracted_state_get(Evas_Object *obj);
-   EAPI void                       elm_multibuttonentry_contracted_state_set(Evas_Object *obj, int contracted);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_start(Evas_Object *obj, const char *label, void *data);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_end(Evas_Object *obj, const char *label, void *data);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_before(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *before, void *data);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_after(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *after, void *data);
-   EAPI const Eina_List           *elm_multibuttonentry_items_get(Evas_Object *obj);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_first_get(Evas_Object *obj);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_last_get(Evas_Object *obj);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_selected_get(Evas_Object *obj);
-   EAPI void                       elm_multibuttonentry_item_selected_set(Elm_Multibuttonentry_Item *item);
-   EAPI void                       elm_multibuttonentry_item_unselect_all(Evas_Object *obj);
-   EAPI void                       elm_multibuttonentry_item_del(Elm_Multibuttonentry_Item *item);
-   EAPI void                       elm_multibuttonentry_items_del(Evas_Object *obj);
-   EAPI const char                *elm_multibuttonentry_item_label_get(Elm_Multibuttonentry_Item *item);
-   EAPI void                       elm_multibuttonentry_item_label_set(Elm_Multibuttonentry_Item *item, const char *str);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_prev(Elm_Multibuttonentry_Item *item);
-   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_next(Elm_Multibuttonentry_Item *item);
-   EAPI void                      *elm_multibuttonentry_item_data_get(Elm_Multibuttonentry_Item *item);
-   EAPI void                       elm_multibuttonentry_item_data_set(Elm_Multibuttonentry_Item *item, void *data);
-   EAPI void                       elm_multibuttonentry_item_verify_callback_set(Evas_Object *obj, Elm_Multibuttonentry_Item_Verify_Callback func, void *data);
-   /* smart callback called:
-    * "selected" - This signal is emitted when the selected item of multibuttonentry is changed.
-    * "added" - This signal is emitted when a new multibuttonentry item is added.
-    * "deleted" - This signal is emitted when a multibuttonentry item is deleted.
-    * "expanded" - This signal is emitted when a multibuttonentry is expanded.
-    * "contracted" - This signal is emitted when a multibuttonentry is contracted.
-    * "contracted,state,changed" - This signal is emitted when the contracted state of multibuttonentry is changed.
-    * "item,selected" - This signal is emitted when the selected item of multibuttonentry is changed.
-    * "item,added" - This signal is emitted when a new multibuttonentry item is added.
-    * "item,deleted" - This signal is emitted when a multibuttonentry item is deleted.
-    * "item,clicked" - This signal is emitted when a multibuttonentry item is clicked.
-    * "clicked" - This signal is emitted when a multibuttonentry is clicked.
-    * "unfocused" - This signal is emitted when a multibuttonentry is unfocused.
-    */
-   /* available styles:
-    * default
-    */
-
-   /* stackedicon */
-   typedef struct _Stackedicon_Item Elm_Stackedicon_Item;
-   EAPI Evas_Object          *elm_stackedicon_add(Evas_Object *parent);
-   EAPI Elm_Stackedicon_Item *elm_stackedicon_item_append(Evas_Object *obj, const char *path);
-   EAPI Elm_Stackedicon_Item *elm_stackedicon_item_prepend(Evas_Object *obj, const char *path);
-   EAPI void                  elm_stackedicon_item_del(Elm_Stackedicon_Item *it);
-   EAPI Eina_List            *elm_stackedicon_item_list_get(Evas_Object *obj);
-   /* smart callback called:
-    * "expanded" - This signal is emitted when a stackedicon is expanded.
-    * "clicked" - This signal is emitted when a stackedicon is clicked.
-    */
-   /* available styles:
-    * default
-    */
-
-   /* dialoguegroup */
-   typedef struct _Dialogue_Item Dialogue_Item;
-
-   typedef enum _Elm_Dialoguegourp_Item_Style
-     {
-        ELM_DIALOGUEGROUP_ITEM_STYLE_DEFAULT = 0,
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD = (1 << 0),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD_WITH_TITLE = (1 << 1),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_TITLE = (1 << 2),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_HIDDEN = (1 << 3),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_DATAVIEW = (1 << 4),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_NO_BG = (1 << 5),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_SUB = (1 << 6),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT = (1 << 7),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_MERGE = (1 << 8),
-        ELM_DIALOGUEGROUP_ITEM_STYLE_LAST = (1 << 9)
-     } Elm_Dialoguegroup_Item_Style;
-
-   EINA_DEPRECATED EAPI Evas_Object   *elm_dialoguegroup_add(Evas_Object *parent);
-   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_append(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_prepend(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_insert_after(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *after, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_insert_before(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *before, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_remove(Dialogue_Item *item);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_remove_all(Evas_Object *obj);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_title_set(Evas_Object *obj, const char *title);
-   EINA_DEPRECATED EAPI const char    *elm_dialoguegroup_title_get(Evas_Object *obj);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_press_effect_set(Dialogue_Item *item, Eina_Bool press);
-   EINA_DEPRECATED EAPI Eina_Bool      elm_dialoguegroup_press_effect_get(Dialogue_Item *item);
-   EINA_DEPRECATED EAPI Evas_Object   *elm_dialoguegroup_item_content_get(Dialogue_Item *item);
-   EINA_DEPRECATED EAPI void          elm_dialoguegroup_item_style_set(Dialogue_Item *item, Elm_Dialoguegroup_Item_Style style);
-   EINA_DEPRECATED EAPI Elm_Dialoguegroup_Item_Style   elm_dialoguegroup_item_style_get(Dialogue_Item *item);
-   EINA_DEPRECATED EAPI void           elm_dialoguegroup_item_disabled_set(Dialogue_Item *item, Eina_Bool disabled);
-   EINA_DEPRECATED EAPI Eina_Bool      elm_dialoguegroup_item_disabled_get(Dialogue_Item *item);
-
-   /* Dayselector */
-   typedef enum
-     {
-        ELM_DAYSELECTOR_SUN,
-        ELM_DAYSELECTOR_MON,
-        ELM_DAYSELECTOR_TUE,
-        ELM_DAYSELECTOR_WED,
-        ELM_DAYSELECTOR_THU,
-        ELM_DAYSELECTOR_FRI,
-        ELM_DAYSELECTOR_SAT
-     } Elm_DaySelector_Day;
-
-   EAPI Evas_Object *elm_dayselector_add(Evas_Object *parent);
-   EAPI Eina_Bool    elm_dayselector_check_state_get(Evas_Object *obj, Elm_DaySelector_Day day);
-   EAPI void         elm_dayselector_check_state_set(Evas_Object *obj, Elm_DaySelector_Day day, Eina_Bool checked);
-
-   /* Image Slider */
-   typedef struct _Imageslider_Item Elm_Imageslider_Item;
-   typedef void (*Elm_Imageslider_Cb)(void *data, Evas_Object *obj, void *event_info);
-   EAPI Evas_Object           *elm_imageslider_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
-   EAPI Elm_Imageslider_Item  *elm_imageslider_item_append(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data) EINA_ARG_NONNULL(1);
-   EAPI Elm_Imageslider_Item  *elm_imageslider_item_append_relative(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, unsigned int index, void *data) EINA_ARG_NONNULL(1);
-   EAPI Elm_Imageslider_Item  *elm_imageslider_item_prepend(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data) EINA_ARG_NONNULL(1);
-   EAPI void                   elm_imageslider_item_del(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
-   EAPI Elm_Imageslider_Item  *elm_imageslider_selected_item_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI Eina_Bool              elm_imageslider_item_selected_get(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
-   EAPI void                   elm_imageslider_item_selected_set(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
-   EAPI const char            *elm_imageslider_item_photo_file_get(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
-   EAPI Elm_Imageslider_Item  *elm_imageslider_item_prev(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
-   EAPI Elm_Imageslider_Item  *elm_imageslider_item_next(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
-   EAPI void                   elm_imageslider_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void                   elm_imageslider_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
-   EAPI void                   elm_imageslider_item_photo_file_set(Elm_Imageslider_Item *it, const char *photo_file) EINA_ARG_NONNULL(1,2);
-   EAPI void                   elm_imageslider_item_update(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
-
-   /* transit */
-   /**
-    *
-    * @defgroup Transit Transit
-    * @ingroup Elementary
-    *
-    * Transit is designed to apply various animated transition effects to @c
-    * Evas_Object, such like translation, rotation, etc. For using these
-    * effects, create an @ref Elm_Transit and add the desired transition effects.
-    *
-    * Once the effects are added into transit, they will be automatically
-    * managed (their callback will be called until the duration is ended, and
-    * they will be deleted on completion).
-    *
-    * Example:
-    * @code
-    * Elm_Transit *trans = elm_transit_add();
-    * elm_transit_object_add(trans, obj);
-    * elm_transit_effect_translation_add(trans, 0, 0, 280, 280
-    * elm_transit_duration_set(transit, 1);
-    * elm_transit_auto_reverse_set(transit, EINA_TRUE);
-    * elm_transit_tween_mode_set(transit, ELM_TRANSIT_TWEEN_MODE_DECELERATE);
-    * elm_transit_repeat_times_set(transit, 3);
-    * @endcode
-    *
-    * Some transition effects are used to change the properties of objects. They
-    * are:
-    * @li @ref elm_transit_effect_translation_add
-    * @li @ref elm_transit_effect_color_add
-    * @li @ref elm_transit_effect_rotation_add
-    * @li @ref elm_transit_effect_wipe_add
-    * @li @ref elm_transit_effect_zoom_add
-    * @li @ref elm_transit_effect_resizing_add
-    *
-    * Other transition effects are used to make one object disappear and another
-    * object appear on its old place. These effects are:
-    *
-    * @li @ref elm_transit_effect_flip_add
-    * @li @ref elm_transit_effect_resizable_flip_add
-    * @li @ref elm_transit_effect_fade_add
-    * @li @ref elm_transit_effect_blend_add
-    *
-    * It's also possible to make a transition chain with @ref
-    * elm_transit_chain_transit_add.
-    *
-    * @warning We strongly recommend to use elm_transit just when edje can not do
-    * the trick. Edje has more advantage than Elm_Transit, it has more flexibility and
-    * animations can be manipulated inside the theme.
-    *
-    * List of examples:
-    * @li @ref transit_example_01_explained
-    * @li @ref transit_example_02_explained
-    * @li @ref transit_example_03_c
-    * @li @ref transit_example_04_c
-    *
-    * @{
-    */
+   /* transit */
+   /**
+    *
+    * @defgroup Transit Transit
+    * @ingroup Elementary
+    *
+    * Transit is designed to apply various animated transition effects to @c
+    * Evas_Object, such like translation, rotation, etc. For using these
+    * effects, create an @ref Elm_Transit and add the desired transition effects.
+    *
+    * Once the effects are added into transit, they will be automatically
+    * managed (their callback will be called until the duration is ended, and
+    * they will be deleted on completion).
+    *
+    * Example:
+    * @code
+    * Elm_Transit *trans = elm_transit_add();
+    * elm_transit_object_add(trans, obj);
+    * elm_transit_effect_translation_add(trans, 0, 0, 280, 280
+    * elm_transit_duration_set(transit, 1);
+    * elm_transit_auto_reverse_set(transit, EINA_TRUE);
+    * elm_transit_tween_mode_set(transit, ELM_TRANSIT_TWEEN_MODE_DECELERATE);
+    * elm_transit_repeat_times_set(transit, 3);
+    * @endcode
+    *
+    * Some transition effects are used to change the properties of objects. They
+    * are:
+    * @li @ref elm_transit_effect_translation_add
+    * @li @ref elm_transit_effect_color_add
+    * @li @ref elm_transit_effect_rotation_add
+    * @li @ref elm_transit_effect_wipe_add
+    * @li @ref elm_transit_effect_zoom_add
+    * @li @ref elm_transit_effect_resizing_add
+    *
+    * Other transition effects are used to make one object disappear and another
+    * object appear on its old place. These effects are:
+    *
+    * @li @ref elm_transit_effect_flip_add
+    * @li @ref elm_transit_effect_resizable_flip_add
+    * @li @ref elm_transit_effect_fade_add
+    * @li @ref elm_transit_effect_blend_add
+    *
+    * It's also possible to make a transition chain with @ref
+    * elm_transit_chain_transit_add.
+    *
+    * @warning We strongly recommend to use elm_transit just when edje can not do
+    * the trick. Edje has more advantage than Elm_Transit, it has more flexibility and
+    * animations can be manipulated inside the theme.
+    *
+    * List of examples:
+    * @li @ref transit_example_01_explained
+    * @li @ref transit_example_02_explained
+    * @li @ref transit_example_03_c
+    * @li @ref transit_example_04_c
+    *
+    * @{
+    */
 
    /**
     * @enum Elm_Transit_Tween_Mode
@@ -7539,7 +7601,7 @@ extern "C" {
     * @param transit The transit object.
     * @param chain_transit The chain transit object.
     *
-    * This function remove the @p chain_transit transition from the @p transit. 
+    * This function remove the @p chain_transit transition from the @p transit.
     *
     * @ingroup Transit
     */
@@ -7948,37 +8010,6 @@ extern "C" {
    EAPI const Elm_Store        *elm_store_item_store_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
    EAPI const Elm_Genlist_Item *elm_store_item_genlist_item_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
 
-   /* NoContents */
-   EAPI Evas_Object *elm_nocontents_add(Evas_Object *parent);
-   EAPI void         elm_nocontents_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_nocontents_label_get(const Evas_Object *obj);
-   EAPI void         elm_nocontents_custom_set(const Evas_Object *obj, Evas_Object *custom);
-   EAPI Evas_Object *elm_nocontents_custom_get(const Evas_Object *obj);
-
-   /* TickerNoti */
-   typedef enum
-     {
-        ELM_TICKERNOTI_DEFAULT,
-        ELM_TICKERNOTI_DETAILVIEW
-     } Elm_Tickernoti_Mode;
-
-   EAPI Evas_Object         *elm_tickernoti_add (Evas_Object *parent);
-   EAPI void                 elm_tickernoti_icon_set (const Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object         *elm_tickernoti_icon_get (const Evas_Object *obj);
-   EAPI void                 elm_tickernoti_label_set (Evas_Object *obj, const char *label);
-   EAPI const char          *elm_tickernoti_label_get (const Evas_Object *obj);
-   EAPI void                elm_tickernoti_detailview_label_set (Evas_Object *obj, const char *label);
-   EAPI const char          *elm_tickernoti_detailview_label_get (const Evas_Object *obj);
-   EAPI void                 elm_tickernoti_detailview_button_set (const Evas_Object *obj, Evas_Object *button);
-   EAPI Evas_Object         *elm_tickernoti_detailview_button_get (const Evas_Object *obj);
-   EAPI void                 elm_tickernoti_detailview_icon_set (const Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object         *elm_tickernoti_detailview_icon_get (const Evas_Object *obj);
-   EAPI Evas_Object         *elm_tickernoti_detailview_get (const Evas_Object *obj);
-   EAPI int                  elm_tickernoti_rotation_get (const Evas_Object *obj);
-   EAPI void                 elm_tickernoti_rotation_set (const Evas_Object *obj, int angle);
-   EAPI void                 elm_tickernoti_mode_set (const Evas_Object *obj, Elm_Tickernoti_Mode mode);
-   EAPI Elm_Tickernoti_Mode  elm_tickernoti_mode_get (const Evas_Object *obj);
-
    /* SegmentControl */
    typedef struct _Elm_Segment_Item Elm_Segment_Item;
    EAPI Evas_Object      *elm_segment_control_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
@@ -8037,6 +8068,16 @@ extern "C" {
    EAPI Evas_Object *elm_player_add(Evas_Object *parent);
    EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
 
+   // FIXME: incomplete - carousel. don't use this until this comment is removed
+   typedef struct _Elm_Carousel_Item Elm_Carousel_Item;
+   EAPI Evas_Object       *elm_carousel_add(Evas_Object *parent);
+   EAPI Elm_Carousel_Item *elm_carousel_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, Evas_Smart_Cb func, const void *data);
+   EAPI void               elm_carousel_item_del(Elm_Carousel_Item *item);
+   EAPI void               elm_carousel_item_select(Elm_Carousel_Item *item);
+   /* smart callbacks called:
+    * "clicked" - when the user clicks on a carousel item and becomes selected
+    */
+
    /* datefield */
    typedef enum _Elm_Datefield_Layout
      {
@@ -8115,6 +8156,9 @@ extern "C" {
    EAPI int          elm_popup_run(Evas_Object *obj);
 
    /* NavigationBar */
+   #define NAVIBAR_TITLEOBJ_INSTANT_HIDE "elm,state,hide,noanimate,title", "elm"
+   #define NAVIBAR_TITLEOBJ_INSTANT_SHOW "elm,state,show,noanimate,title", "elm"
+
    typedef enum
      {
         ELM_NAVIGATIONBAR_FUNCTION_BUTTON1,
@@ -8130,6 +8174,7 @@ extern "C" {
    EAPI void         elm_navigationbar_title_label_set(Evas_Object *obj, Evas_Object *content, const char *title);
    EAPI const char  *elm_navigationbar_title_label_get(Evas_Object *obj, Evas_Object *content);
    EAPI void         elm_navigationbar_title_object_add(Evas_Object *obj, Evas_Object *content, Evas_Object *title_obj);
+   EAPI Evas_Object *elm_navigationbar_title_object_get(Evas_Object *obj, Evas_Object *content);
    EAPI Eina_List   *elm_navigationbar_title_object_list_get(Evas_Object *obj, Evas_Object *content);
    EAPI Evas_Object *elm_navigationbar_content_top_get(Evas_Object *obj);
    EAPI Evas_Object *elm_navigationbar_content_bottom_get(Evas_Object *obj);
@@ -8145,7 +8190,10 @@ extern "C" {
    EAPI void         elm_navigationbar_title_icon_set(Evas_Object *obj, Evas_Object *content, Evas_Object *icon);
    EAPI Evas_Object *elm_navigationbar_title_icon_get(Evas_Object *obj, Evas_Object *content);
 
-     /* NavigationBar */
+   /* NavigationBar */
+   #define NAVIBAR_EX_TITLEOBJ_INSTANT_HIDE "elm,state,hide,noanimate,title", "elm"
+   #define NAVIBAR_EX_TITLEOBJ_INSTANT_SHOW "elm,state,show,noanimate,title", "elm"
+
    typedef enum
      {
         ELM_NAVIGATIONBAR_EX_BACK_BUTTON,
@@ -8185,6 +8233,23 @@ extern "C" {
    EAPI void         elm_navigationbar_ex_title_object_visible_set(Elm_Navigationbar_ex_Item* item, Eina_Bool visible);
    Eina_Bool         elm_navigationbar_ex_title_object_visible_get(Elm_Navigationbar_ex_Item* item);
 
+  /* naviframe */
+  #define ELM_NAVIFRAME_ITEM_ICON "elm.swallow.icon"
+  #define ELM_NAVIFRAME_ITEM_OPTIONHEADER "elm.swallow.optionheader"
+  #define ELM_NAVIFRAME_ITEM_TITLE_LABEL "elm.text.title"
+  #define ELM_NAVIFRAME_ITEM_PREV_BTN "elm.swallow.prev_btn"
+
+   EAPI Evas_Object        *elm_naviframe_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   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);
+   EAPI Evas_Object        *elm_naviframe_item_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_naviframe_content_preserve_on_pop_set(Evas_Object *obj, Eina_Bool preserve) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool           elm_naviframe_content_preserve_on_pop_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item    *elm_naviframe_top_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Object_Item    *elm_naviframe_bottom_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_naviframe_item_style_set(Elm_Object_Item *it, const char *item_style) EINA_ARG_NONNULL(1);
+   EAPI const char         *elm_naviframe_item_style_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void                elm_naviframe_item_title_visible_set(Elm_Object_Item *it, Eina_Bool visible) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool           elm_naviframe_item_title_visible_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
 
    /* Control Bar */
    #define CONTROLBAR_SYSTEM_ICON_ALBUMS "controlbar_albums"
@@ -8253,11 +8318,257 @@ extern "C" {
    EAPI void         elm_searchbar_text_set(Evas_Object *obj, const char *entry);
    EAPI const char  *elm_searchbar_text_get(Evas_Object *obj);
    EAPI Evas_Object *elm_searchbar_entry_get(Evas_Object *obj);
+   EAPI Evas_Object *elm_searchbar_editfield_get(Evas_Object *obj);
    EAPI void         elm_searchbar_cancel_button_animation_set(Evas_Object *obj, Eina_Bool cancel_btn_ani_flag);
    EAPI void         elm_searchbar_cancel_button_set(Evas_Object *obj, Eina_Bool visible);
    EAPI void         elm_searchbar_clear(Evas_Object *obj);
    EAPI void         elm_searchbar_boundary_rect_set(Evas_Object *obj, Eina_Bool boundary);
 
+   EAPI Evas_Object *elm_page_control_add(Evas_Object *parent);
+   EAPI void         elm_page_control_page_count_set(Evas_Object *obj, unsigned int page_count);
+   EAPI        void         elm_page_control_page_id_set(Evas_Object *obj, unsigned int page_id);
+   EAPI unsigned int elm_page_control_page_id_get(Evas_Object *obj);
+
+   /* NoContents */
+   EAPI Evas_Object *elm_nocontents_add(Evas_Object *parent);
+   EAPI void         elm_nocontents_label_set(Evas_Object *obj, const char *label);
+   EAPI const char  *elm_nocontents_label_get(const Evas_Object *obj);
+   EAPI void         elm_nocontents_custom_set(const Evas_Object *obj, Evas_Object *custom);
+   EAPI Evas_Object *elm_nocontents_custom_get(const Evas_Object *obj);
+
+/* TickerNoti */
+typedef enum
+  {
+     ELM_TICKERNOTI_DEFAULT,
+     ELM_TICKERNOTI_DETAILVIEW
+  } Elm_Tickernoti_Mode;
+
+typedef enum
+  {
+     ELM_TICKERNOTI_ORIENT_TOP,
+     ELM_TICKERNOTI_ORIENT_BOTTOM
+  } Elm_Tickernoti_Orient;
+
+   EAPI Evas_Object              *elm_tickernoti_add (Evas_Object *parent);
+   EAPI void                      elm_tickernoti_icon_set (Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object              *elm_tickernoti_icon_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                      elm_tickernoti_label_set (Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char               *elm_tickernoti_label_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                      elm_tickernoti_button_set (Evas_Object *obj, Evas_Object *button) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object              *elm_tickernoti_button_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                      elm_tickernoti_orientation_set (Evas_Object *obj, Elm_Tickernoti_Orient orient) EINA_ARG_NONNULL(1);
+   EAPI Elm_Tickernoti_Orient     elm_tickernoti_orientation_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI int                       elm_tickernoti_rotation_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                      elm_tickernoti_rotation_set (Evas_Object *obj, int angle) EINA_ARG_NONNULL(1);
+   /* #### Below APIs are going to be deprecated, announcment will be made soon ####*/
+   EAPI Evas_Object              *elm_tickernoti_win_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                      elm_tickernoti_detailview_label_set (Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char               *elm_tickernoti_detailview_label_get (const Evas_Object *obj)EINA_ARG_NONNULL(1);
+   EAPI void                      elm_tickernoti_detailview_button_set (Evas_Object *obj, Evas_Object *button) EINA_ARG_NONNULL(2);
+   EAPI Evas_Object              *elm_tickernoti_detailview_button_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                      elm_tickernoti_detailview_icon_set (Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object              *elm_tickernoti_detailview_icon_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object              *elm_tickernoti_detailview_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                      elm_tickernoti_mode_set (Evas_Object *obj, Elm_Tickernoti_Mode mode) EINA_ARG_NONNULL(1);
+   EAPI Elm_Tickernoti_Mode       elm_tickernoti_mode_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /* ############################################################################### */
+   /* smart callbacks called:
+    * @li "clicked" - emitted when tickernoti is clicked, except at the
+    * swallow/button region, if any.
+    * @li "hide" - emitted when the tickernoti is completelyhidden. In case of
+    * any hide animation, this signal is raised after the animation.
+    */
+
+   /* colorpalette */
+   typedef struct _Colorpalette_Color Elm_Colorpalette_Color;
+
+   struct _Colorpalette_Color
+     {
+        unsigned int r, g, b;
+     };
+
+   EAPI Evas_Object *elm_colorpalette_add(Evas_Object *parent);
+   EAPI void         elm_colorpalette_color_set(Evas_Object *obj, int color_num, Elm_Colorpalette_Color *color);
+   EAPI void         elm_colorpalette_row_column_set(Evas_Object *obj, int row, int col);
+   /* smart callbacks called:
+    * "clicked" - when image clicked
+    */
+
+   /* editfield */
+   EAPI Evas_Object *elm_editfield_add(Evas_Object *parent);
+   EAPI void         elm_editfield_label_set(Evas_Object *obj, const char *label);
+   EAPI const char  *elm_editfield_label_get(Evas_Object *obj);
+   EAPI void         elm_editfield_guide_text_set(Evas_Object *obj, const char *text);
+   EAPI const char  *elm_editfield_guide_text_get(Evas_Object *obj);
+   EAPI Evas_Object *elm_editfield_entry_get(Evas_Object *obj);
+//   EAPI Evas_Object *elm_editfield_clear_button_show(Evas_Object *obj, Eina_Bool show);
+   EAPI void         elm_editfield_right_icon_set(Evas_Object *obj, Evas_Object *icon);
+   EAPI Evas_Object *elm_editfield_right_icon_get(Evas_Object *obj);
+   EAPI void         elm_editfield_left_icon_set(Evas_Object *obj, Evas_Object *icon);
+   EAPI Evas_Object *elm_editfield_left_icon_get(Evas_Object *obj);
+   EAPI void         elm_editfield_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line);
+   EAPI Eina_Bool    elm_editfield_entry_single_line_get(Evas_Object *obj);
+   EAPI void         elm_editfield_eraser_set(Evas_Object *obj, Eina_Bool visible);
+   EAPI Eina_Bool    elm_editfield_eraser_get(Evas_Object *obj);
+   /* smart callbacks called:
+    * "clicked" - when an editfield is clicked
+    * "unfocused" - when an editfield is unfocused
+    */
+
+
+   /* Sliding Drawer */
+   typedef enum _Elm_SlidingDrawer_Pos
+     {
+        ELM_SLIDINGDRAWER_BOTTOM,
+        ELM_SLIDINGDRAWER_LEFT,
+        ELM_SLIDINGDRAWER_RIGHT,
+        ELM_SLIDINGDRAWER_TOP
+     } Elm_SlidingDrawer_Pos;
+
+   typedef struct _Elm_SlidingDrawer_Drag_Value
+     {
+        double x, y;
+     } Elm_SlidingDrawer_Drag_Value;
+
+   EINA_DEPRECATED EAPI Evas_Object *elm_slidingdrawer_add(Evas_Object *parent);
+   EINA_DEPRECATED EAPI void         elm_slidingdrawer_content_set (Evas_Object *obj, Evas_Object *content);
+   EINA_DEPRECATED EAPI Evas_Object *elm_slidingdrawer_content_unset(Evas_Object *obj);
+   EINA_DEPRECATED EAPI void         elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos);
+   EINA_DEPRECATED EAPI void         elm_slidingdrawer_max_drag_value_set(Evas_Object *obj, double dw,  double dh);
+   EINA_DEPRECATED EAPI void         elm_slidingdrawer_drag_value_set(Evas_Object *obj, double dx, double dy);
+
+   /* multibuttonentry */
+   typedef struct _Multibuttonentry_Item Elm_Multibuttonentry_Item;
+   typedef Eina_Bool (*Elm_Multibuttonentry_Item_Verify_Callback) (Evas_Object *obj, const char *item_label, void *item_data, void *data);
+   EAPI Evas_Object               *elm_multibuttonentry_add(Evas_Object *parent);
+   EAPI const char                *elm_multibuttonentry_label_get(Evas_Object *obj);
+   EAPI void                       elm_multibuttonentry_label_set(Evas_Object *obj, const char *label);
+   EAPI Evas_Object               *elm_multibuttonentry_entry_get(Evas_Object *obj);
+   EAPI const char *               elm_multibuttonentry_guide_text_get(Evas_Object *obj);
+   EAPI void                       elm_multibuttonentry_guide_text_set(Evas_Object *obj, const char *guidetext);
+   EAPI int                        elm_multibuttonentry_contracted_state_get(Evas_Object *obj);
+   EAPI void                       elm_multibuttonentry_contracted_state_set(Evas_Object *obj, int contracted);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_start(Evas_Object *obj, const char *label, void *data);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_end(Evas_Object *obj, const char *label, void *data);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_before(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *before, void *data);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_after(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *after, void *data);
+   EAPI const Eina_List           *elm_multibuttonentry_items_get(Evas_Object *obj);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_first_get(Evas_Object *obj);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_last_get(Evas_Object *obj);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_selected_get(Evas_Object *obj);
+   EAPI void                       elm_multibuttonentry_item_selected_set(Elm_Multibuttonentry_Item *item);
+   EAPI void                       elm_multibuttonentry_item_unselect_all(Evas_Object *obj);
+   EAPI void                       elm_multibuttonentry_item_del(Elm_Multibuttonentry_Item *item);
+   EAPI void                       elm_multibuttonentry_items_del(Evas_Object *obj);
+   EAPI const char                *elm_multibuttonentry_item_label_get(Elm_Multibuttonentry_Item *item);
+   EAPI void                       elm_multibuttonentry_item_label_set(Elm_Multibuttonentry_Item *item, const char *str);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_prev(Elm_Multibuttonentry_Item *item);
+   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_next(Elm_Multibuttonentry_Item *item);
+   EAPI void                      *elm_multibuttonentry_item_data_get(Elm_Multibuttonentry_Item *item);
+   EAPI void                       elm_multibuttonentry_item_data_set(Elm_Multibuttonentry_Item *item, void *data);
+   EAPI void                       elm_multibuttonentry_item_verify_callback_set(Evas_Object *obj, Elm_Multibuttonentry_Item_Verify_Callback func, void *data);
+   /* smart callback called:
+    * "selected" - This signal is emitted when the selected item of multibuttonentry is changed.
+    * "added" - This signal is emitted when a new multibuttonentry item is added.
+    * "deleted" - This signal is emitted when a multibuttonentry item is deleted.
+    * "expanded" - This signal is emitted when a multibuttonentry is expanded.
+    * "contracted" - This signal is emitted when a multibuttonentry is contracted.
+    * "contracted,state,changed" - This signal is emitted when the contracted state of multibuttonentry is changed.
+    * "item,selected" - This signal is emitted when the selected item of multibuttonentry is changed.
+    * "item,added" - This signal is emitted when a new multibuttonentry item is added.
+    * "item,deleted" - This signal is emitted when a multibuttonentry item is deleted.
+    * "item,clicked" - This signal is emitted when a multibuttonentry item is clicked.
+    * "clicked" - This signal is emitted when a multibuttonentry is clicked.
+    * "unfocused" - This signal is emitted when a multibuttonentry is unfocused.
+    */
+   /* available styles:
+    * default
+    */
+
+   /* stackedicon */
+   typedef struct _Stackedicon_Item Elm_Stackedicon_Item;
+   EAPI Evas_Object          *elm_stackedicon_add(Evas_Object *parent);
+   EAPI Elm_Stackedicon_Item *elm_stackedicon_item_append(Evas_Object *obj, const char *path);
+   EAPI Elm_Stackedicon_Item *elm_stackedicon_item_prepend(Evas_Object *obj, const char *path);
+   EAPI void                  elm_stackedicon_item_del(Elm_Stackedicon_Item *it);
+   EAPI Eina_List            *elm_stackedicon_item_list_get(Evas_Object *obj);
+   /* smart callback called:
+    * "expanded" - This signal is emitted when a stackedicon is expanded.
+    * "clicked" - This signal is emitted when a stackedicon is clicked.
+    */
+   /* available styles:
+    * default
+    */
+
+   /* dialoguegroup */
+   typedef struct _Dialogue_Item Dialogue_Item;
+
+   typedef enum _Elm_Dialoguegourp_Item_Style
+     {
+        ELM_DIALOGUEGROUP_ITEM_STYLE_DEFAULT = 0,
+        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD = (1 << 0),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD_WITH_TITLE = (1 << 1),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_TITLE = (1 << 2),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_HIDDEN = (1 << 3),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_DATAVIEW = (1 << 4),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_NO_BG = (1 << 5),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_SUB = (1 << 6),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT = (1 << 7),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_MERGE = (1 << 8),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_LAST = (1 << 9)
+     } Elm_Dialoguegroup_Item_Style;
+
+   EINA_DEPRECATED EAPI Evas_Object   *elm_dialoguegroup_add(Evas_Object *parent);
+   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_append(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);
+   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_prepend(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);
+   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_insert_after(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *after, Elm_Dialoguegroup_Item_Style style);
+   EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_insert_before(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *before, Elm_Dialoguegroup_Item_Style style);
+   EINA_DEPRECATED EAPI void           elm_dialoguegroup_remove(Dialogue_Item *item);
+   EINA_DEPRECATED EAPI void           elm_dialoguegroup_remove_all(Evas_Object *obj);
+   EINA_DEPRECATED EAPI void           elm_dialoguegroup_title_set(Evas_Object *obj, const char *title);
+   EINA_DEPRECATED EAPI const char    *elm_dialoguegroup_title_get(Evas_Object *obj);
+   EINA_DEPRECATED EAPI void           elm_dialoguegroup_press_effect_set(Dialogue_Item *item, Eina_Bool press);
+   EINA_DEPRECATED EAPI Eina_Bool      elm_dialoguegroup_press_effect_get(Dialogue_Item *item);
+   EINA_DEPRECATED EAPI Evas_Object   *elm_dialoguegroup_item_content_get(Dialogue_Item *item);
+   EINA_DEPRECATED EAPI void          elm_dialoguegroup_item_style_set(Dialogue_Item *item, Elm_Dialoguegroup_Item_Style style);
+   EINA_DEPRECATED EAPI Elm_Dialoguegroup_Item_Style   elm_dialoguegroup_item_style_get(Dialogue_Item *item);
+   EINA_DEPRECATED EAPI void           elm_dialoguegroup_item_disabled_set(Dialogue_Item *item, Eina_Bool disabled);
+   EINA_DEPRECATED EAPI Eina_Bool      elm_dialoguegroup_item_disabled_get(Dialogue_Item *item);
+
+   /* Dayselector */
+   typedef enum
+     {
+        ELM_DAYSELECTOR_SUN,
+        ELM_DAYSELECTOR_MON,
+        ELM_DAYSELECTOR_TUE,
+        ELM_DAYSELECTOR_WED,
+        ELM_DAYSELECTOR_THU,
+        ELM_DAYSELECTOR_FRI,
+        ELM_DAYSELECTOR_SAT
+     } Elm_DaySelector_Day;
+
+   EAPI Evas_Object *elm_dayselector_add(Evas_Object *parent);
+   EAPI Eina_Bool    elm_dayselector_check_state_get(Evas_Object *obj, Elm_DaySelector_Day day);
+   EAPI void         elm_dayselector_check_state_set(Evas_Object *obj, Elm_DaySelector_Day day, Eina_Bool checked);
+
+   /* Image Slider */
+   typedef struct _Imageslider_Item Elm_Imageslider_Item;
+   typedef void (*Elm_Imageslider_Cb)(void *data, Evas_Object *obj, void *event_info);
+   EAPI Evas_Object           *elm_imageslider_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Elm_Imageslider_Item  *elm_imageslider_item_append(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Imageslider_Item  *elm_imageslider_item_append_relative(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, unsigned int index, void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Imageslider_Item  *elm_imageslider_item_prepend(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_imageslider_item_del(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   EAPI Elm_Imageslider_Item  *elm_imageslider_selected_item_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool              elm_imageslider_item_selected_get(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_imageslider_item_selected_set(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   EAPI const char            *elm_imageslider_item_photo_file_get(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   EAPI Elm_Imageslider_Item  *elm_imageslider_item_prev(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   EAPI Elm_Imageslider_Item  *elm_imageslider_item_next(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_imageslider_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_imageslider_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_imageslider_item_photo_file_set(Elm_Imageslider_Item *it, const char *photo_file) EINA_ARG_NONNULL(1,2);
+   EAPI void                   elm_imageslider_item_update(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
 #ifdef __cplusplus
 }
 #endif