*
* 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_disabled_get
- * @li elm_object_item_part_text_set
- * @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_shrink_mode_set()
* @see elm_toolbar_shrink_mode_get()
*/
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. */
EAPI Elm_Icon_Lookup_Order elm_toolbar_icon_order_lookup_get(const Evas_Object *obj);
/**
- * 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);
-
-/**
- * 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);
-
-/**
- * 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);
-
-/**
- * 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);
-
-/**
* Append item to the toolbar.
*
* @param obj The toolbar object.
* Associated @p data can be properly freed when item is deleted if a
* 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.
* Associated @p data can be properly freed when item is deleted if a
* 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.
* Associated @p data can be properly freed when item is deleted if a
* 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.
* Associated @p data can be properly freed when item is deleted if a
* 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.
/**
* 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.
* 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.
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.
*
* 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.
* @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.
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.
*
* 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()
*
*/
EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_prev(Elm_Object_Item *it);
-
/**
* Change a toolbar's orientation
* @param obj The toolbar object
* @ingroup Toolbar
*/
EAPI unsigned int elm_toolbar_items_count(const Evas_Object *obj);
+
+/**
+ * Set the standard priority of visible items in a toolbar
+ * @param obj The toolbar object
+ * @param priority The standard_priority of visible items
+ *
+ * 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_standard_priority_get()
+ *
+ * @ingroup Toolbar
+ */
+EAPI void elm_toolbar_standard_priority_set(Evas_Object *obj, int priority);
+
+/**
+ * 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_standard_priority_set()
+ *
+ * @ingroup Toolbar
+ */
+EAPI int elm_toolbar_standard_priority_get(const Evas_Object *obj);
+
+/**
+ * Set the toolbar select mode.
+ *
+ * @param obj The toolbar object
+ * @param mode The select mode
+ *
+ * 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.
+ *
+ * @see elm_toolbar_select_mode_get()
+ *
+ * @ingroup Toolbar
+ */
+EAPI void
+elm_toolbar_select_mode_set(Evas_Object *obj, Elm_Object_Select_Mode mode);
+
+/**
+ * Get the toolbar select mode.
+ *
+ * @param obj The toolbar object
+ * @return The select mode
+ * (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
+ *
+ * @see elm_toolbar_select_mode_set()
+ *
+ * @ingroup Toolbar
+ */
+EAPI Elm_Object_Select_Mode
+elm_toolbar_select_mode_get(const Evas_Object *obj);
+
/**
* @}
*/