Index

- Main Page
- Related Pages
- Data Structures
- Files
- Examples

Functions
Index

## Functions
EOAPI void | elm_obj_index_autohide_disabled_set (Eina_Bool disabled)
| Enable or disable auto hiding feature for a given index widget. More...
EOAPI Eina_Bool | elm_obj_index_autohide_disabled_get (void)
| Get whether auto hiding feature is enabled or not for a given index widget. More...
EOAPI void | elm_obj_index_omit_enabled_set (Eina_Bool enabled)
| Enable or disable omit feature for a given index widget. More...
EOAPI Eina_Bool | elm_obj_index_omit_enabled_get (void)
| Get whether omit feature is enabled or not for a given index widget. More...
EOAPI void | elm_obj_index_horizontal_set (Eina_Bool horizontal)
| Enable or disable horizontal mode on the index object. More...
EOAPI Eina_Bool | elm_obj_index_horizontal_get (void)
| Get a value whether horizontal mode is enabled or not. More...
EOAPI void | elm_obj_index_delay_change_time_set (double dtime)
| Set a delay change time for index object. More...
EOAPI double | elm_obj_index_delay_change_time_get (void)
| Get a delay change time for index object. More...
EOAPI void | elm_obj_index_indicator_disabled_set (Eina_Bool disabled)
| Set the indicator as to be disabled. More...
EOAPI Eina_Bool | elm_obj_index_indicator_disabled_get (void)
| Get the value of indicator's disabled status. More...
EOAPI void | elm_obj_index_item_level_set (int level)
| Set the items level for a given index widget. More...
EOAPI int | elm_obj_index_item_level_get (void)
| Get the items level set for a given index widget. More...
EOAPI void | elm_obj_index_level_go (int level)
| Flush the changes made to the index items so they work correctly. More...
EOAPI Elm_Object_Item * | elm_obj_index_item_prepend (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 (void)
| Removes all items from a given index widget. More...
EOAPI Elm_Object_Item * | elm_obj_index_item_insert_after (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`. More...
EOAPI Elm_Object_Item * | elm_obj_index_item_find (const void *data)
| Find a given index widget's item, using item data. More...
EOAPI Elm_Object_Item * | elm_obj_index_item_insert_before (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`. More...
EOAPI Elm_Object_Item * | elm_obj_index_item_append (const char *letter, Evas_Smart_Cb func, const void *data)
| Append a new item on a given index widget. More...
EOAPI Elm_Object_Item * | elm_obj_index_selected_item_get (int level)
| Returns the last selected item, for a given index widget. More...
EOAPI Elm_Object_Item * | elm_obj_index_item_sorted_insert (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...
void | elm_index_autohide_disabled_set (Elm_Index *obj, Eina_Bool disabled)
| Enable or disable auto hiding feature for a given index widget. More...
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. More...
void | elm_index_omit_enabled_set (Elm_Index *obj, Eina_Bool enabled)
| Enable or disable omit feature for a given index widget. More...
Eina_Bool | elm_index_omit_enabled_get (const Elm_Index *obj)
| Get whether omit feature is enabled or not for a given index widget. More...
void | elm_index_horizontal_set (Elm_Index *obj, Eina_Bool horizontal)
| Enable or disable horizontal mode on the index object. More...
Eina_Bool | elm_index_horizontal_get (const Elm_Index *obj)
| Get a value whether horizontal mode is enabled or not. More...
void | elm_index_delay_change_time_set (Elm_Index *obj, double dtime)
| Set a delay change time for index object. More...
double | elm_index_delay_change_time_get (const Elm_Index *obj)
| Get a delay change time for index object. More...
void | elm_index_indicator_disabled_set (Elm_Index *obj, Eina_Bool disabled)
| Set the indicator as to be disabled. More...
Eina_Bool | elm_index_indicator_disabled_get (const Elm_Index *obj)
| Get the value of indicator's disabled status. More...
void | elm_index_item_level_set (Elm_Index *obj, int level)
| Set the items level for a given index widget. More...
int | elm_index_item_level_get (const Elm_Index *obj)
| Get the items level set for a given index widget. More...
void | elm_index_level_go (Elm_Index *obj, int level)
| Flush the changes made to the index items so they work correctly. More...
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. More...
void | elm_index_item_clear (Elm_Index *obj)
| Removes all items from a given index widget. More...
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`. More...
Elm_Object_Item * | elm_index_item_find (Elm_Index *obj, const void *data)
| Find a given index widget's item, using item data. More...
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`. More...
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. More...
Elm_Object_Item * | elm_index_selected_item_get (const Elm_Index *obj, int level)
| Returns the last selected item, for a given index widget. More...
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). More...
EOAPI void | elm_obj_index_item_selected_set (Eina_Bool selected)
| Set the selected state of an item. More...
EOAPI const char * | elm_obj_index_item_letter_get (void)
| Get the letter (string) set on a given index widget item. More...
void | elm_index_item_selected_set (Elm_Index_Item *obj, Eina_Bool selected)
| Set the selected state of an item. More...
const char * | elm_index_item_letter_get (const Elm_Index_Item *obj)
| Get the letter (string) set on a given index widget item. More...
Evas_Object * | elm_index_add (Evas_Object *parent)
| Add a new index widget to the given parent Elementary (container) object. More...

## Detailed Description

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

Here are some examples on its usage:

- Index widget example 1
- Index widget example 2

## Function Documentation

Evas_Object* elm_index_add | ( | Evas_Object * | parent | ) |

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

Parameters

  parent | The parent object

Returns
  a new index widget handle or `NULL`, on errors

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.

Returns
  `EINA_TRUE`, if auto hiding is disabled, `EINA_FALSE` otherwise

See also
  elm_index_autohide_disabled_set() for more details

References elm_obj_index_autohide_disabled_get().

void elm_index_autohide_disabled_set | ( | Elm_Index * | obj,
|  | Eina_Bool | disabled
| ) |  |

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

See also
  elm_index_autohide_disabled_get()

Parameters

  [in] | disabled | `EINA_TRUE` to disable auto hiding, `EINA_FALSE` to enable

References elm_obj_index_autohide_disabled_set().

double elm_index_delay_change_time_get | ( | const Elm_Index * | obj | ) |

Get a delay change time for index object.

Returns
  delay change time in seconds

See also
  elm_index_delay_change_time_set

References elm_obj_index_delay_change_time_get().

void elm_index_delay_change_time_set | ( | Elm_Index * | obj,
|  | double | dtime
| ) |  |

Set a delay change time for index object.

Note
  delay time is 0.2 sec by default.

See also
  elm_index_delay_change_time_get

Parameters

  [in] | dtime | The delay change time to set.

References elm_obj_index_delay_change_time_set().

Eina_Bool elm_index_horizontal_get | ( | const Elm_Index * | obj | ) |

Get a value whether horizontal mode is enabled or not.

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.

References elm_obj_index_horizontal_get().

void elm_index_horizontal_set | ( | Elm_Index * | 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.

See also
  elm_index_horizontal_get()

Parameters

  [in] | horizontal | `EINA_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.

References elm_obj_index_horizontal_set().

Eina_Bool elm_index_indicator_disabled_get | ( | const Elm_Index * | obj | ) |

Get the value of indicator's disabled status.

Returns
  EINA_TRUE if the indicator is disabled.

See also
  elm_index_indicator_disabled_set()

References elm_obj_index_indicator_disabled_get().

void elm_index_indicator_disabled_set | ( | Elm_Index * | obj,
|  | Eina_Bool | disabled
| ) |  |

Set the indicator as to be disabled.

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

See also
  elm_index_indicator_disabled_get()

Parameters

  [in] | disabled | `EINA_TRUE` to disable it, `EINA_FALSE` to enable it

References elm_obj_index_indicator_disabled_set().

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.

Returns
  A handle to the item added or `NULL`, on errors

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] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is selected.
  [in] | data | The item data to set for the index's item

References elm_obj_index_item_append().

void elm_index_item_clear | ( | Elm_Index * | 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`.

References elm_obj_index_item_clear().

Elm_Object_Item* elm_index_item_find | ( | Elm_Index * | obj,
|  | const void * | data
| ) |  |

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

Returns
  The index item handle, if found, or `NULL` otherwise

Parameters

  [in] | data | The item data pointed to by the desired index item

References elm_obj_index_item_find().

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

Returns
  A handle to the item added or `NULL`, on errors

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 `relative` is `NULL` this function will behave as elm_index_item_append().

Parameters

  [in] | after | The index item to insert after.
  [in] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is clicked.
  [in] | data | The item data to set for the index's item

References elm_obj_index_item_insert_after().

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

Returns
  A handle to the item added or `NULL`, on errors

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 `relative` is `NULL` this function will behave as elm_index_item_prepend().

Parameters

  [in] | before | The index item to insert after.
  [in] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is clicked.
  [in] | data | The item data to set for the index's item

References elm_obj_index_item_insert_before().

const char* elm_index_item_letter_get | ( | const Elm_Index_Item * | obj | ) |

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

Returns
  The letter string set on `item`

References elm_obj_index_item_letter_get().

int elm_index_item_level_get | ( | const Elm_Index * | obj | ) |

Get the items level set for a given index widget.

Returns
  `0` or `1`, which are the levels `obj` might be at.

See also
  elm_index_item_level_set() for more information

References elm_obj_index_item_level_get().

void elm_index_item_level_set | ( | Elm_Index * | obj,
|  | int | level
| ) |  |

Set the items level for a given index widget.

See also
  elm_index_item_level_get()

Parameters

  [in] | level | `0` or `1`, the currently implemented levels.

References elm_obj_index_item_level_set().

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.

Returns
  A handle to the item added or `NULL`, on errors

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] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is selected.
  [in] | data | The item data to set for the index's item

References elm_obj_index_item_prepend().

void elm_index_item_selected_set | ( | Elm_Index_Item * | obj,
|  | Eina_Bool | selected
| ) |  |

Set the selected state of an item.

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] | selected | EINA_TRUE if selected EINA_FALSE otherwise

References elm_obj_index_item_selected_set().

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

Returns
  A handle to the item added or `NULL`, on errors

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] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is clicked.
  [in] | data | The item data to set for the index's item
  [in] | cmp_func | The comparing function to be used to sort index items by index item handles
  [in] | cmp_data_func | A 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`.

References elm_obj_index_item_sorted_insert().

void elm_index_level_go | ( | Elm_Index * | 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] | level | The index level (one of `0` or `1`) where changes were made

References elm_obj_index_level_go().

Eina_Bool elm_index_omit_enabled_get | ( | const Elm_Index * | obj | ) |

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

Returns
  `EINA_TRUE`, if omit feature is enabled, `EINA_FALSE` otherwise

See also
  elm_index_omit_enabled_set()

Since
  1.8

References elm_obj_index_omit_enabled_get().

void elm_index_omit_enabled_set | ( | Elm_Index * | obj,
|  | Eina_Bool | enabled
| ) |  |

Enable or disable omit feature for a given index widget.

See also
  elm_index_omit_enabled_get()

Since
  1.8

Parameters

  [in] | enabled | `EINA_TRUE` to enable omit feature, `EINA_FALSE` to disable

References elm_obj_index_omit_enabled_set().

Elm_Object_Item* elm_index_selected_item_get | ( | const Elm_Index * | obj,
|  | int | level
| ) |  |

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

Returns
  The last item selected on `obj` (or `NULL`, on errors).

Parameters

  [in] | level | `0` or `1`, the currently implemented levels.

References elm_obj_index_selected_item_get().

EOAPI Eina_Bool elm_obj_index_autohide_disabled_get | ( | void |  | ) |

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

Returns
  `EINA_TRUE`, if auto hiding is disabled, `EINA_FALSE` otherwise

See also
  elm_index_autohide_disabled_set() for more details

Referenced by elm_index_autohide_disabled_get().

EOAPI void elm_obj_index_autohide_disabled_set | ( | Eina_Bool | disabled | ) |

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

See also
  elm_index_autohide_disabled_get()

Parameters

  [in] | disabled | `EINA_TRUE` to disable auto hiding, `EINA_FALSE` to enable

Referenced by elm_index_autohide_disabled_set().

EOAPI double elm_obj_index_delay_change_time_get | ( | void |  | ) |

Get a delay change time for index object.

Returns
  delay change time in seconds

See also
  elm_index_delay_change_time_set

Referenced by elm_index_delay_change_time_get().

EOAPI void elm_obj_index_delay_change_time_set | ( | double | dtime | ) |

Set a delay change time for index object.

Note
  delay time is 0.2 sec by default.

See also
  elm_index_delay_change_time_get

Parameters

  [in] | dtime | The delay change time to set.

Referenced by elm_index_delay_change_time_set().

EOAPI Eina_Bool elm_obj_index_horizontal_get | ( | void |  | ) |

Get a value whether horizontal mode is enabled or not.

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.

Referenced by elm_index_horizontal_get().

EOAPI void elm_obj_index_horizontal_set | ( | 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.

See also
  elm_index_horizontal_get()

Parameters

  [in] | horizontal | `EINA_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.

