Tizen Native API  3.0

toolbar_inheritance_tree.png
toolbar.png

A toolbar is a widget that displays a list of items inside a box. It can be scrollable, show a menu with items that don't fit to toolbar size or even crop them.

Only one item can be selected at a time.

Items can have multiple states, or show menus when selected by the user.

This widget implements the elm-scrollable-interface interface, so that all (non-deprecated) functions for the base Scroller widget also work for toolbars (since 1.8)

Smart callbacks one can listen to:

  • "clicked" - when the user clicks on a toolbar item and becomes selected.
  • "longpressed" - when the toolbar is pressed for a certain amount of time.
  • "language,changed" - when the program language changes.
  • "focused" - When the toolbar has received focus. (since 1.8)
  • "unfocused" - When the toolbar has lost focus. (since 1.8)
  • "item,focused" - When the toolbar item has received focus. (since 1.10)
  • "item,unfocused" - When the toolbar item has lost focus. (since 1.10)
  • "selected" - when an item is selected. event_info is a selected item. (since 1.11)
  • "unselected" - when an item is unselected. event_info is a unselected item. (since 1.11)

Available styles for it:

  • "default"
  • "transparent" - no background or shadow, just show the content

Default text parts of the toolbar items that you can use for are:

  • "default" - A label of the toolbar item

Supported elm_object_item common APIs.

  • elm_object_item_del
  • elm_object_item_disabled_set
  • elm_object_item_disabled_get
  • elm_object_item_part_text_set
  • elm_object_item_part_text_get
  • elm_object_item_part_content_set
  • elm_object_item_part_content_get
  • elm_object_item_part_content_unset
  • elm_object_item_focus_set
  • elm_object_item_focus_get

Functions

void elm_toolbar_homogeneous_set (Elm_Toolbar *obj, Eina_Bool homogeneous)
 Control homogeneous mode.
Eina_Bool elm_toolbar_homogeneous_get (const Elm_Toolbar *obj)
 Control homogeneous mode.
void elm_toolbar_align_set (Elm_Toolbar *obj, double align)
 Control the alignment of the items.
double elm_toolbar_align_get (const Elm_Toolbar *obj)
 Control the alignment of the items.
void elm_toolbar_select_mode_set (Elm_Toolbar *obj, Elm_Object_Select_Mode mode)
 Control the toolbar select mode.
Elm_Object_Select_Mode elm_toolbar_select_mode_get (const Elm_Toolbar *obj)
 Control the toolbar select mode.
void elm_toolbar_icon_size_set (Elm_Toolbar *obj, int icon_size)
 Control the icon size, in pixels, to be used by toolbar items.
int elm_toolbar_icon_size_get (const Elm_Toolbar *obj)
 Control the icon size, in pixels, to be used by toolbar items.
void elm_toolbar_horizontal_set (Elm_Toolbar *obj, Eina_Bool horizontal)
 Change a toolbar's orientation.
Eina_Bool elm_toolbar_horizontal_get (const Elm_Toolbar *obj)
 Change a toolbar's orientation.
void elm_toolbar_icon_order_lookup_set (Elm_Toolbar *obj, Elm_Icon_Lookup_Order order)
 Sets icon lookup order, for toolbar items' icons.
Elm_Icon_Lookup_Order elm_toolbar_icon_order_lookup_get (const Elm_Toolbar *obj)
 Sets icon lookup order, for toolbar items' icons.
void elm_toolbar_shrink_mode_set (Elm_Toolbar *obj, Elm_Toolbar_Shrink_Mode shrink_mode)
 Control the item displaying mode of a given toolbar widget obj.
Elm_Toolbar_Shrink_Mode elm_toolbar_shrink_mode_get (const Elm_Toolbar *obj)
 Control the item displaying mode of a given toolbar widget obj.
void elm_toolbar_menu_parent_set (Elm_Toolbar *obj, Evas_Object *parent)
 Control the parent object of the toolbar items' menus.
Evas_Objectelm_toolbar_menu_parent_get (const Elm_Toolbar *obj)
 Control the parent object of the toolbar items' menus.
void elm_toolbar_standard_priority_set (Elm_Toolbar *obj, int priority)
 Set the standard priority of visible items in a toolbar.
int elm_toolbar_standard_priority_get (const Elm_Toolbar *obj)
 Set the standard priority of visible items in a toolbar.
Elm_Widget_Item * elm_toolbar_selected_item_get (const Elm_Toolbar *obj)
 
