Tizen Native API  3.0

multibuttonentry_inheritance_tree.png

A multi-button entry is a widget letting an 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 Elm_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

Functions

Evas_Objectelm_multibuttonentry_add (Evas_Object *parent)
 Add a new multibuttonentry to the parent.
void elm_multibuttonentry_editable_set (Elm_Multibuttonentry *obj, Eina_Bool editable)
 Control if the multibuttonentry is to be editable or not.
Eina_Bool elm_multibuttonentry_editable_get (const Elm_Multibuttonentry *obj)
 Control if the multibuttonentry is to be editable or not.
void elm_multibuttonentry_expanded_set (Elm_Multibuttonentry *obj, Eina_Bool expanded)
 Control the multibuttonentry to expanded state.
Eina_Bool elm_multibuttonentry_expanded_get (const Elm_Multibuttonentry *obj)
 Control the multibuttonentry to expanded state.
void elm_multibuttonentry_format_function_set (Elm_Multibuttonentry *obj, Elm_Multibuttonentry_Format_Cb format_function, const void *data)
 
const Eina_Listelm_multibuttonentry_items_get (const Elm_Multibuttonentry *obj)
 
Elm_Widget_Item * elm_multibuttonentry_first_item_get (const Elm_Multibuttonentry *obj)
 
Elm_Widget_Item * elm_multibuttonentry_last_item_get (const Elm_Multibuttonentry *obj)
 
Evas_Objectelm_multibuttonentry_entry_get (const Elm_Multibuttonentry *obj)
 
Elm_Widget_Item * elm_multibuttonentry_selected_item_get (const Elm_Multibuttonentry *obj)
 
Elm_Widget_Item * elm_multibuttonentry_item_prepend (Elm_Multibuttonentry *obj, const char *label, Evas_Smart_Cb func, void *data)
 
void elm_multibuttonentry_clear (Elm_Multibuttonentry *obj)
 
