Multibuttonentry
Elementary

## Typedefs

typedef Eina_Bool(* | Elm_Multibuttonentry_Item_Filter_Cb) (Evas_Object *obj, const char *item_label, void *item_data, void *data)
| Callback to be invoked when an item is added to the multibuttonentry.
typedef char *(* | Elm_Multibuttonentry_Format_Cb) (int count, void *data)
| This callback type is used to format the string that will be used to display the hidden items counter, when not in expanded mode.

## Functions

Evas_Object * | elm_multibuttonentry_add (Evas_Object *parent)
| Add a new multibuttonentry to the parent.
void | elm_multibuttonentry_format_function_set (Eo *obj, Elm_Multibuttonentry_Format_Cb format_function, const void *data)
| Set a function to format the string that will be used to display the hidden items counter.

## Detailed Description

A multi-button entry is a widget letting a user enter text and each chunk of text managed as a set of buttons. Each text button is inserted by pressing the "return" key. If there is no space in the current row, a new button is added to the next row. When a text button is pressed, it will become focused. Backspace removes the focus. When the multi-button entry loses focus, items longer than one line are shrunk to one line.

The typical use case of multi-button entry is composing emails/messages to a group of addresses, each of which is an item that can be clicked for further actions.

This widget inherits from the Layout one, so that all the functions acting on it also work for multi-button entry objects (since 1.8).

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

- `"item,selected"` - this is called when an item is selected by api, user interaction, and etc. this is also called when a user press back space while cursor is on the first field of entry.
- `"item,added"` - when a new multi-button entry item is added.
- `"item,deleted"` - when a multi-button entry item is deleted.
- `"item,clicked"` - this is called when an item is clicked by user interaction. Both "item,selected" and "item,clicked" are needed.
- `"item,longpressed"` - when multi-button entry item is pressed for a long time.
- `"clicked"` - when multi-button entry is clicked.
- `"focused"` - when multi-button entry is focused.
- `"unfocused"` - when multi-button entry is unfocused.
- `"expanded"` - when multi-button entry is expanded.
- `"contracted"` - when multi-button entry is contracted.
- `"expand,state,changed"` - when shrink mode state of multi-button entry is changed.

Default text parts of the multi-button entry widget that you can use are:

- "default" - A label of the multi-button entry

Default text parts of multi-button entry items that you can use are:

- "default" - A label of the multi-button entry item

Supported elm_object_item common APIs.

- elm_object_item_del
- elm_object_item_part_text_set
- elm_object_item_part_text_get

## Typedef Documentation

## Elm_Multibuttonentry_Item_Filter_Cb

typedef Eina_Bool(* Elm_Multibuttonentry_Item_Filter_Cb) (Evas_Object *obj, const char *item_label, void *item_data, void *data)

Callback to be invoked when an item is added to the multibuttonentry.

Parameters

  obj | The parent object
  item_label | The label corresponding to the added item.
  item_data | data specific to this item.
  data | data specific to the multibuttonentry.

Returns
  `EINA_TRUE` `EINA_FALSE` otherwise.

## Elm_Multibuttonentry_Format_Cb

typedef char *(* Elm_Multibuttonentry_Format_Cb) (int count, void *data)

This callback type is used to format the string that will be used to display the hidden items counter, when not in expanded mode.

Parameters

  count | Number of hidden items
  data | The (context) data passed in to elm_multibuttonentry_format_function_set()

Returns
  String representing the counter that will be set to multibuttonentry's counter item's text.

See also
  elm_multibuttonentry_format_function_set()
  elm_multibuttonentry_expanded_set()

## Function Documentation

## elm_multibuttonentry_add()

Evas_Object * elm_multibuttonentry_add | ( | Evas_Object * | parent | ) |

Add a new multibuttonentry to the parent.

Parameters

  parent | The parent object

Returns
  The new object or NULL if it cannot be created

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_multibuttonentry_format_function_set()

void elm_multibuttonentry_format_function_set | ( | Eo * | obj,
|  | Elm_Multibuttonentry_Format_Cb | format_function,
|  | const void * | data )

Set a function to format the string that will be used to display the hidden items counter.

If `format_function` is `NULL`, the default format will be used, which is $"... + %d".

Parameters

  [in] | obj | The object.
  [in] | format_function | Format_function The actual format function
  [in] | data | Data User data to passed to `format_function`

Since
  1.9