Referenced by elm_index_horizontal_set().

EOAPI Eina_Bool elm_obj_index_indicator_disabled_get | ( | void |  | ) |

Get the value of indicator's disabled status.

Returns
  EINA_TRUE if the indicator is disabled.

See also
  elm_index_indicator_disabled_set()

Referenced by elm_index_indicator_disabled_get().

EOAPI void elm_obj_index_indicator_disabled_set | ( | Eina_Bool | disabled | ) |

Set the indicator as to be disabled.

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

See also
  elm_index_indicator_disabled_get()

Parameters

  [in] | disabled | `EINA_TRUE` to disable it, `EINA_FALSE` to enable it

Referenced by elm_index_indicator_disabled_set().

EOAPI Elm_Object_Item* elm_obj_index_item_append | ( | const char * | letter,
|  | Evas_Smart_Cb | func,
|  | const void * | data
| ) |  |

Append a new item on a given index widget.

Returns
  A handle to the item added or `NULL`, on errors

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] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is selected.
  [in] | data | The item data to set for the index's item

Referenced by elm_index_item_append().

EOAPI void elm_obj_index_item_clear | ( | void |  | ) |

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

Referenced by elm_index_item_clear().

EOAPI Elm_Object_Item* elm_obj_index_item_find | ( | const void * | data | ) |

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

