Tizen Native API

Functions

void elm_index_autohide_disabled_set (Elm_Index *obj, Eina_Bool disabled)
 Enable or disable auto hiding feature for a given index widget.
Eina_Bool elm_index_autohide_disabled_get (const Elm_Index *obj)
 Get whether auto hiding feature is enabled or not for a given index widget.
void elm_index_omit_enabled_set (Elm_Index *obj, Eina_Bool enabled)
 Enable or disable omit feature for a given index widget.
Eina_Bool elm_index_omit_enabled_get (const Elm_Index *obj)
 Get whether omit feature is enabled or not for a given index widget.
void elm_index_priority_set (Elm_Index *obj, int priority)
int elm_index_priority_get (const Elm_Index *obj)
void elm_index_horizontal_set (Elm_Index *obj, Eina_Bool horizontal)
 Enable or disable horizontal mode on the index object.
Eina_Bool elm_index_horizontal_get (const Elm_Index *obj)
 Get a value whether horizontal mode is enabled or not.
void elm_index_delay_change_time_set (Elm_Index *obj, double dtime)
 Set a delay change time for index object.
double elm_index_delay_change_time_get (const Elm_Index *obj)
 Get a delay change time for index object.
void elm_index_indicator_disabled_set (Elm_Index *obj, Eina_Bool disabled)
 Set the indicator as to be disabled.
Eina_Bool elm_index_indicator_disabled_get (const Elm_Index *obj)
 Get the value of indicator's disabled status.
void elm_index_item_level_set (Elm_Index *obj, int level)
int elm_index_item_level_get (const Elm_Index *obj)
void elm_index_level_go (Elm_Index *obj, int level)
 Flush the changes made to the index items so they work correctly.
Elm_Object_Itemelm_index_item_prepend (Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data)
 Prepend a new item on a given index widget.
void elm_index_item_clear (Elm_Index *obj)
 Removes all items from a given index widget.
Elm_Object_Itemelm_index_item_insert_after (Elm_Index *obj, Elm_Object_Item *after, const char *letter, Evas_Smart_Cb func, const void *data)
 Insert a new item into the index object after item after.
Elm_Object_Itemelm_index_item_find (Elm_Index *obj, const void *data)
 Find a given index widget's item, using item data.
Elm_Object_Itemelm_index_item_insert_before (Elm_Index *obj, Elm_Object_Item *before, const char *letter, Evas_Smart_Cb func, const void *data)
 Insert a new item into the index object before item before.
Elm_Object_Itemelm_index_item_append (Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data)
 Append a new item on a given index widget.
Elm_Object_Itemelm_index_selected_item_get (const Elm_Index *obj, int level)
 Returns the last selected item, for a given index widget.
Elm_Object_Itemelm_index_item_sorted_insert (Elm_Index *obj, const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func)
 Insert a new item into the given index widget, using cmp_func function to sort items (by item handles).
void elm_index_item_selected_set (Elm_Index_Item *obj, Eina_Bool selected)
 Set the selected state of an item.
const char * elm_index_item_letter_get (const Elm_Index_Item *obj)
 Get the letter (string) set on a given index widget item.
Evas_Objectelm_index_add (Evas_Object *parent)
 Add a new index widget to the given parent Elementary (container) object.

index_inheritance_tree.png

An index widget gives you an index for fast access to whichever group of other UI items one might have. It's a list of text items (usually letters, for alphabetically ordered access).

Index widgets are by default hidden and just appear when the user clicks over it's reserved area in the canvas. In its default theme, it's an area one finger wide on the right side of the index widget's container.

When items on the index are selected, smart callbacks get called, so that its user can make other container objects to show a given area or child object depending on the index item selected. You'd probably be using an index together with lists, generic lists or general grids.

This widget inherits from the Layout one, so that all the functions acting on it also work for index objects.

