Macros | Functions
Index

Macros

#define ELM_INDEX_CLASS   elm_index_class_get()
 elementary index class
 
#define ELM_INDEX_EVENT_CHANGED   (&(_ELM_INDEX_EVENT_CHANGED))
 Called when index changed. More...
 
#define ELM_INDEX_EVENT_DELAY_CHANGED   (&(_ELM_INDEX_EVENT_DELAY_CHANGED))
 Called when delay changed. More...
 
#define ELM_INDEX_EVENT_LEVEL_UP   (&(_ELM_INDEX_EVENT_LEVEL_UP))
 Called when level increased.
 
#define ELM_INDEX_EVENT_LEVEL_DOWN   (&(_ELM_INDEX_EVENT_LEVEL_DOWN))
 Called when level decreased.
 

Functions

EOAPI void elm_obj_index_autohide_disabled_set (Eo *obj, Eina_Bool disabled)
 Enable or disable auto hiding feature for a given index widget. More...
 
EOAPI Eina_Bool elm_obj_index_autohide_disabled_get (const Eo *obj)
 Enable or disable auto hiding feature for a given index widget. More...
 
EOAPI void elm_obj_index_omit_enabled_set (Eo *obj, Eina_Bool enabled)
 Enable or disable omit feature for a given index widget. More...
 
EOAPI Eina_Bool elm_obj_index_omit_enabled_get (const Eo *obj)
 Enable or disable omit feature for a given index widget. More...
 
EOAPI void elm_obj_index_standard_priority_set (Eo *obj, int priority)
 Control standard_priority group of index. More...
 
EOAPI int elm_obj_index_standard_priority_get (const Eo *obj)
 Control standard_priority group of index. More...
 
EOAPI void elm_obj_index_delay_change_time_set (Eo *obj, double dtime)
 Set a delay change time for index object. More...
 
EOAPI double elm_obj_index_delay_change_time_get (const Eo *obj)
 Set a delay change time for index object. More...
 
EOAPI void elm_obj_index_indicator_disabled_set (Eo *obj, Eina_Bool disabled)
 Control the indicator as to be disabled. More...
 
EOAPI Eina_Bool elm_obj_index_indicator_disabled_get (const Eo *obj)
 Control the indicator as to be disabled. More...
 
EOAPI void elm_obj_index_item_level_set (Eo *obj, int level)
 Set the items level for a given index widget. More...
 
EOAPI int elm_obj_index_item_level_get (const Eo *obj)
 Set the items level for a given index widget. More...
 
EOAPI void elm_obj_index_level_go (Eo *obj, int level)
 Flush the changes made to the index items so they work correctly. More...
 
EOAPI Elm_Widget_Itemelm_obj_index_item_prepend (Eo *obj, const char *letter, Evas_Smart_Cb func, const void *data)
 Prepend a new item on a given index widget. More...
 
EOAPI void elm_obj_index_item_clear (Eo *obj)
 Removes all items from a given index widget. More...
 
EOAPI Elm_Widget_Itemelm_obj_index_item_insert_after (Eo *obj, Elm_Widget_Item *after, const char *letter, Evas_Smart_Cb func, const void *data)
 Insert a new item into the index object after item after. More...
 
EOAPI Elm_Widget_Itemelm_obj_index_item_find (Eo *obj, const void *data)
 Find a given index widget's item, using item data. More...
 
EOAPI Elm_Widget_Itemelm_obj_index_item_insert_before (Eo *obj, Elm_Widget_Item *before, const char *letter, Evas_Smart_Cb func, const void *data)
 Insert a new item into the index object before item before. More...
 
EOAPI Elm_Widget_Itemelm_obj_index_item_append (Eo *obj, const char *letter, Evas_Smart_Cb func, const void *data)
 Append a new item on a given index widget. More...
 
EOAPI Elm_Widget_Itemelm_obj_index_selected_item_get (const Eo *obj, int level)
 Returns the last selected item, for a given index widget. More...
 
EOAPI Elm_Widget_Itemelm_obj_index_item_sorted_insert (Eo *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). More...
 