Elm_Widget_Item * elm_toolbar_first_item_get (const Elm_Toolbar *obj)
 
Elm_Widget_Item * elm_toolbar_more_item_get (const Elm_Toolbar *obj)
 
Elm_Widget_Item * elm_toolbar_last_item_get (const Elm_Toolbar *obj)
 
Elm_Widget_Item * elm_toolbar_item_insert_before (Elm_Toolbar *obj, Elm_Widget_Item *before, const char *icon, const char *label, Evas_Smart_Cb func, const void *data)
 
Elm_Widget_Item * elm_toolbar_item_insert_after (Elm_Toolbar *obj, Elm_Widget_Item *after, const char *icon, const char *label, Evas_Smart_Cb func, const void *data)
 
Elm_Widget_Item * elm_toolbar_item_append (Elm_Toolbar *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data)
 
unsigned int elm_toolbar_items_count (const Elm_Toolbar *obj)
 
Elm_Widget_Item * elm_toolbar_item_prepend (Elm_Toolbar *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data)
 
Elm_Widget_Item * elm_toolbar_item_find_by_label (const Elm_Toolbar *obj, const char *label)
 
void elm_toolbar_item_state_unset (Elm_Object_Item *it)
Evas_Objectelm_toolbar_add (Evas_Object *parent)
void elm_toolbar_reorder_mode_set (Evas_Object *obj, Eina_Bool reorder_mode)
Eina_Bool elm_toolbar_reorder_mode_get (const Evas_Object *obj)
void elm_toolbar_transverse_expanded_set (Evas_Object *obj, Eina_Bool transverse_expanded)
Eina_Bool elm_toolbar_transverse_expanded_get (const Evas_Object *obj)

Typedefs

typedef struct
_Elm_Toolbar_Item_State 
Elm_Toolbar_Item_State

Typedef Documentation

typedef struct _Elm_Toolbar_Item_State Elm_Toolbar_Item_State

State of a Elm_Toolbar_Item. Can be created with elm_toolbar_item_state_add() and removed with elm_toolbar_item_state_del().


Enumeration Type Documentation

Set toolbar's items display behavior, it can be scrollable, show a menu with exceeding items, or simply hide them.

Default value is ELM_TOOLBAR_SHRINK_MENU. It reads value from elm config.

Values don't work as bitmask, only one can be chosen.

See also elm_toolbar_shrink_mode_set, elm_toolbar_shrink_mode_get.

Enumerator:
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()


Function Documentation

Add a new toolbar widget to the given parent Elementary (container) object.

Parameters:
parentThe parent object.
Returns:
a new toolbar widget handle or NULL, on errors.

This function inserts a new toolbar widget on the canvas.

Since :
2.3
double elm_toolbar_align_get ( const Elm_Toolbar *  obj)

Control the alignment of the items.

Alignment of toolbar items, from 0.0 to indicates to align left, to 1.0, to align to right. 0.5 centralize items.

Centered items by default.

Since :
2.3
Returns:
The new alignment, a float between 0.0 and 1.0.
void elm_toolbar_align_set ( Elm_Toolbar *  obj,
double  align 
)

Control the alignment of the items.

Alignment of toolbar items, from 0.0 to indicates to align left, to 1.0, to align to right. 0.5 centralize items.

Centered items by default.

Since :
2.3
Parameters:
[in]alignThe new alignment, a float between 0.0 and 1.0.
Elm_Widget_Item* elm_toolbar_first_item_get ( const Elm_Toolbar *  obj)

Get the first item in the given toolbar widget's list of items.

See: elm_toolbar_item_append and elm_toolbar_last_item_get

Since :
2.3
Returns:
The first item or NULL, if it has no items (and on errors)
Eina_Bool elm_toolbar_homogeneous_get ( const Elm_Toolbar *  obj)

Control homogeneous mode.

This will enable the homogeneous mode where items are of the same size.

Since :
2.3
Returns:
Assume the items within the toolbar are of the same size (true = on, false = off). Default is false.
void elm_toolbar_homogeneous_set ( Elm_Toolbar *  obj,
Eina_Bool  homogeneous 
)

Control homogeneous mode.

This will enable the homogeneous mode where items are of the same size.

Since :
2.3
Parameters:
[in]homogeneousAssume the items within the toolbar are of the same size (true = on, false = off). Default is false.
Eina_Bool elm_toolbar_horizontal_get ( const Elm_Toolbar *  obj)

