A Multibuttonentry is a widget to allow a user enter text and manage it as a number of buttons. More...
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. | |
Functions | |
Evas_Object * | elm_multibuttonentry_add (Evas_Object *parent) |
Add a new multibuttonentry to the parent. | |
Evas_Object * | elm_multibuttonentry_entry_get (const Evas_Object *obj) |
Get the entry of the multibuttonentry object. | |
Eina_Bool | elm_multibuttonentry_expanded_get (const Evas_Object *obj) |
Get the value of expanded state. | |
void | elm_multibuttonentry_expanded_set (Evas_Object *obj, Eina_Bool expanded) |
Set/Unset the multibuttonentry to expanded state. | |
Elm_Object_Item * | elm_multibuttonentry_item_prepend (Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data) |
Prepend a new item to the multibuttonentry. | |
Elm_Object_Item * | elm_multibuttonentry_item_append (Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data) |
Append a new item to the multibuttonentry. | |
Elm_Object_Item * | elm_multibuttonentry_item_insert_before (Evas_Object *obj, Elm_Object_Item *before, const char *label, Evas_Smart_Cb func, void *data) |
Add a new item to the multibuttonentry before the indicated object. | |
Elm_Object_Item * | elm_multibuttonentry_item_insert_after (Evas_Object *obj, Elm_Object_Item *after, const char *label, Evas_Smart_Cb func, void *data) |
Add a new item to the multibuttonentry after the indicated object. | |
const Eina_List * | elm_multibuttonentry_items_get (const Evas_Object *obj) |
Get a list of items in the multibuttonentry. | |
Elm_Object_Item * | elm_multibuttonentry_first_item_get (const Evas_Object *obj) |
Get the first item in the multibuttonentry. | |
Elm_Object_Item * | elm_multibuttonentry_last_item_get (const Evas_Object *obj) |
Get the last item in the multibuttonentry. | |
Elm_Object_Item * | elm_multibuttonentry_selected_item_get (const Evas_Object *obj) |
Get the selected item in the multibuttonentry. | |
void | elm_multibuttonentry_item_selected_set (Elm_Object_Item *it, Eina_Bool selected) |
Set the selected state of an item. | |
Eina_Bool | elm_multibuttonentry_item_selected_get (const Elm_Object_Item *it) |
Get the selected state of an item. | |
void | elm_multibuttonentry_clear (Evas_Object *obj) |
Remove all items in the multibuttonentry. | |
Elm_Object_Item * | elm_multibuttonentry_item_prev_get (const Elm_Object_Item *it) |
Get the previous item in the multibuttonentry. | |
Elm_Object_Item * | elm_multibuttonentry_item_next_get (const Elm_Object_Item *it) |
Get the next item in the multibuttonentry. | |
void | elm_multibuttonentry_item_filter_append (Evas_Object *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data) |
Append an item filter function for text inserted in the Multibuttonentry. | |
void | elm_multibuttonentry_item_filter_prepend (Evas_Object *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data) |
Prepend a filter function for text inserted in the Multibuttonentry. | |
void | elm_multibuttonentry_item_filter_remove (Evas_Object *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data) |
Remove a filter from the list. | |
void | elm_multibuttonentry_editable_set (Evas_Object *obj, Eina_Bool editable) |
Sets if the multibuttonentry is to be editable or not. | |
Eina_Bool | elm_multibuttonentry_editable_get (const Evas_Object *obj) |
Gets whether the multibuttonentry is editable or not. |
Detailed Description
A Multibuttonentry is a widget to allow a user enter text and manage it as a number 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 Multibuttonentry loses focus items longer than one line are shrunk to one line.
Typical use case of multibuttonentry is, composing emails/messages to a group of addresses, each of which is an item that can be clicked for further actions.
Smart callbacks one can register:
"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 multibuttonentry item is added."item,deleted"
- when a multibuttonentry item is deleted."item,clicked"
- this is called when an item is clicked by user interaction. Both "item,selected" and "item,clicked" are needed."clicked"
- when multibuttonentry is clicked."focused"
- when multibuttonentry is focused."unfocused"
- when multibuttonentry is unfocused."expanded"
- when multibuttonentry is expanded."contracted"
- when multibuttonentry is contracted."expand,state,changed"
- when shrink mode state of multibuttonentry is changed.
Default text parts of the multibuttonentry widget that you can use for are:
- "default" - A label of the multibuttonentry
Default text parts of the multibuttonentry items that you can use for are:
- "default" - A label of the multibuttonentry item
Supported elm_object common APIs.
Supported elm_object_item common APIs.
Typedef Documentation
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.
Function Documentation
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
void elm_multibuttonentry_clear | ( | Evas_Object * | obj | ) |
Remove all items in the multibuttonentry.
- Parameters:
-
obj The multibuttonentry object
References elm_box_unpack().
Eina_Bool elm_multibuttonentry_editable_get | ( | const Evas_Object * | obj | ) |
Gets whether the multibuttonentry is editable or not.
- Parameters:
-
obj The multibuttonentry object
- Returns:
- EINA_TRUE if the multibuttonentry is editable by the user. EINA_FALSE if not.
- Since:
- 1.7
void elm_multibuttonentry_editable_set | ( | Evas_Object * | obj, |
Eina_Bool | editable | ||
) |
Sets if the multibuttonentry is to be editable or not.
- Parameters:
-
obj The multibuttonentry object editable If EINA_TRUE, user can add/delete item in multibuttonentry, if not, the multibuttonentry is non-editable.
- Since:
- 1.7
References elm_entry_input_panel_hide().
Evas_Object* elm_multibuttonentry_entry_get | ( | const Evas_Object * | obj | ) |
Get the entry of the multibuttonentry object.
- Parameters:
-
obj The multibuttonentry object
- Returns:
- The entry object, or NULL if none
Eina_Bool elm_multibuttonentry_expanded_get | ( | const Evas_Object * | obj | ) |
Get the value of expanded state.
In expanded state, the complete entry will be displayed. Otherwise, only single line of the entry will be displayed.
- Parameters:
-
obj The multibuttonentry object
- Returns:
- EINA_TRUE if the widget is in expanded state. EINA_FALSE if not.
void elm_multibuttonentry_expanded_set | ( | Evas_Object * | obj, |
Eina_Bool | expanded | ||
) |
Set/Unset the multibuttonentry to expanded state.
In expanded state, the complete entry will be displayed. Otherwise, only single line of the entry will be displayed.
- Parameters:
-
obj The multibuttonentry object expanded the value of expanded state. Set this to EINA_TRUE for expanded state. Set this to EINA_FALSE for single line state.
Elm_Object_Item* elm_multibuttonentry_first_item_get | ( | const Evas_Object * | obj | ) |
Get the first item in the multibuttonentry.
- Parameters:
-
obj The multibuttonentry object
- Returns:
- The first item, or NULL if none
Elm_Object_Item* elm_multibuttonentry_item_append | ( | Evas_Object * | obj, |
const char * | label, | ||
Evas_Smart_Cb | func, | ||
void * | data | ||
) |
Append a new item to the multibuttonentry.
- Parameters:
-
obj The multibuttonentry object label The label of new item func The callback function to be invoked when this item is pressed. data The pointer to the data to be attached
- Returns:
- A handle to the item added or NULL if not possible
- See also:
- Use elm_object_item_del() to delete the item.
void elm_multibuttonentry_item_filter_append | ( | Evas_Object * | 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.
- Parameters:
-
obj The multibuttonentry object func The function to use as item filter data User data to pass to func
void elm_multibuttonentry_item_filter_prepend | ( | Evas_Object * | 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
- Parameters:
-
obj The multibuttonentry object func The function to use as text filter data User data to pass to func
void elm_multibuttonentry_item_filter_remove | ( | Evas_Object * | 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.
- Parameters:
-
obj The multibuttonentry object func The filter function to remove data The user data passed when adding the function
Elm_Object_Item* elm_multibuttonentry_item_insert_after | ( | Evas_Object * | obj, |
Elm_Object_Item * | after, | ||
const char * | label, | ||
Evas_Smart_Cb | func, | ||
void * | data | ||
) |
Add a new item to the multibuttonentry after the indicated object.
- Parameters:
-
obj The multibuttonentry object after The item after which to add it label The label of new item func The callback function to be invoked when this item is pressed. data The pointer to the data to be attached
- Returns:
- A handle to the item added or NULL if not possible
- See also:
- Use elm_object_item_del() to delete the item.
Elm_Object_Item* elm_multibuttonentry_item_insert_before | ( | Evas_Object * | obj, |
Elm_Object_Item * | before, | ||
const char * | label, | ||
Evas_Smart_Cb | func, | ||
void * | data | ||
) |
Add a new item to the multibuttonentry before the indicated object.
reference.
- Parameters:
-
obj The multibuttonentry object before The item before which to add it label The label of new item func The callback function to be invoked when this item is pressed. data The pointer to the data to be attached
- Returns:
- A handle to the item added or NULL if not possible
- See also:
- Use elm_object_item_del() to delete the item.
Elm_Object_Item* elm_multibuttonentry_item_next_get | ( | const Elm_Object_Item * | it | ) |
Get the next item in the multibuttonentry.
- Parameters:
-
it The item
- Returns:
- The item after the item
it
Elm_Object_Item* elm_multibuttonentry_item_prepend | ( | Evas_Object * | obj, |
const char * | label, | ||
Evas_Smart_Cb | func, | ||
void * | data | ||
) |
Prepend a new item to the multibuttonentry.
- Parameters:
-
obj The multibuttonentry object label The label of new item func The callback function to be invoked when this item is pressed. data The pointer to the data to be attached
- Returns:
- A handle to the item added or NULL if not possible
- See also:
- Use elm_object_item_del() to delete the item.
Elm_Object_Item* elm_multibuttonentry_item_prev_get | ( | const Elm_Object_Item * | it | ) |
Get the previous item in the multibuttonentry.
- Parameters:
-
it The item
- Returns:
- The item before the item
it
Eina_Bool elm_multibuttonentry_item_selected_get | ( | const Elm_Object_Item * | it | ) |
Get the selected state of an item.
- Parameters:
-
it The item
- Returns:
- EINA_TRUE if the item is selected, EINA_FALSE otherwise.
void elm_multibuttonentry_item_selected_set | ( | Elm_Object_Item * | it, |
Eina_Bool | selected | ||
) |
Set the selected state of an item.
- Parameters:
-
it The item selected if it's EINA_TRUE, select the item otherwise, unselect the item
const Eina_List* elm_multibuttonentry_items_get | ( | const Evas_Object * | obj | ) |
Get a list of items in the multibuttonentry.
- Parameters:
-
obj The multibuttonentry object
- Returns:
- The list of items, or NULL if none
Elm_Object_Item* elm_multibuttonentry_last_item_get | ( | const Evas_Object * | obj | ) |
Get the last item in the multibuttonentry.
- Parameters:
-
obj The multibuttonentry object
- Returns:
- The last item, or NULL if none
Elm_Object_Item* elm_multibuttonentry_selected_item_get | ( | const Evas_Object * | obj | ) |
Get the selected item in the multibuttonentry.
- Parameters:
-
obj The multibuttonentry object
- Returns:
- The selected item, or NULL if none