*
* Smart callbacks one can listen to:
* - "clicked" - when the user clicks on a toolbar item and becomes selected.
- * - "language,changed" - when the program language changes
+ * - "longpressed" - when the toolbar is pressed for a certain amount of time.
+ * - "language,changed" - when the program language changes.
*
* Available styles for it:
* - @c "default"
* @li "default" - label of the toolbar item
*
* Supported elm_object_item common APIs.
- * @li elm_object_item_disabled_set
- * @li elm_object_item_text_set
- * @li elm_object_item_part_text_set
- * @li elm_object_item_text_get
- * @li elm_object_item_part_text_get
+ * @li @ref elm_object_item_disabled_set
+ * @li @ref elm_object_item_disabled_get
+ * @li @ref elm_object_item_part_text_set
+ * @li @ref elm_object_item_part_text_get
*
* List of examples:
* @li @ref toolbar_example_01
* @enum _Elm_Toolbar_Shrink_Mode
* @typedef Elm_Toolbar_Shrink_Mode
*
- * Set toolbar's items display behavior, it can be scrollabel,
+ * Set toolbar's items display behavior, it can be scrollable,
* show a menu with exceeding items, or simply hide them.
*
* @note Default value is #ELM_TOOLBAR_SHRINK_MENU. It reads value
* from elm config.
*
- * Values <b> don't </b> work as bitmask, only one can be choosen.
+ * Values <b> don't </b> work as bitmask, only one can be chosen.
*
- * @see elm_toolbar_mode_shrink_set()
- * @see elm_toolbar_mode_shrink_get()
+ * @see elm_toolbar_shrink_mode_set()
+ * @see elm_toolbar_shrink_mode_get()
*
* @ingroup Toolbar
*/
typedef enum
{
- ELM_TOOLBAR_SHRINK_NONE, /**< Set toolbar minimun size to fit all the items. */
+ ELM_TOOLBAR_SHRINK_NONE, /**< Set toolbar minimum 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_EXPAND, /**< Expand all items according the size of the toolbar. */
ELM_TOOLBAR_SHRINK_LAST /**< Indicates error if returned by elm_toolbar_shrink_mode_get() */
} Elm_Toolbar_Shrink_Mode;
*
* @ingroup Toolbar
*/
-EAPI Evas_Object *elm_toolbar_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+EAPI Evas_Object *elm_toolbar_add(Evas_Object *parent);
/**
* Set the icon size, in pixels, to be used by toolbar items.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size);
/**
* Get the icon size, in pixels, to be used by toolbar items.
*
* @ingroup Toolbar
*/
-EAPI int elm_toolbar_icon_size_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI int elm_toolbar_icon_size_get(const Evas_Object *obj);
/**
* Sets icon lookup order, for toolbar items' icons.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order);
/**
* Gets the icon lookup order.
*
* @ingroup Toolbar
*/
-EAPI Elm_Icon_Lookup_Order elm_toolbar_icon_order_lookup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Set whether the toolbar should always have an item selected.
- *
- * @param obj The toolbar object.
- * @param wrap @c EINA_TRUE to enable always-select mode or @c EINA_FALSE to
- * disable it.
- *
- * This will cause the toolbar to always have an item selected, and clicking
- * the selected item will not cause a selected event to be emitted. Enabling this mode
- * will immediately select the first toolbar item.
- *
- * Always-selected is disabled by default.
- *
- * @see elm_toolbar_always_select_mode_get().
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1);
-
-/**
- * Get whether the toolbar should always have an item selected.
- *
- * @param obj The toolbar object.
- * @return @c EINA_TRUE means an item will always be selected, @c EINA_FALSE indicates
- * that it is possible to have no items selected. If @p obj is @c NULL, @c EINA_FALSE is returned.
- *
- * @see elm_toolbar_always_select_mode_set() for details.
- *
- * @ingroup Toolbar
- */
-EAPI Eina_Bool elm_toolbar_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
-/**
- * Set whether the toolbar items' should be selected by the user or not.
- *
- * @param obj The toolbar object.
- * @param wrap @c EINA_TRUE to disable selection or @c EINA_FALSE to
- * enable it.
- *
- * This will turn off the ability to select items entirely and they will
- * neither appear selected nor emit selected signals. The clicked
- * callback function will still be called.
- *
- * Selection is enabled by default.
- *
- * @see elm_toolbar_no_select_mode_get().
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1);
-
-/**
- * Set whether the toolbar items' should be selected by the user or not.
- *
- * @param obj The toolbar object.
- * @return @c EINA_TRUE means items can be selected. @c EINA_FALSE indicates
- * they can't. If @p obj is @c NULL, @c EINA_FALSE is returned.
- *
- * @see elm_toolbar_no_select_mode_set() for details.
- *
- * @ingroup Toolbar
- */
-EAPI Eina_Bool elm_toolbar_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Elm_Icon_Lookup_Order elm_toolbar_icon_order_lookup_get(const Evas_Object *obj);
/**
* Append item to the toolbar.
* be set as @b last item.
*
* Items created with this method can be deleted with
- * elm_toolbar_item_del().
+ * elm_object_item_del().
*
* Associated @p data can be properly freed when item is deleted if a
- * callback function is set with elm_toolbar_item_del_cb_set().
+ * callback function is set with elm_object_item_del_cb_set().
*
- * If a function is passed as argument, it will be called everytime this item
+ * If a function is passed as argument, it will be called every time this item
* is selected, i.e., the user clicks over an unselected item.
* If such function isn't needed, just passing
* @c NULL as @p func is enough. The same should be done for @p data.
* If an absolute path is provided it will load it direct from a file.
*
* @see elm_toolbar_item_icon_set()
- * @see elm_toolbar_item_del()
- * @see elm_toolbar_item_del_cb_set()
+ * @see elm_object_item_del()
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_item_append(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_item_append(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
/**
* Prepend item to the toolbar.
* be set as @b first item.
*
* Items created with this method can be deleted with
- * elm_toolbar_item_del().
+ * elm_object_item_del().
*
* Associated @p data can be properly freed when item is deleted if a
- * callback function is set with elm_toolbar_item_del_cb_set().
+ * callback function is set with elm_object_item_del_cb_set().
*
- * If a function is passed as argument, it will be called everytime this item
+ * If a function is passed as argument, it will be called every time this item
* is selected, i.e., the user clicks over an unselected item.
* If such function isn't needed, just passing
* @c NULL as @p func is enough. The same should be done for @p data.
* If an absolute path is provided it will load it direct from a file.
*
* @see elm_toolbar_item_icon_set()
- * @see elm_toolbar_item_del()
- * @see elm_toolbar_item_del_cb_set()
+ * @see elm_object_item_del()
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_item_prepend(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_item_prepend(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
/**
* Insert a new item into the toolbar object before item @p before.
* this toolbar will be just before item @p before.
*
* Items created with this method can be deleted with
- * elm_toolbar_item_del().
+ * elm_object_item_del().
*
* Associated @p data can be properly freed when item is deleted if a
- * callback function is set with elm_toolbar_item_del_cb_set().
+ * callback function is set with elm_object_item_del_cb_set().
*
- * If a function is passed as argument, it will be called everytime this item
+ * If a function is passed as argument, it will be called every time this item
* is selected, i.e., the user clicks over an unselected item.
* If such function isn't needed, just passing
* @c NULL as @p func is enough. The same should be done for @p data.
* If an absolute path is provided it will load it direct from a file.
*
* @see elm_toolbar_item_icon_set()
- * @see elm_toolbar_item_del()
- * @see elm_toolbar_item_del_cb_set()
+ * @see elm_object_item_del()
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_item_insert_before(Evas_Object *obj, Elm_Object_Item *before, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_item_insert_before(Evas_Object *obj, Elm_Object_Item *before, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
/**
* Insert a new item into the toolbar object after item @p after.
* this toolbar will be just after item @p after.
*
* Items created with this method can be deleted with
- * elm_toolbar_item_del().
+ * elm_object_item_del().
*
* Associated @p data can be properly freed when item is deleted if a
- * callback function is set with elm_toolbar_item_del_cb_set().
+ * callback function is set with elm_object_item_del_cb_set().
*
- * If a function is passed as argument, it will be called everytime this item
+ * If a function is passed as argument, it will be called every time this item
* is selected, i.e., the user clicks over an unselected item.
* If such function isn't needed, just passing
* @c NULL as @p func is enough. The same should be done for @p data.
* If an absolute path is provided it will load it direct from a file.
*
* @see elm_toolbar_item_icon_set()
- * @see elm_toolbar_item_del()
- * @see elm_toolbar_item_del_cb_set()
+ * @see elm_object_item_del()
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_item_insert_after(Evas_Object *obj, Elm_Object_Item *after, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_item_insert_after(Evas_Object *obj, Elm_Object_Item *after, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
/**
* Get the first item in the given toolbar widget's list of
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_first_item_get(const Evas_Object *obj);
/**
* Get the last item in the given toolbar widget's list of
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_last_item_get(const Evas_Object *obj);
/**
* Get the item after @p item in toolbar.
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_item_next_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_item_next_get(const Elm_Object_Item *it);
/**
* Get the item before @p item in toolbar.
*
- * @param item The toolbar item.
+ * @param it The toolbar item.
* @return The item before @p item, or @c NULL if none or on failure.
*
* @note If it is the first item, @c NULL will be returned.
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_item_prev_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_item_prev_get(const Elm_Object_Item *it);
/**
* Set the priority of a toolbar item.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_priority_set(Elm_Object_Item *it, int priority) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_item_priority_set(Elm_Object_Item *it, int priority);
/**
* Get the priority of a toolbar item.
*
* @ingroup Toolbar
*/
-EAPI int elm_toolbar_item_priority_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI int elm_toolbar_item_priority_get(const Elm_Object_Item *it);
/**
* Returns a pointer to a toolbar item by its label.
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_item_find_by_label(const Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_item_find_by_label(const Evas_Object *obj, const char *label);
/*
* Get whether the @p item is selected or not.
*
* @ingroup Toolbar
*/
-EAPI Eina_Bool elm_toolbar_item_selected_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool elm_toolbar_item_selected_get(const Elm_Object_Item *it);
/**
* Set the selected state of an item.
* This sets the selected state of the given item @p it.
* @c EINA_TRUE for selected, @c EINA_FALSE for not selected.
*
- * If a new item is selected the previosly selected will be unselected.
- * Previoulsy selected item can be get with function
+ * If a new item is selected the previously selected will be unselected.
+ * Previously selected item can be get with function
* elm_toolbar_selected_item_get().
*
* Selected items will be highlighted.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_selected_set(Elm_Object_Item *it, Eina_Bool selected) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_item_selected_set(Elm_Object_Item *it, Eina_Bool selected);
/**
* Get the selected item.
*
* @ingroup Toolbar
*/
-EAPI Elm_Object_Item *elm_toolbar_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Item *elm_toolbar_selected_item_get(const Evas_Object *obj);
+
+/**
+ * Get the more item.
+ *
+ * @param obj The toolbar object.
+ * @return The toolbar more item.
+ *
+ * The more item can be changed with function
+ * elm_object_item_text_set() and elm_object_item_content_set.
+ *
+ * @ingroup Toolbar
+ */
+EAPI Elm_Object_Item *elm_toolbar_more_item_get(const Evas_Object *obj);
/**
* Set the icon associated with @p item.
*
- * @param obj The parent of this item.
* @param it The toolbar item.
* @param icon A string with icon name or the absolute path of an image file.
*
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_icon_set(Elm_Object_Item *it, const char *icon) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_item_icon_set(Elm_Object_Item *it, const char *icon);
/**
* Get the string used to set the icon of @p item.
*
* @ingroup Toolbar
*/
-EAPI const char *elm_toolbar_item_icon_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI const char *elm_toolbar_item_icon_get(const Elm_Object_Item *it);
/**
* Get the object of @p item.
*
* @ingroup Toolbar
*/
-EAPI Evas_Object *elm_toolbar_item_object_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Evas_Object *elm_toolbar_item_object_get(const Elm_Object_Item *it);
/**
* Get the icon object of @p item.
*
* @ingroup Toolbar
*/
-EAPI Evas_Object *elm_toolbar_item_icon_object_get(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Evas_Object *elm_toolbar_item_icon_object_get(Elm_Object_Item *it);
/**
* Set the icon associated with @p item to an image in a binary buffer.
*
* @ingroup Toolbar
*/
-EAPI Eina_Bool elm_toolbar_item_icon_memfile_set(Elm_Object_Item *it, const void *img, size_t size, const char *format, const char *key) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool elm_toolbar_item_icon_memfile_set(Elm_Object_Item *it, const void *img, size_t size, const char *format, const char *key);
/**
* Set the icon associated with @p item to an image in a binary buffer.
*
* @ingroup Toolbar
*/
-EAPI Eina_Bool elm_toolbar_item_icon_file_set(Elm_Object_Item *it, const char *file, const char *key) EINA_ARG_NONNULL(1);
-
-/**
- * Delete them item from the toolbar.
- *
- * @param it The item of toolbar to be deleted.
- *
- * @see elm_toolbar_item_append()
- * @see elm_toolbar_item_del_cb_set()
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_item_del(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
-
-/**
- * Set the function called when a toolbar item is freed.
- *
- * @param it The item to set the callback on.
- * @param func The function called.
- *
- * If there is a @p func, then it will be called prior item's memory release.
- * That will be called with the following arguments:
- * @li item's data;
- * @li item's Evas object;
- * @li item itself;
- *
- * This way, a data associated to a toolbar item could be properly freed.
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_item_del_cb_set(Elm_Object_Item *it, Evas_Smart_Cb func) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool elm_toolbar_item_icon_file_set(Elm_Object_Item *it, const char *file, const char *key);
/**
* Set or unset item as a separator.
*
* @param it The toolbar item.
- * @param setting @c EINA_TRUE to set item @p item as separator or
+ * @param separator @c EINA_TRUE to set item @p item as separator or
* @c EINA_FALSE to unset, i.e., item will be used as a regular item.
*
* Items aren't set as separator by default.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_separator_set(Elm_Object_Item *it, Eina_Bool separator) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_item_separator_set(Elm_Object_Item *it, Eina_Bool separator);
/**
* Get a value whether item is a separator or not.
*
* @ingroup Toolbar
*/
-EAPI Eina_Bool elm_toolbar_item_separator_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool elm_toolbar_item_separator_get(const Elm_Object_Item *it);
/**
* Set the shrink state of toolbar @p obj.
* @param shrink_mode Toolbar's items display behavior.
*
* The toolbar won't scroll if #ELM_TOOLBAR_SHRINK_NONE,
- * but will enforce a minimun size so all the items will fit, won't scroll
+ * but will enforce a minimum size so all the items will fit, won't scroll
* and won't show the items that don't fit if #ELM_TOOLBAR_SHRINK_HIDE,
* will scroll if #ELM_TOOLBAR_SHRINK_SCROLL, and will create a button to
* pop up excess elements with #ELM_TOOLBAR_SHRINK_MENU.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_mode_shrink_set(Evas_Object *obj, Elm_Toolbar_Shrink_Mode shrink_mode) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_shrink_mode_set(Evas_Object *obj, Elm_Toolbar_Shrink_Mode shrink_mode);
/**
* Get the shrink mode of toolbar @p obj.
* @param obj The toolbar object.
* @return Toolbar's items display behavior.
*
- * @see elm_toolbar_mode_shrink_set() for details.
+ * @see elm_toolbar_shrink_mode_set() for details.
*
* @ingroup Toolbar
*/
-EAPI Elm_Toolbar_Shrink_Mode elm_toolbar_mode_shrink_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Elm_Toolbar_Shrink_Mode elm_toolbar_shrink_mode_get(const Evas_Object *obj);
/**
* Enable/disable homogeneous mode.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
/**
* Get whether the homogeneous mode is enabled.
*
* @ingroup Toolbar
*/
-EAPI Eina_Bool elm_toolbar_homogeneous_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool elm_toolbar_homogeneous_get(const Evas_Object *obj);
/**
* Set the parent object of the toolbar items' menus.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_menu_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_menu_parent_set(Evas_Object *obj, Evas_Object *parent);
/**
* Get the parent object of the toolbar items' menus.
*
* @ingroup Toolbar
*/
-EAPI Evas_Object *elm_toolbar_menu_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Evas_Object *elm_toolbar_menu_parent_get(const Evas_Object *obj);
/**
* Set the alignment of the items.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_align_set(Evas_Object *obj, double align) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_align_set(Evas_Object *obj, double align);
/**
* Get the alignment of the items.
*
* @ingroup Toolbar
*/
-EAPI double elm_toolbar_align_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI double elm_toolbar_align_get(const Evas_Object *obj);
/**
* Set whether the toolbar item opens a menu.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_menu_set(Elm_Object_Item *it, Eina_Bool menu) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_item_menu_set(Elm_Object_Item *it, Eina_Bool menu);
/**
* Get toolbar item's menu.
*
* @ingroup Toolbar
*/
-EAPI Evas_Object *elm_toolbar_item_menu_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Evas_Object *elm_toolbar_item_menu_get(const Elm_Object_Item *it);
/**
* Add a new state to @p item.
*
* @ingroup Toolbar
*/
-EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_add(Elm_Object_Item *it, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_add(Elm_Object_Item *it, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
/**
- * Delete a previoulsy added state to @p item.
+ * Delete a previously added state to @p item.
*
* @param it The toolbar item.
* @param state The state to be deleted.
*
* @see elm_toolbar_item_state_add()
*/
-EAPI Eina_Bool elm_toolbar_item_state_del(Elm_Object_Item *it, Elm_Toolbar_Item_State *state) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool elm_toolbar_item_state_del(Elm_Object_Item *it, Elm_Toolbar_Item_State *state);
/**
* Set @p state as the current state of @p it.
*
* If @p state is @c NULL, it won't select any state and the default item's
* icon and label will be used. It's the same behaviour than
- * elm_toolbar_item_state_unser().
+ * elm_toolbar_item_state_unset().
*
* @see elm_toolbar_item_state_unset()
*
* @ingroup Toolbar
*/
-EAPI Eina_Bool elm_toolbar_item_state_set(Elm_Object_Item *it, Elm_Toolbar_Item_State *state) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool elm_toolbar_item_state_set(Elm_Object_Item *it, Elm_Toolbar_Item_State *state);
/**
* Unset the state of @p it.
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_state_unset(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_item_state_unset(Elm_Object_Item *it);
/**
* Get the current state of @p it.
*
* @ingroup Toolbar
*/
-EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_get(const Elm_Object_Item *it);
/**
* Get the state after selected state in toolbar's @p item.
*
* @ingroup Toolbar
*/
-EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_next(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_next(Elm_Object_Item *it);
/**
* Get the state before selected state in toolbar's @p item.
*
* @ingroup Toolbar
*/
-EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_prev(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
-
-/**
- * Set the text to be shown in a given toolbar item's tooltips.
- *
- * @param it toolbar item.
- * @param text The text to set in the content.
- *
- * Setup the text as tooltip to object. The item can have only one tooltip,
- * so any previous tooltip data - set with this function or
- * elm_toolbar_item_tooltip_content_cb_set() - is removed.
- *
- * @see elm_object_tooltip_text_set() for more details.
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_item_tooltip_text_set(Elm_Object_Item *it, const char *text) EINA_ARG_NONNULL(1);
-
-/**
- * Set the content to be shown in the tooltip item.
- *
- * Setup the tooltip to item. The item can have only one tooltip,
- * so any previous tooltip data is removed. @p func(with @p data) will
- * be called every time that need show the tooltip and it should
- * return a valid Evas_Object. This object is then managed fully by
- * tooltip system and is deleted when the tooltip is gone.
- *
- * @param it the toolbar item being attached a tooltip.
- * @param func the function used to create the tooltip contents.
- * @param data what to provide to @a func as callback data/context.
- * @param del_cb called when data is not needed anymore, either when
- * another callback replaces @a func, the tooltip is unset with
- * elm_toolbar_item_tooltip_unset() or the owner @a item
- * dies. This callback receives as the first parameter the
- * given @a data, and @c event_info is the item.
- *
- * @see elm_object_tooltip_content_cb_set() for more details.
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
-
-/**
- * Unset tooltip from item.
- *
- * @param it toolbar item to remove previously set tooltip.
- *
- * Remove tooltip from item. The callback provided as del_cb to
- * elm_toolbar_item_tooltip_content_cb_set() will be called to notify
- * it is not used anymore.
- *
- * @see elm_object_tooltip_unset() for more details.
- * @see elm_toolbar_item_tooltip_content_cb_set()
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_item_tooltip_unset(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_prev(Elm_Object_Item *it);
/**
- * Sets a different style for this item tooltip.
- *
- * @note before you set a style you should define a tooltip with
- * elm_toolbar_item_tooltip_content_cb_set() or
- * elm_toolbar_item_tooltip_text_set()
- *
- * @param it toolbar item with tooltip already set.
- * @param style the theme style to use (default, transparent, ...)
- *
- * @see elm_object_tooltip_style_set() for more details.
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_item_tooltip_style_set(Elm_Object_Item *it, const char *style) EINA_ARG_NONNULL(1);
-
-/**
- * Get the style for this item tooltip.
- *
- * @param it toolbar item with tooltip already set.
- * @return style the theme style in use, defaults to "default". If the
- * object does not have a tooltip set, then NULL is returned.
- *
- * @see elm_object_tooltip_style_get() for more details.
- * @see elm_toolbar_item_tooltip_style_set()
- *
+ * 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 const char *elm_toolbar_item_tooltip_style_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
/**
- * Set the type of mouse pointer/cursor decoration to be shown,
- * when the mouse pointer is over the given toolbar widget item
- *
- * @param it toolbar item to customize cursor on
- * @param cursor the cursor type's name
- *
- * This function works analogously as elm_object_cursor_set(), but
- * here the cursor's changing area is restricted to the item's
- * area, and not the whole widget's. Note that that item cursors
- * have precedence over widget cursors, so that a mouse over an
- * item with custom cursor set will always show @b that cursor.
- *
- * If this function is called twice for an object, a previously set
- * cursor will be unset on the second call.
- *
- * @see elm_object_cursor_set()
- * @see elm_toolbar_item_cursor_get()
- * @see elm_toolbar_item_cursor_unset()
- *
- * @ingroup Toolbar
- */
-EAPI void elm_toolbar_item_cursor_set(Elm_Object_Item *it, const char *cursor) EINA_ARG_NONNULL(1);
-
-/*
- * Get the type of mouse pointer/cursor decoration set to be shown,
- * when the mouse pointer is over the given toolbar widget item
- *
- * @param it toolbar item with custom cursor set
- * @return the cursor type's name or @c NULL, if no custom cursors
- * were set to @p item (and on errors)
- *
- * @see elm_object_cursor_get()
- * @see elm_toolbar_item_cursor_set()
- * @see elm_toolbar_item_cursor_unset()
- *
+ * 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 const char *elm_toolbar_item_cursor_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool elm_toolbar_horizontal_get(const Evas_Object *obj);
/**
- * Unset any custom mouse pointer/cursor decoration set to be
- * shown, when the mouse pointer is over the given toolbar widget
- * item, thus making it show the @b default cursor again.
- *
- * @param it a toolbar item
- *
- * Use this call to undo any custom settings on this item's cursor
- * decoration, bringing it back to defaults (no custom style set).
- *
- * @see elm_object_cursor_unset()
- * @see elm_toolbar_item_cursor_set()
- *
+ * Get the number of items in a toolbar
+ * @param obj The toolbar object
+ * @return The number of items in @p obj toolbar
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_cursor_unset(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI unsigned int elm_toolbar_items_count(const Evas_Object *obj);
/**
- * Set a different @b style for a given custom cursor set for a
- * toolbar item.
- *
- * @param it toolbar item with custom cursor set
- * @param style the <b>theme style</b> to use (e.g. @c "default",
- * @c "transparent", etc)
- *
- * This function only makes sense when one is using custom mouse
- * cursor decorations <b>defined in a theme file</b>, which can have,
- * given a cursor name/type, <b>alternate styles</b> on it. It
- * works analogously as elm_object_cursor_style_set(), but here
- * applyed only to toolbar item objects.
+ * Set the standard priority of visible items in a toolbar
+ * @param obj The toolbar object
+ * @param priority The standard_priority of visible items
*
- * @warning Before you set a cursor style you should have definen a
- * custom cursor previously on the item, with
- * elm_toolbar_item_cursor_set()
+ * When it is the ELM_TOOLBAR_SHRINK_EXPAND mode, the items are shown only up to standard priority.
+ * The other items are located in more panel. The more panel can be shown when the more item is clicked.
*
- * @see elm_toolbar_item_cursor_engine_only_set()
- * @see elm_toolbar_item_cursor_style_get()
+ * @see elm_toolbar_standard_priority_get()
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_cursor_style_set(Elm_Object_Item *it, const char *style) EINA_ARG_NONNULL(1);
+EAPI void elm_toolbar_standard_priority_set(Evas_Object *obj, int priority);
/**
- * Get the current @b style set for a given toolbar item's custom
- * cursor
- *
- * @param it toolbar item with custom cursor set.
- * @return style the cursor style in use. If the object does not
- * have a cursor set, then @c NULL is returned.
+ * Get the standard_priority of visible items in a toolbar
+ * @param obj The toolbar object
+ * @return The standard priority of items in @p obj toolbar
*
- * @see elm_toolbar_item_cursor_style_set() for more details
+ * @see elm_toolbar_standard_priority_set()
*
* @ingroup Toolbar
*/
-EAPI const char *elm_toolbar_item_cursor_style_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+EAPI int elm_toolbar_standard_priority_get(const Evas_Object *obj);
/**
- * Set if the (custom)cursor for a given toolbar item should be
- * searched in its theme, also, or should only rely on the
- * rendering engine.
+ * Set the toolbar select mode.
*
- * @param it item with custom (custom) cursor already set on
- * @param engine_only Use @c EINA_TRUE to have cursors looked for
- * only on those provided by the rendering engine, @c EINA_FALSE to
- * have them searched on the widget's theme, as well.
+ * @param obj The toolbar object
+ * @param mode The select mode
*
- * @note This call is of use only if you've set a custom cursor
- * for toolbar items, with elm_toolbar_item_cursor_set().
+ * elm_toolbar_select_mode_set() changes item select mode in the toolbar widget.
+ * - ELM_OBJECT_SELECT_MODE_DEFAULT : Items will only call their selection func and
+ * callback when first becoming selected. Any further clicks will
+ * do nothing, unless you set always select mode.
+ * - ELM_OBJECT_SELECT_MODE_ALWAYS : This means that, even if selected,
+ * every click will make the selected callbacks be called.
+ * - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select items
+ * entirely and they will neither appear selected nor call selected
+ * callback functions.
*
- * @note By default, cursors will only be looked for between those
- * provided by the rendering engine.
+ * @see elm_toolbar_select_mode_get()
*
* @ingroup Toolbar
*/
-EAPI void elm_toolbar_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only) EINA_ARG_NONNULL(1);
+EAPI void
+elm_toolbar_select_mode_set(Evas_Object *obj, Elm_Object_Select_Mode mode);
/**
- * Get if the (custom) cursor for a given toolbar item is being
- * searched in its theme, also, or is only relying on the rendering
- * engine.
+ * Get the toolbar select mode.
*
- * @param it a toolbar item
- * @return @c EINA_TRUE, if cursors are being looked for only on
- * those provided by the rendering engine, @c EINA_FALSE if they
- * are being searched on the widget's theme, as well.
+ * @param obj The toolbar object
+ * @return The select mode
+ * (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
*
- * @see elm_toolbar_item_cursor_engine_only_set(), for more details
+ * @see elm_toolbar_select_mode_set()
*
* @ingroup Toolbar
*/
-EAPI Eina_Bool elm_toolbar_item_cursor_engine_only_get(const Elm_Object_Item *it) 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_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+EAPI Elm_Object_Select_Mode
+elm_toolbar_select_mode_get(const Evas_Object *obj);
/**
- * 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) EINA_ARG_NONNULL(1);
-
-/**
- * Get the number of items in a toolbar
- * @param obj The toolbar object
- * @return The number of items in @p obj toolbar
- * @ingroup Toolbar
- */
-EAPI unsigned int elm_toolbar_items_count(const Evas_Object *obj) EINA_ARG_NONNULL(1) EINA_PURE;
-/**
* @}
*/