efl/src/lib/elementary/elm_multibuttonentry_eo.leg...

270 lines
8.4 KiB
C

#ifndef _ELM_MULTIBUTTONENTRY_EO_LEGACY_H_
#define _ELM_MULTIBUTTONENTRY_EO_LEGACY_H_
#ifndef _ELM_MULTIBUTTONENTRY_EO_CLASS_TYPE
#define _ELM_MULTIBUTTONENTRY_EO_CLASS_TYPE
typedef Eo Elm_Multibuttonentry;
#endif
#ifndef _ELM_MULTIBUTTONENTRY_EO_TYPES
#define _ELM_MULTIBUTTONENTRY_EO_TYPES
#endif
/**
* @brief Control if the multibuttonentry is to be editable or not.
*
* @param[in] obj The object.
* @param[in] editable If @c true, user can add/delete item in
* multibuttonentry, if not, the multibuttonentry is non-editable.
*
* @since 1.7
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI void elm_multibuttonentry_editable_set(Elm_Multibuttonentry *obj, Eina_Bool editable);
/**
* @brief Control if the multibuttonentry is to be editable or not.
*
* @param[in] obj The object.
*
* @return If @c true, user can add/delete item in multibuttonentry, if not,
* the multibuttonentry is non-editable.
*
* @since 1.7
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Eina_Bool elm_multibuttonentry_editable_get(const Elm_Multibuttonentry *obj);
/**
* @brief 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.
*
* @param[in] obj The object.
* @param[in] expanded The value of expanded state. Set this to @c true for
* expanded state. Set this to @c false for single line state.
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI void elm_multibuttonentry_expanded_set(Elm_Multibuttonentry *obj, Eina_Bool expanded);
/**
* @brief 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.
*
* @param[in] obj The object.
*
* @return The value of expanded state. Set this to @c true for expanded state.
* Set this to @c false for single line state.
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Eina_Bool elm_multibuttonentry_expanded_get(const Elm_Multibuttonentry *obj);
/**
* @brief Set a function to format the string that will be used to display the
* hidden items counter.
*
* If @c format_function is @c NULL, the default format will be used, which is
* $"... + %d".
*
* @param[in] obj The object.
* @param[in] format_function Format_function The actual format function
* @param[in] data Data User data to passed to @c format_function
*
* @since 1.9
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI void elm_multibuttonentry_format_function_set(Elm_Multibuttonentry *obj, Elm_Multibuttonentry_Format_Cb format_function, const void *data);
/**
* @brief Get a list of items in the multibuttonentry
*
* @param[in] obj The object.
*
* @return The list of items, or NULL if none
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI const Eina_List *elm_multibuttonentry_items_get(const Elm_Multibuttonentry *obj);
/**
* @brief Get the first item in the multibuttonentry
*
* @param[in] obj The object.
*
* @return The first item, or NULL if none
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Elm_Widget_Item *elm_multibuttonentry_first_item_get(const Elm_Multibuttonentry *obj);
/**
* @brief Get the last item in the multibuttonentry
*
* @param[in] obj The object.
*
* @return The last item, or NULL if none
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Elm_Widget_Item *elm_multibuttonentry_last_item_get(const Elm_Multibuttonentry *obj);
/**
* @brief Get the entry of the multibuttonentry object
*
* @param[in] obj The object.
*
* @return The entry object, or NULL if none
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Efl_Canvas_Object *elm_multibuttonentry_entry_get(const Elm_Multibuttonentry *obj);
/**
* @brief Get the selected item in the multibuttonentry
*
* @param[in] obj The object.
*
* @return The selected item, or NULL if none
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Elm_Widget_Item *elm_multibuttonentry_selected_item_get(const Elm_Multibuttonentry *obj);
/**
* @brief Prepend a new item to the multibuttonentry
*
* See @ref Efl.Object.invalidate to delete the item.
*
* @param[in] obj The object.
* @param[in] label The label of new item
* @param[in] func The callback function to be invoked when this item is
* pressed.
* @param[in] data The pointer to the data to be attached
*
* @return A handle to the item added or NULL if not possible
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Elm_Widget_Item *elm_multibuttonentry_item_prepend(Elm_Multibuttonentry *obj, const char *label, Evas_Smart_Cb func, void *data);
/** Remove all items in the multibuttonentry.
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI void elm_multibuttonentry_clear(Elm_Multibuttonentry *obj);
/**
* @brief Remove a filter from the list
*
* Removes the given callback from the filter list. See
* elm_multibuttonentry_item_filter_append() for more information.
*
* @param[in] obj The object.
* @param[in] func The filter function to remove
* @param[in] data The user data passed when adding the function
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI void elm_multibuttonentry_item_filter_remove(Elm_Multibuttonentry *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data);
/**
* @brief Add a new item to the multibuttonentry before the indicated object
* reference.
*
* See @ref Efl.Object.invalidate to delete the item.
*
* @param[in] obj The object.
* @param[in] before The item before which to add it
* @param[in] label The label of new item
* @param[in] func The callback function to be invoked when this item is
* pressed.
* @param[in] data The pointer to the data to be attached
*
* @return A handle to the item added or NULL if not possible
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Elm_Widget_Item *elm_multibuttonentry_item_insert_before(Elm_Multibuttonentry *obj, Elm_Widget_Item *before, const char *label, Evas_Smart_Cb func, void *data);
/**
* @brief Append a new item to the multibuttonentry
*
* See @ref Efl.Object.invalidate to delete the item.
*
* @param[in] obj The object.
* @param[in] label The label of new item
* @param[in] func The callback function to be invoked when this item is
* pressed.
* @param[in] data The pointer to the data to be attached
*
* @return A handle to the item added or NULL if not possible
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Elm_Widget_Item *elm_multibuttonentry_item_append(Elm_Multibuttonentry *obj, const char *label, Evas_Smart_Cb func, void *data);
/**
* @brief 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
*
* @param[in] obj The object.
* @param[in] func The function to use as text filter
* @param[in] data User data to pass to @c func
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI void elm_multibuttonentry_item_filter_prepend(Elm_Multibuttonentry *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data);
/**
* @brief Append an item filter function for text inserted in the
* Multibuttonentry
*
* Append the given callback to a list. This function is 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 must 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.
*
* @param[in] obj The object.
* @param[in] func The function to use as item filter
* @param[in] data User data to pass to @c func
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI void elm_multibuttonentry_item_filter_append(Elm_Multibuttonentry *obj, Elm_Multibuttonentry_Item_Filter_Cb func, void *data);
/**
* @brief Add a new item to the multibuttonentry after the indicated object
*
* See @ref Efl.Object.invalidate to delete the item.
*
* @param[in] obj The object.
* @param[in] after The item after which to add it
* @param[in] label The label of new item
* @param[in] func The callback function to be invoked when this item is
* pressed.
* @param[in] data The pointer to the data to be attached
*
* @return A handle to the item added or NULL if not possible
*
* @ingroup Elm_Multibuttonentry_Group
*/
EAPI Elm_Widget_Item *elm_multibuttonentry_item_insert_after(Elm_Multibuttonentry *obj, Elm_Widget_Item *after, const char *label, Evas_Smart_Cb func, void *data);
#endif