Change a toolbar's orientation.

By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.

Since :
2.3
Returns:
If true, the toolbar is horizontal.
void elm_toolbar_horizontal_set ( Elm_Toolbar *  obj,
Eina_Bool  horizontal 
)

Change a toolbar's orientation.

By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.

Since :
2.3
Parameters:
[in]horizontalIf true, the toolbar is horizontal.

Sets icon lookup order, for toolbar items' icons.

Icons added before calling this function will not be affected. The default lookup order is ELM_ICON_LOOKUP_THEME_FDO.

Since :
2.3
Returns:
The icon lookup order. (If getting the icon order loopup fails, it returns ELM_ICON_LOOKUP_THEME_FDO)
void elm_toolbar_icon_order_lookup_set ( Elm_Toolbar *  obj,
Elm_Icon_Lookup_Order  order 
)

Sets icon lookup order, for toolbar items' icons.

Icons added before calling this function will not be affected. The default lookup order is ELM_ICON_LOOKUP_THEME_FDO.

Since :
2.3
Parameters:
[in]orderThe icon lookup order. (If getting the icon order loopup fails, it returns ELM_ICON_LOOKUP_THEME_FDO)
int elm_toolbar_icon_size_get ( const Elm_Toolbar *  obj)

Control the icon size, in pixels, to be used by toolbar items.

Note:
Default value is 32. It reads value from elm config.
Since :
2.3
Returns:
The icon size in pixels
void elm_toolbar_icon_size_set ( Elm_Toolbar *  obj,
int  icon_size 
)

Control the icon size, in pixels, to be used by toolbar items.

Note:
Default value is 32. It reads value from elm config.
Since :
2.3
Parameters:
[in]icon_sizeThe icon size in pixels
Elm_Widget_Item* elm_toolbar_item_append ( Elm_Toolbar *  obj,
const char *  icon,
const char *  label,
Evas_Smart_Cb  func,
const void *  data 
)

Append item to the toolbar.

A new item will be created and appended to the toolbar, i.e., will be set as last item.

Items created with this method can be deleted with elm_object_item_del().

Associated 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 every time this item is selected, i.e., the user clicks over an unselected item. If such function isn't needed, just passing NULL as func is enough. The same should be done for data.

Toolbar will load icon image from fdo or current theme. This behavior can be set by elm_toolbar_icon_order_lookup_set() function. If an absolute path is provided it will load it direct from a file.

Note:
This function does not accept relative icon path.

See: elm_toolbar_item_icon_set()

Since :
2.3
Parameters:
[in]labelThe label of the item.
[in]funcThe function to call when the item is clicked.
[in]dataThe data to associate with the item for related callbacks.
Returns:
The created item or NULL upon failure.
Elm_Widget_Item* elm_toolbar_item_find_by_label ( const Elm_Toolbar *  obj,
const char *  label 
)

Returns a pointer to a toolbar item by its label.

Since :
2.3
Parameters:
[in]labelThe label of the item to find.
Returns:
The pointer to the toolbar item matching label or NULL on failure.
Elm_Widget_Item* elm_toolbar_item_insert_after ( Elm_Toolbar *  obj,
Elm_Widget_Item *  after,
const char *  icon,
const char *  label,
Evas_Smart_Cb  func,
const void *  data 
)

Insert a new item into the toolbar object after item after.

A new item will be created and added to the toolbar. Its position in this toolbar will be just after item after.

Items created with this method can be deleted with elm_object_item_del().

Associated 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 every time this item is selected, i.e., the user clicks over an unselected item. If such function isn't needed, just passing NULL as func is enough. The same should be done for data.

Toolbar will load icon image from fdo or current theme. This behavior can be set by elm_toolbar_icon_order_lookup_set() function. If an absolute path is provided it will load it direct from a file.

Note:
This function does not accept relative icon path.

See: elm_toolbar_item_icon_set()

Since :
2.3
Parameters:
[in]iconA string with icon name or the absolute path of an image file.
[in]labelThe label of the item.
[in]funcThe function to call when the item is clicked.
[in]dataThe data to associate with the item for related callbacks.
Returns:
The created item or NULL upon failure.
Elm_Widget_Item* elm_toolbar_item_insert_before ( Elm_Toolbar *  obj,
Elm_Widget_Item *  before,
const char *  icon,
const char *  label,
Evas_Smart_Cb  func,
const void *  data 
)

Insert a new item into the toolbar object before item before.