Returns
  The index item handle, if found, or `NULL` otherwise

Parameters

  [in] | data | The item data pointed to by the desired index item

Referenced by elm_index_item_find().

EOAPI Elm_Object_Item* elm_obj_index_item_insert_after | ( | 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`.

Returns
  A handle to the item added or `NULL`, on errors

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 `relative` is `NULL` this function will behave as elm_index_item_append().

Parameters

  [in] | after | The index item to insert after.
  [in] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is clicked.
  [in] | data | The item data to set for the index's item

Referenced by elm_index_item_insert_after().

EOAPI Elm_Object_Item* elm_obj_index_item_insert_before | ( | 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`.

Returns
  A handle to the item added or `NULL`, on errors

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 `relative` is `NULL` this function will behave as elm_index_item_prepend().

Parameters

  [in] | before | The index item to insert after.
  [in] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is clicked.
  [in] | data | The item data to set for the index's item

Referenced by elm_index_item_insert_before().

EOAPI const char* elm_obj_index_item_letter_get | ( | void |  | ) |

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

Returns
  The letter string set on `item`

Referenced by elm_index_item_letter_get().

EOAPI int elm_obj_index_item_level_get | ( | void |  | ) |

Get the items level set for a given index widget.

Returns
  `0` or `1`, which are the levels `obj` might be at.

See also
  elm_index_item_level_set() for more information

Referenced by elm_index_item_level_get().

EOAPI void elm_obj_index_item_level_set | ( | int | level | ) |

Set the items level for a given index widget.

See also
  elm_index_item_level_get()

Parameters

  [in] | level | `0` or `1`, the currently implemented levels.

Referenced by elm_index_item_level_set().

EOAPI Elm_Object_Item* elm_obj_index_item_prepend | ( | const char * | letter,
|  | Evas_Smart_Cb | func,
|  | const void * | data
| ) |  |

Prepend a new item on a given index widget.

Returns
  A handle to the item added or `NULL`, on errors

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] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is selected.
  [in] | data | The item data to set for the index's item