void elm_multibuttonentry_item_filter_remove (Elm_Multibuttonentry *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
 
Elm_Widget_Item * elm_multibuttonentry_item_insert_before (Elm_Multibuttonentry *obj, Elm_Widget_Item *before, const char *label, Evas_Smart_Cb func, void *data)
 
Elm_Widget_Item * elm_multibuttonentry_item_append (Elm_Multibuttonentry *obj, const char *label, Evas_Smart_Cb func, void *data)
 
void elm_multibuttonentry_item_filter_prepend (Elm_Multibuttonentry *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
 
void elm_multibuttonentry_item_filter_append (Elm_Multibuttonentry *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
 
Elm_Widget_Item * elm_multibuttonentry_item_insert_after (Elm_Multibuttonentry *obj, Elm_Widget_Item *after, const char *label, Evas_Smart_Cb func, void *data)
 

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)

Typedef Documentation

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:
countNumber of hidden items
dataThe (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()
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:
objThe parent object
item_labelThe label corresponding to the added item.
item_datadata specific to this item.
datadata specific to the multibuttonentry.
Returns:
EINA_TRUE EINA_FALSE otherwise.

Function Documentation

Add a new multibuttonentry to the parent.

Parameters:
parentThe parent object
Returns:
The new object or NULL if it cannot be created
Since :
2.3
void elm_multibuttonentry_clear ( Elm_Multibuttonentry *  obj)

Remove all items in the multibuttonentry.

Since :
2.3
Eina_Bool elm_multibuttonentry_editable_get ( const Elm_Multibuttonentry *  obj)

Control if the multibuttonentry is to be editable or not.

Since :
2.3
Returns:
If true, user can add/delete item in multibuttonentry, if not, the multibuttonentry is non-editable.
Since (EFL) :
1.7
void elm_multibuttonentry_editable_set ( Elm_Multibuttonentry *  obj,
Eina_Bool  editable 
)

Control if the multibuttonentry is to be editable or not.

Since :
2.3
Parameters:
[in]editableIf true, user can add/delete item in multibuttonentry, if not, the multibuttonentry is non-editable.
Since (EFL) :
1.7
Evas_Object* elm_multibuttonentry_entry_get ( const Elm_Multibuttonentry *  obj)

Get the entry of the multibuttonentry object

Since :
2.3
Returns:
The entry object, or NULL if none
Eina_Bool elm_multibuttonentry_expanded_get ( const Elm_Multibuttonentry *  obj)

Control the multibuttonentry to expanded state.

In expanded state, the complete entry will be displayed. Otherwise, only single line of the entry will be displayed.

Since :
2.3
Returns:
the value of expanded state. Set this to true for expanded state. Set this to false for single line state.
void elm_multibuttonentry_expanded_set ( Elm_Multibuttonentry *  obj,
Eina_Bool  expanded 
)

Control the multibuttonentry to expanded state.

In expanded state, the complete entry will be displayed. Otherwise, only single line of the entry will be displayed.

Since :
2.3
Parameters:
[in]expandedthe value of expanded state. Set this to true for expanded state. Set this to false for single line state.
Elm_Widget_Item* elm_multibuttonentry_first_item_get ( const Elm_Multibuttonentry *  obj)

Get the first item in the multibuttonentry

Since :
2.3
Returns:
The first item, or NULL if none
void elm_multibuttonentry_format_function_set ( Elm_Multibuttonentry *  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".

Since :
3.0
Parameters:
[in]format_functionformat_function The actual format function
[in]datadata User data to passed to format_function
Since (EFL) :
1.9
Elm_Widget_Item* elm_multibuttonentry_item_append ( Elm_Multibuttonentry *  obj,
const char *  label,
Evas_Smart_Cb  func,
void *  data 
)

Append a new item to the multibuttonentry

See elm_object_item_del to delete the item.

Since :
2.3
Parameters:
[in]funcThe callback function to be invoked when this item is pressed.
[in]dataThe pointer to the data to be attached
Returns:
A handle to the item added or NULL if not possible
void elm_multibuttonentry_item_filter_append ( Elm_Multibuttonentry *  obj,
Elm_Multibuttonentry_Item_Filter_Cb  func,
void *  data 
)

Append an item filter function for text inserted in the Multibuttonentry

Append the given callback to the list. This functions will be called whenever any text is inserted into the Multibuttonentry, with the text to be inserted as a parameter. The callback function is free to alter the text in any way it wants, but it must remember to free the given pointer and update it. If the new text is to be discarded, the function can free it and set it text parameter to NULL. This will also prevent any following filters from being called.

Since :
2.3
Parameters:
[in]dataUser data to pass to func
void elm_multibuttonentry_item_filter_prepend ( Elm_Multibuttonentry *  obj,
Elm_Multibuttonentry_Item_Filter_Cb  func,
void *  data 
)

Prepend a filter function for text inserted in the Multibuttonentry

Prepend the given callback to the list. See elm_multibuttonentry_item_filter_append() for more information

Since :
2.3
Parameters:
[in]dataUser data to pass to func
void elm_multibuttonentry_item_filter_remove ( Elm_Multibuttonentry *  obj,
Elm_Multibuttonentry_Item_Filter_Cb  func,
void *  data 
)

Remove a filter from the list

Removes the given callback from the filter list. See elm_multibuttonentry_item_filter_append() for more information.

Since :
2.3
Parameters:
[in]dataThe user data passed when adding the function
Elm_Widget_Item* elm_multibuttonentry_item_insert_after ( Elm_Multibuttonentry *  obj,
Elm_Widget_Item *  after,
const char *  label,
Evas_Smart_Cb  func,
void *  data 
)

Add a new item to the multibuttonentry after the indicated object

See elm_object_item_del to delete the item.

Since :
2.3
Parameters:
[in]labelThe label of new item
[in]funcThe callback function to be invoked when this item is pressed.
[in]dataThe pointer to the data to be attached
Returns:
A handle to the item added or NULL if not possible
Elm_Widget_Item* elm_multibuttonentry_item_insert_before ( Elm_Multibuttonentry *  obj,
Elm_Widget_Item *  before,
const char *  label,
Evas_Smart_Cb  func,
void *  data 
)

Add a new item to the multibuttonentry before the indicated object reference.

See elm_object_item_del to delete the item.

Since :
2.3
Parameters:
[in]labelThe label of new item
[in]funcThe callback function to be invoked when this item is pressed.
[in]dataThe pointer to the data to be attached
Returns:
A handle to the item added or NULL if not possible
Elm_Widget_Item* elm_multibuttonentry_item_prepend ( Elm_Multibuttonentry *  obj,
const char *  label,
Evas_Smart_Cb  func,
void *  data 
)

Prepend a new item to the multibuttonentry

See elm_object_item_del to delete the item.

Since :
2.3
Parameters:
[in]funcThe callback function to be invoked when this item is pressed.
[in]dataThe pointer to the data to be attached
Returns:
A handle to the item added or NULL if not possible
const Eina_List* elm_multibuttonentry_items_get ( const Elm_Multibuttonentry *  obj)

Get a list of items in the multibuttonentry

Since :
2.3
Returns:
The list of items, or NULL if none
Elm_Widget_Item* elm_multibuttonentry_last_item_get ( const Elm_Multibuttonentry *  obj)

Get the last item in the multibuttonentry

Since :
2.3
Returns:
The last item, or NULL if none
Elm_Widget_Item* elm_multibuttonentry_selected_item_get ( const Elm_Multibuttonentry *  obj)

Get the selected item in the multibuttonentry

Since :
2.3
Returns:
The selected item, or NULL if none