A new item will be created and added to the toolbar. Its position in this toolbar will be just before item before.

Items created with this method can be deleted with elm_object_item_del().

Associated 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 every time this item is selected, i.e., the user clicks over an unselected item. If such function isn't needed, just passing NULL as func is enough. The same should be done for data.

Toolbar will load icon image from fdo or current theme. This behavior can be set by elm_toolbar_icon_order_lookup_set() function. If an absolute path is provided it will load it direct from a file.

Note:
This function does not accept relative icon path.

See: elm_toolbar_item_icon_set()

Since :
2.3
Parameters:
[in]iconA string with icon name or the absolute path of an image file.
[in]labelThe label of the item.
[in]funcThe function to call when the item is clicked.
[in]dataThe data to associate with the item for related callbacks.
Returns:
The created item or NULL upon failure.
Elm_Widget_Item* elm_toolbar_item_prepend ( Elm_Toolbar *  obj,
const char *  icon,
const char *  label,
Evas_Smart_Cb  func,
const void *  data 
)

Prepend item to the toolbar.

A new item will be created and prepended to the toolbar, i.e., will be set as first item.

Items created with this method can be deleted with elm_object_item_del().

Associated 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 every time this item is selected, i.e., the user clicks over an unselected item. If such function isn't needed, just passing NULL as func is enough. The same should be done for data.

Toolbar will load icon image from fdo or current theme. This behavior can be set by elm_toolbar_icon_order_lookup_set() function. If an absolute path is provided it will load it direct from a file.

Note:
This function does not accept relative icon path.

See: elm_toolbar_item_icon_set()

Since :
2.3
Parameters:
[in]labelThe label of the item.
[in]funcThe function to call when the item is clicked.
[in]dataThe data to associate with the item for related callbacks.
Returns:
The created item or NULL upon failure.

Unset the state of it.

Parameters:
itThe toolbar item.

The default icon and label from this item will be displayed.

See also:
elm_toolbar_item_state_set() for more details.
Since :
2.3
unsigned int elm_toolbar_items_count ( const Elm_Toolbar *  obj)

Get the number of items in a toolbar

Since :
2.3
Returns:
The number of items in obj toolbar
Elm_Widget_Item* elm_toolbar_last_item_get ( const Elm_Toolbar *  obj)

Get the last item in the given toolbar widget's list of items.

See: elm_toolbar_item_prepend and elm_toolbar_first_item_get

Since :
2.3
Returns:
The last item or NULL, if it has no items (and on errors)
Evas_Object* elm_toolbar_menu_parent_get ( const Elm_Toolbar *  obj)

Control the parent object of the toolbar items' menus.

Each item can be set as item menu, with elm_toolbar_item_menu_set().

For more details about setting the parent for toolbar menus, see elm_menu_parent_set().

See: elm_menu_parent_set() for details. See: elm_toolbar_item_menu_set() for details.

Since :
2.3
Returns:
The parent of the menu objects.
void elm_toolbar_menu_parent_set ( Elm_Toolbar *  obj,
Evas_Object parent 
)

Control the parent object of the toolbar items' menus.

Each item can be set as item menu, with elm_toolbar_item_menu_set().

For more details about setting the parent for toolbar menus, see elm_menu_parent_set().

See: elm_menu_parent_set() for details. See: elm_toolbar_item_menu_set() for details.

Since :
2.3
Parameters:
[in]parentThe parent of the menu objects.
Elm_Widget_Item* elm_toolbar_more_item_get ( const Elm_Toolbar *  obj)

Get the more item which is auto-generated by toolbar.

Toolbar generates 'more' item when there is no more space to fit items in and toolbar is in ELM_TOOLBAR_SHRINK_MENU or ELM_TOOLBAR_SHRINK_EXPAND mode. The more item can be manipulated by elm_object_item_text_set() and elm_object_item_content_set.

Since :
2.3
Returns:
The toolbar more item.

Get the reorder mode

Parameters:
objThe toolbar object
Returns:
The reorder mode (EINA_TRUE = on, EINA_FALSE = off)
Since :
2.3
void elm_toolbar_reorder_mode_set ( Evas_Object obj,
Eina_Bool  reorder_mode 
)

Set reorder mode

Parameters:
objThe toolbar object
reorder_modeThe reorder mode (EINA_TRUE = on, EINA_FALSE = off)
Since :
2.3
Elm_Object_Select_Mode elm_toolbar_select_mode_get ( const Elm_Toolbar *  obj)