This widget emits the following signals, besides the ones sent from Layout:

  • "changed" - When the selected index item changes. event_info is the selected item's data pointer.
  • "delay,changed" - When the selected index item changes, but after a small idling period. event_info is the selected item's data pointer.
  • "selected" - When the user releases a mouse button and selects an item. event_info is the selected item's pointer.
  • "level,up" - when the user moves a finger from the first level to the second level
  • "level,down" - when the user moves a finger from the second level to the first level
  • "language,changed" - the program's language changed
  • "focused" - When the index has received focus. (since 1.8)
  • "unfocused" - When the index has lost focus. (since 1.8)

The "delay,changed" event is so that it'll wait a small time before actually reporting those events and, moreover, just the last event happening on those time frames will actually be reported.

Supported elm_object_item common APIs

  • elm_object_item_del

Function Documentation

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

Since :
2.3
Parameters:
[in]parentThe parent object
Returns:
a new index widget handle or NULL, on errors
Remarks:
This function inserts a new index widget on the canvas.
Eina_Bool elm_index_autohide_disabled_get ( const Elm_Index *  obj)

Get whether auto hiding feature is enabled or not for a given index widget.

Since :
2.3
Returns:
EINA_TRUE, if auto hiding is disabled, EINA_FALSE otherwise
See also:
elm_index_autohide_disabled_set() for more details
Parameters:
[in]objThe elm index object
void elm_index_autohide_disabled_set ( Elm_Index *  obj,
Eina_Bool  disabled 
)

Enable or disable auto hiding feature for a given index widget.

Since :
2.3
See also:
elm_index_autohide_disabled_get()
Parameters:
[in]objThe elm index object
[in]disabledEINA_TRUE to disable auto hiding, EINA_FALSE to enable
double elm_index_delay_change_time_get ( const Elm_Index *  obj)

Get a delay change time for index object.

Since :
2.3
Returns:
delay change time in seconds
See also:
elm_index_delay_change_time_set
Parameters:
[in]objThe elm index object
void elm_index_delay_change_time_set ( Elm_Index *  obj,
double  dtime 
)

Set a delay change time for index object.

Since :
2.3
Remarks:
delay time is 0.2 sec by default.
See also:
elm_index_delay_change_time_get
Parameters:
[in]objThe elm index object
[in]dtimeThe delay change time to set.
Eina_Bool elm_index_horizontal_get ( const Elm_Index *  obj)

Get a value whether horizontal mode is enabled or not.

Since :
2.3
Returns:
EINA_TRUE means horizontal mode selection is enabled. EINA_FALSE indicates it's disabled. If obj is NULL, EINA_FALSE is returned.
See also:
elm_index_horizontal_set() for details.
Parameters:
[in]objThe elm index object
void elm_index_horizontal_set ( Elm_Index *  obj,
Eina_Bool  horizontal 
)

Enable or disable horizontal mode on the index object.

Since :
2.3
Remarks:
Vertical mode is set by default.
On horizontal mode items are displayed on index from left to right, instead of from top to bottom. Also, the index will scroll horizontally.
See also:
elm_index_horizontal_get()
Parameters:
[in]objThe elm index object
[in]horizontalEINA_TRUE to enable horizontal or EINA_FALSE to disable it, i.e., to enable vertical mode. it's an area one finger wide on the bottom side of the index widget's container.
Eina_Bool elm_index_indicator_disabled_get ( const Elm_Index *  obj)

Get the value of indicator's disabled status.

Since :
2.3
Returns:
EINA_TRUE if the indicator is disabled.
See also:
elm_index_indicator_disabled_set()
Parameters:
[in]objThe elm index object
void elm_index_indicator_disabled_set ( Elm_Index *  obj,
Eina_Bool  disabled 
)

Set the indicator as to be disabled.

Since :
2.3
Remarks:
In Index widget, Indicator notes popup text, which shows a letter has been selecting.
See also:
elm_index_indicator_disabled_get()
Parameters:
[in]objThe elm index object
[in]disabledEINA_TRUE to disable it, EINA_FALSE to enable it
Elm_Object_Item* elm_index_item_append ( Elm_Index *  obj,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data 
)