Evas_Objectelm_index_add (Evas_Object *parent)
 Add a new index widget to the given parent Elementary (container) object. More...
 
void elm_index_horizontal_set (Evas_Object *obj, Eina_Bool horizontal)
 Enable or disable horizontal mode on the index object. More...
 
Eina_Bool elm_index_horizontal_get (const Evas_Object *obj)
 Get enable or disable status of horizontal mode on the index object. More...
 

Detailed Description

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 :

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

Here are some examples on its usage:

Macro Definition Documentation

◆ ELM_INDEX_EVENT_CHANGED

#define ELM_INDEX_EVENT_CHANGED   (&(_ELM_INDEX_EVENT_CHANGED))

Called when index changed.

Returns
Efl_Object *

◆ ELM_INDEX_EVENT_DELAY_CHANGED

#define ELM_INDEX_EVENT_DELAY_CHANGED   (&(_ELM_INDEX_EVENT_DELAY_CHANGED))

Called when delay changed.

Returns
Efl_Object *

Function Documentation

◆ elm_obj_index_autohide_disabled_set()

EOAPI void elm_obj_index_autohide_disabled_set ( Eo obj,
Eina_Bool  disabled 
)

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

Parameters
[in]objThe object.
[in]disabledtrue to disable auto hiding, false to enable

◆ elm_obj_index_autohide_disabled_get()

EOAPI Eina_Bool elm_obj_index_autohide_disabled_get ( const Eo obj)

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

Parameters
[in]objThe object.
Returns
true to disable auto hiding, false to enable

◆ elm_obj_index_omit_enabled_set()

EOAPI void elm_obj_index_omit_enabled_set ( Eo obj,
Eina_Bool  enabled 
)

Enable or disable omit feature for a given index widget.

Parameters
[in]objThe object.
[in]enabledtrue to enable omit feature, false to disable
Since
1.8

◆ elm_obj_index_omit_enabled_get()

EOAPI Eina_Bool elm_obj_index_omit_enabled_get ( const Eo obj)

Enable or disable omit feature for a given index widget.

Parameters
[in]objThe object.
Returns
true to enable omit feature, false to disable
Since
1.8

◆ elm_obj_index_standard_priority_set()

EOAPI void elm_obj_index_standard_priority_set ( Eo obj,
int  priority 
)

Control standard_priority group of index.

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

Parameters
[in]objThe object.
[in]prioritypriority target priority value in index
Since
1.16

◆ elm_obj_index_standard_priority_get()

EOAPI int elm_obj_index_standard_priority_get ( const Eo obj)

Control standard_priority group of index.

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

Parameters
[in]objThe object.
Returns
priority target priority value in index
Since
1.16

◆ elm_obj_index_delay_change_time_set()

EOAPI void elm_obj_index_delay_change_time_set ( Eo obj,
double  dtime 
)

Set a delay change time for index object.

Note
delay time is 0.2 sec by default.
Parameters
[in]objThe object.
[in]dtimeThe delay change time to set.

◆ elm_obj_index_delay_change_time_get()

EOAPI double elm_obj_index_delay_change_time_get ( const Eo obj)

Set a delay change time for index object.

Note
delay time is 0.2 sec by default.
Parameters
[in]objThe object.
Returns
The delay change time to set.

◆ elm_obj_index_indicator_disabled_set()

EOAPI void elm_obj_index_indicator_disabled_set ( Eo obj,
Eina_Bool  disabled 
)

Control the indicator as to be disabled.

In Index widget, Indicator notes popup text, which shows a letter has been selecting.

Parameters
[in]objThe object.
[in]disabledtrue to disable it, false to enable it

◆ elm_obj_index_indicator_disabled_get()

EOAPI Eina_Bool elm_obj_index_indicator_disabled_get ( const Eo obj)

Control the indicator as to be disabled.

In Index widget, Indicator notes popup text, which shows a letter has been selecting.

Parameters
[in]objThe object.
Returns
true to disable it, false to enable it

◆ elm_obj_index_item_level_set()