Control the toolbar 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.

Since :
2.3
Returns:
The select mode If getting mode fails, it returns #ELM_OBJECT_SELECT_MODE_MAX
void elm_toolbar_select_mode_set ( Elm_Toolbar *  obj,
Elm_Object_Select_Mode  mode 
)

Control the toolbar 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.

Since :
2.3
Parameters:
[in]modeThe select mode If getting mode fails, it returns #ELM_OBJECT_SELECT_MODE_MAX
Elm_Widget_Item* elm_toolbar_selected_item_get ( const Elm_Toolbar *  obj)

Get the selected item.

The selected item can be unselected with function elm_toolbar_item_selected_set().

The selected item always will be highlighted on toolbar.

Since :
2.3
Returns:
The selected toolbar item.

Control the item displaying mode of a given toolbar widget obj.

The toolbar won't scroll under ELM_TOOLBAR_SHRINK_NONE mode, but it will enforce a minimum size, so that all the items will fit inside it. It won't scroll and won't show the items that don't fit under ELM_TOOLBAR_SHRINK_HIDE mode. Finally, it'll scroll under ELM_TOOLBAR_SHRINK_SCROLL mode, and it will create a button to aggregate items which didn't fit with the ELM_TOOLBAR_SHRINK_MENU mode.

If shrink mode is changed, Toolbar will send one of the following signal to each item for informing the current shrink mode. "elm,state,shrink,default" "elm,state,shrink,hide" "elm,state,shrink,scroll" "elm,state,shrink,menu" "elm,state,shrink,expand"

Warning:
This function's behavior will clash with those of elm_scroller_policy_set(), so use either one of them, but not both.
Since :
2.3
Returns:
Toolbar's items display behavior
void elm_toolbar_shrink_mode_set ( Elm_Toolbar *  obj,
Elm_Toolbar_Shrink_Mode  shrink_mode 
)

Control the item displaying mode of a given toolbar widget obj.

The toolbar won't scroll under ELM_TOOLBAR_SHRINK_NONE mode, but it will enforce a minimum size, so that all the items will fit inside it. It won't scroll and won't show the items that don't fit under ELM_TOOLBAR_SHRINK_HIDE mode. Finally, it'll scroll under ELM_TOOLBAR_SHRINK_SCROLL mode, and it will create a button to aggregate items which didn't fit with the ELM_TOOLBAR_SHRINK_MENU mode.

If shrink mode is changed, Toolbar will send one of the following signal to each item for informing the current shrink mode. "elm,state,shrink,default" "elm,state,shrink,hide" "elm,state,shrink,scroll" "elm,state,shrink,menu" "elm,state,shrink,expand"

Warning:
This function's behavior will clash with those of elm_scroller_policy_set(), so use either one of them, but not both.
Since :
2.3
Parameters:
[in]shrink_modeToolbar's items display behavior
int elm_toolbar_standard_priority_get ( const Elm_Toolbar *  obj)

Set the standard priority of visible items in a toolbar.

If the priority of the item is up to standard priority, it is shown in basic panel. The other items are located in more menu or panel. The more menu or panel can be shown when the more item is clicked.

Since :
2.3
Returns:
The standard_priority of visible items
Since (EFL) :
1.7
void elm_toolbar_standard_priority_set ( Elm_Toolbar *  obj,
int  priority 
)

Set the standard priority of visible items in a toolbar.

If the priority of the item is up to standard priority, it is shown in basic panel. The other items are located in more menu or panel. The more menu or panel can be shown when the more item is clicked.

Since :
2.3
Parameters:
[in]priorityThe standard_priority of visible items
Since (EFL) :
1.7

Get the transverse expansion of toolbar obj.

Parameters:
objThe toolbar object.
Returns:
The transverse expansion of the item. (EINA_TRUE = on, EINA_FALSE = off, default = EINA_FALSE)
See also:
elm_toolbar_transverse_expand_set() for details.
Since :
2.3
void elm_toolbar_transverse_expanded_set ( Evas_Object obj,
Eina_Bool  transverse_expanded 
)

Set the item's transverse expansion of a given toolbar widget obj.

Parameters:
objThe toolbar object.
transverse_expandedThe transverse expansion of the item. (EINA_TRUE = on, EINA_FALSE = off, default = EINA_FALSE)

This will expand the transverse length of the item according the transverse length of the toolbar. The default is what the transverse length of the item is set according its min value.

Since :
2.3