Referenced by elm_index_item_prepend().

EOAPI void elm_obj_index_item_selected_set | ( | Eina_Bool | selected | ) |

Set the selected state of an item.

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] | selected | EINA_TRUE if selected EINA_FALSE otherwise

Referenced by elm_index_item_selected_set().

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

Returns
  A handle to the item added or `NULL`, on errors

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] | letter | Letter under which the item should be indexed
  [in] | func | The function to call when the item is clicked.
  [in] | data | The item data to set for the index's item
  [in] | cmp_func | The comparing function to be used to sort index items by index item handles
  [in] | cmp_data_func | A 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`.

Referenced by elm_index_item_sorted_insert().

EOAPI void elm_obj_index_level_go | ( | 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] | level | The index level (one of `0` or `1`) where changes were made

Referenced by elm_index_level_go().

EOAPI Eina_Bool elm_obj_index_omit_enabled_get | ( | void |  | ) |

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

Returns
  `EINA_TRUE`, if omit feature is enabled, `EINA_FALSE` otherwise

See also
  elm_index_omit_enabled_set()

Since
  1.8

Referenced by elm_index_omit_enabled_get().

EOAPI void elm_obj_index_omit_enabled_set | ( | Eina_Bool | enabled | ) |

Enable or disable omit feature for a given index widget.

See also
  elm_index_omit_enabled_get()

Since
  1.8

Parameters

  [in] | enabled | `EINA_TRUE` to enable omit feature, `EINA_FALSE` to disable

Referenced by elm_index_omit_enabled_set().

EOAPI Elm_Object_Item* elm_obj_index_selected_item_get | ( | int | level | ) |

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

Returns
  The last item selected on `obj` (or `NULL`, on errors).

Parameters

  [in] | level | `0` or `1`, the currently implemented levels.

Referenced by elm_index_selected_item_get().