Append a new item on a given index widget.

Since :
2.3
Returns:
A handle to the item added or NULL, on errors
Remarks:
Despite the most common usage of the letter argument is for single char strings, one could use arbitrary strings as index entries.

item will be the pointer returned back on "changed", "delay,changed" and "selected" smart events.

Parameters:
[in]objThe elm index object
[in]letterLetter under which the item should be indexed
[in]funcThe function to call when the item is selected.
[in]dataThe item data to set for the index's item
void elm_index_item_clear ( Elm_Index *  obj)

Removes all items from a given index widget.

Since :
2.3
Remarks:
If deletion callbacks are set, via elm_object_item_del_cb_set(), that callback function will be called for each item in obj.
Parameters:
[in]objThe elm index object
Elm_Object_Item* elm_index_item_find ( Elm_Index *  obj,
const void *  data 
)

Find a given index widget's item, using item data.

Since :
2.3
Returns:
The index item handle, if found, or NULL otherwise
Parameters:
[in]objThe elm index object
[in]dataThe item data pointed to by the desired index item
Elm_Object_Item* elm_index_item_insert_after ( Elm_Index *  obj,
Elm_Object_Item after,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data 
)

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

Since :
2.3
Returns:
A handle to the item added or NULL, on errors
Remarks:
Despite the most common usage of the letter argument is for single char strings, one could use arbitrary strings as index entries.

item will be the pointer returned back on "changed", "delay,changed" and "selected" smart events.

Remarks:
If relative is NULL this function will behave as elm_index_item_append().
Parameters:
[in]objThe elm index object
[in]afterThe index item to insert after.
[in]letterLetter under which the item should be indexed
[in]funcThe function to call when the item is clicked.
[in]dataThe item data to set for the index's item
Elm_Object_Item* elm_index_item_insert_before ( Elm_Index *  obj,
Elm_Object_Item before,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data 
)

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

Since :
2.3
Returns:
A handle to the item added or NULL, on errors
Remarks:
Despite the most common usage of the letter argument is for single char strings, one could use arbitrary strings as index entries.

item will be the pointer returned back on "changed", "delay,changed" and "selected" smart events.

Remarks:
If relative is NULL this function will behave as elm_index_item_prepend().
Parameters:
[in]objThe elm index object
[in]beforeThe index item to insert after.
[in]letterLetter under which the item should be indexed
[in]funcThe function to call when the item is clicked.
[in]dataThe item data to set for the index's item
const char* elm_index_item_letter_get ( const Elm_Index_Item *  obj)

Get the letter (string) set on a given index widget item.

Since :
2.3
Returns:
The letter string set on item
Parameters:
[in]objThe elm index item object
int elm_index_item_level_get ( const Elm_Index *  obj)

Get the items level set for a given index widget.

Since :
2.3
Returns:
0 or 1, which are the levels obj might be at.
See also:
elm_index_item_level_set() for more information
Parameters:
[in]objThe elm index object
void elm_index_item_level_set ( Elm_Index *  obj,
int  level 
)

Set the items level for a given index widget.

Since :
2.3
See also:
elm_index_item_level_get()
Parameters:
[in]objThe elm index object
[in]level0 or 1, the currently implemented levels.
Elm_Object_Item* elm_index_item_prepend ( Elm_Index *  obj,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data 
)

Prepend a new item on a given index widget.

Since :
2.3
Returns:
A handle to the item added or NULL, on errors
Remarks:
Despite the most common usage of the letter argument is for single char strings, one could use arbitrary strings as index entries.

item will be the pointer returned back on "changed", "delay,changed" and "selected" smart events.

Parameters:
[in]objThe elm index object
[in]letterLetter under which the item should be indexed
[in]funcThe function to call when the item is selected.
[in]dataThe item data to set for the index's item
void elm_index_item_selected_set ( Elm_Index_Item *  obj,
Eina_Bool  selected 
)