EOAPI void elm_obj_index_item_level_set ( Eo obj,
int  level 
)

Set the items level for a given index widget.

See: elm_index_item_level_get()

Parameters
[in]objThe object.
[in]level$0 or $1, the currently implemented levels.

◆ elm_obj_index_item_level_get()

EOAPI int elm_obj_index_item_level_get ( const Eo obj)

Set the items level for a given index widget.

See: elm_index_item_level_get()

Parameters
[in]objThe object.
Returns
$0 or $1, the currently implemented levels.

◆ elm_obj_index_level_go()

EOAPI void elm_obj_index_level_go ( Eo obj,
int  level 
)

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

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 object.
[in]levelThe index level (one of $0 or $1) where changes were made

◆ elm_obj_index_item_prepend()

EOAPI Elm_Widget_Item* elm_obj_index_item_prepend ( Eo obj,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data 
)

Prepend a new item on a given index widget.

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 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
Returns
A handle to the item added or NULL, on errors

◆ elm_obj_index_item_clear()

EOAPI void elm_obj_index_item_clear ( Eo obj)

Removes all items from a given index widget.

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 object.

◆ elm_obj_index_item_insert_after()

EOAPI Elm_Widget_Item* elm_obj_index_item_insert_after ( Eo obj,
Elm_Widget_Item after,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data 
)

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

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.

Note
If after is NULL this function will behave as elm_index_item_append().
Parameters
[in]objThe 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
Returns
A handle to the item added or NULL, on errors

◆ elm_obj_index_item_find()

EOAPI Elm_Widget_Item* elm_obj_index_item_find ( Eo obj,
const void *  data 
)

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

Parameters
[in]objThe object.
[in]dataThe item data pointed to by the desired index item
Returns
The index item handle, if found, or NULL otherwise

◆ elm_obj_index_item_insert_before()

EOAPI Elm_Widget_Item* elm_obj_index_item_insert_before ( Eo obj,
Elm_Widget_Item before,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data 
)

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

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.

Note
If before is NULL this function will behave as elm_index_item_prepend().
Parameters
[in]objThe 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
Returns
A handle to the item added or NULL, on errors

◆ elm_obj_index_item_append()

EOAPI Elm_Widget_Item* elm_obj_index_item_append ( Eo obj,
const char *  letter,
Evas_Smart_Cb  func,
const void *  data 
)

Append a new item on a given index widget.

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 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
Returns
A handle to the item added or NULL, on errors

◆ elm_obj_index_selected_item_get()

EOAPI Elm_Widget_Item* elm_obj_index_selected_item_get ( const Eo obj,
int  level 
)

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

Parameters
[in]objThe object.
[in]level$0 or $1, the currently implemented levels.
Returns
The last item selected on obj (or NULL, on errors).

◆ elm_obj_index_item_sorted_insert()

EOAPI Elm_Widget_Item* elm_obj_index_item_sorted_insert ( Eo 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).

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 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.
Returns
A handle to the item added or NULL, on errors

◆ elm_index_add()

Evas_Object* elm_index_add ( Evas_Object parent)

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

Parameters
parentThe parent object
Returns
a new index widget handle or NULL, on errors

This function inserts a new index widget on the canvas.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ elm_index_horizontal_set()

void elm_index_horizontal_set ( Evas_Object obj,
Eina_Bool  horizontal 
)

Enable or disable horizontal mode on the index object.

Note
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.

Parameters
[in]horizontaltrue to enable horizontal or false to disable it, i.e., to enable vertical mode. it's an area one Fingers "finger" wide on the bottom side of the index widget's container.

◆ elm_index_horizontal_get()

Eina_Bool elm_index_horizontal_get ( const Evas_Object obj)

Get enable or disable status of horizontal mode on the index object.

Note
Vertical mode is set by default.

Returns the current status of horizontal mode on index object. On horizontal mode items are displayed on index from left to right, instead of from top to bottom. Also, the index will scroll horizontally.

Returns
Current status of horizontal mode on index object. true if horizontal mode is enabled or false if disabled.