Set the selected state of an item.

Since :
2.3
Remarks:
This sets the selected state of the given item it. EINA_TRUE for selected, EINA_FALSE for not selected.
If a new item is selected the previously selected will be unselected. Previously selected item can be get with function elm_index_selected_item_get().
Selected items will be highlighted.
See also:
elm_index_selected_item_get()
Parameters:
[in]objThe elm index item object
[in]selectedEINA_TRUE if selected EINA_FALSE otherwise
Elm_Object_Item* elm_index_item_sorted_insert ( Elm_Index *  obj,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data,
Eina_Compare_Cb  cmp_func,
Eina_Compare_Cb  cmp_data_func 
)

Insert a new item into the given index widget, using cmp_func function to sort items (by item handles).

Since :
2.3
Returns:
A handle to the item added or NULL, on errors
Remarks:
Despite the most common usage of the letter argument is for single char strings, one could use arbitrary strings as index entries.

item will be the pointer returned back on "changed", "delay,changed" and "selected" smart events.

Parameters:
[in]objThe elm index object
[in]letterLetter under which the item should be indexed
[in]funcThe function to call when the item is clicked.
[in]dataThe item data to set for the index's item
[in]cmp_funcThe comparing function to be used to sort index items by index item handles
[in]cmp_data_funcA fallback function to be called for the sorting of index items by item data). It will be used when cmp_func returns 0 (equality), which means an index item with provided item data already exists. To decide which data item should be pointed to by the index item in question, cmp_data_func will be used. If cmp_data_func returns a non-negative value, the previous index item data will be replaced by the given item pointer. If the previous data need to be freed, it should be done by the cmp_data_func function, because all references to it will be lost. If this function is not provided (NULL is given), index items will be duplicated, if cmp_func returns 0.
void elm_index_level_go ( Elm_Index *  obj,
int  level 
)

Flush the changes made to the index items so they work correctly.

Since :
2.3
Remarks:
This flushes any changes made to items indicating the object is ready to go. You should call this before any changes you expect to work. This is similar to elm_list_go().
Warning:
If not called, it won't display the index properly.
Parameters:
[in]objThe elm index object
[in]levelThe index level (one of 0 or 1) where changes were made
Eina_Bool elm_index_omit_enabled_get ( const Elm_Index *  obj)

Get whether omit feature is enabled or not for a given index widget.

Since :
2.3
Returns:
EINA_TRUE, if omit feature is enabled, EINA_FALSE otherwise
See also:
elm_index_omit_enabled_set()
Since (EFL) :
1.8
Parameters:
[in]objThe elm index object
void elm_index_omit_enabled_set ( Elm_Index *  obj,
Eina_Bool  enabled 
)

Enable or disable omit feature for a given index widget.

Since :
2.3
See also:
elm_index_omit_enabled_get()
Since (EFL) :
1.8
Parameters:
[in]objThe elm index object
[in]enabledEINA_TRUE to enable omit feature, EINA_FALSE to disable
int elm_index_priority_get ( const Elm_Index *  obj)

Get current priority group of index.

Returns:
priority value in index
Since (EFL) :
tizen 2.4
Parameters:
[in]objThe elm index object
void elm_index_priority_set ( Elm_Index *  obj,
int  priority 
)

Set priority group of index. Priority group will be shown as many items as it can, and other group will be shown one character only.

Since (EFL) :
tizen 2.4
Parameters:
[in]objThe elm index object
[in]prioritypriority target priority value in index
Elm_Object_Item* elm_index_selected_item_get ( const Elm_Index *  obj,
int  level 
)

Returns the last selected item, for a given index widget.

Since :
2.3
Returns:
The last item selected on obj (or NULL, on errors).
Parameters:
[in]objThe elm index object
[in]level0 or 1, the currently implemented levels.