Add APIs for floating mode (app-in-app)
[framework/uifw/elementary.git] / src / lib / elm_entry.h
index 311d2bd..c730592 100644 (file)
@@ -1,5 +1,6 @@
 /**
  * @defgroup Entry Entry
+ * @ingroup Elementary
  *
  * @image html img/widget/entry/preview-00.png
  * @image latex img/widget/entry/preview-00.eps width=\textwidth
  * @li "default" - text of the entry
  *
  * Supported elm_object common APIs.
- * @li elm_object_signal_emit
- * @li elm_object_part_text_set
- * @li elm_object_part_text_get
- * @li elm_object_part_content_set
- * @li elm_object_part_content_get
- * @li elm_object_part_content_unset
- * @li elm_object_signal_callback_add
- * @li elm_object_signal_callback_del
- * @li elm_object_disabled_set
- * @li elm_object_disabled_get
+ * @li @ref elm_object_signal_emit
+ * @li @ref elm_object_part_text_set
+ * @li @ref elm_object_part_text_get
+ * @li @ref elm_object_part_content_set
+ * @li @ref elm_object_part_content_get
+ * @li @ref elm_object_part_content_unset
+ * @li @ref elm_object_signal_callback_add
+ * @li @ref elm_object_signal_callback_del
+ * @li @ref elm_object_disabled_set
+ * @li @ref elm_object_disabled_get
  *
  * @section entry-examples
  *
- * An overview of the Entry API can be seen in @ref entry_example_01
+ * An overview of the Entry API can be seen in @ref entry_example
  *
  * @{
  */
 
 /**
- * @enum _Elm_Text_Format
  * @typedef Elm_Text_Format
  *
  * Text Format types.
- * 
+ *
  * @see elm_entry_file_set()
  */
 typedef enum
@@ -254,11 +254,10 @@ typedef enum
 } Elm_Text_Format;
 
 /**
- * @enum _Elm_Wrap_Type
  * @typedef Elm_Wrap_Type
  *
  * Line wrapping types.
- * 
+ *
  * @see elm_entry_line_wrap_set()
  */
 typedef enum
@@ -271,11 +270,10 @@ typedef enum
 } Elm_Wrap_Type; /**< Type of word or character wrapping to use */
 
 /**
- * @enum _Elm_Input_Panel_Layout
  * @typedef Elm_Input_Panel_Layout
  *
  * Input panel (virtual keyboard) layout types.
- * 
+ *
  * @see elm_entry_input_panel_layout_set()
  */
 typedef enum
@@ -295,11 +293,10 @@ typedef enum
 } Elm_Input_Panel_Layout; /**< Type of input panel (virtual keyboard) to use - this is a hint and may not provide exactly what is desired. */
 
 /**
- * @enum _Elm_Input_Panel_Lang
  * @typedef Elm_Input_Panel_Lang
  *
  * Input panel (virtual keyboard) language modes.
- * 
+ *
  * @see elm_entry_input_panel_language_set()
  */
 typedef enum
@@ -309,11 +306,10 @@ typedef enum
 } Elm_Input_Panel_Lang;
 
 /**
- * @enum _Elm_Autocapital_Type
  * @typedef Elm_Autocapital_Type
  *
  * Autocapitalization Types.
- * 
+ *
  * @see elm_entry_autocapital_type_set()
  */
 typedef enum
@@ -325,11 +321,10 @@ typedef enum
 } Elm_Autocapital_Type; /**< Choose method of auto-capitalization */
 
 /**
- * @enum _Elm_Input_Panel_Return_Key_Type
  * @typedef Elm_Input_Panel_Return_Key_Type
  *
  * "Return" Key types on the input panel (virtual keyboard).
- * 
+ *
  * @see elm_entry_input_panel_return_key_type_set()
  */
 typedef enum
@@ -458,10 +453,42 @@ typedef Edje_Entry_Change_Info Elm_Entry_Change_Info;
  *
  * @param parent The parent object
  * @return The new object or NULL if it cannot be created
+ *
+ * @ingroup Entry
  */
 EAPI Evas_Object       *elm_entry_add(Evas_Object *parent);
 
 /**
+ * Push the style to the top of user style stack.
+ * If there is styles in the user style stack, the properties in the top style
+ * of user style stack will replace the properties in current theme.
+ * The input style is specified in format tag='property=value' (i.e. DEFAULT='font=Sans font_size=60'hilight=' + font_weight=Bold').
+ *
+ * @param obj The entry object
+ * @param style The style user to push
+ */
+EAPI void      elm_entry_text_style_user_push(Evas_Object *obj, const char *style);
+
+/**
+ * Remove the style in the top of user style stack.
+ *
+ * @param  obj The entry object
+ *
+ * @see elm_entry_text_style_user_push()
+ */
+EAPI void     elm_entry_text_style_user_pop(Evas_Object *obj);
+
+/**
+ * Retrieve the style on the top of user style stack.
+ *
+ * @param obj The entry object
+ * @return style on the top of user style stack if exist, otherwise NULL.
+ *
+ * @see elm_entry_text_style_user_push()
+ */
+EAPI const char*      elm_entry_text_style_user_peek(const Evas_Object *obj);
+
+/**
  * Sets the entry to single line mode.
  *
  * In single line mode, entries don't ever wrap when the text reaches the
@@ -475,6 +502,8 @@ EAPI Evas_Object       *elm_entry_add(Evas_Object *parent);
  * @param obj The entry object
  * @param single_line If true, the text in the entry
  * will be on a single line.
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line);
 
@@ -486,6 +515,8 @@ EAPI void               elm_entry_single_line_set(Evas_Object *obj, Eina_Bool si
  * on a single line.
  *
  * @see elm_entry_single_line_set()
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_single_line_get(const Evas_Object *obj);
 
@@ -497,6 +528,8 @@ EAPI Eina_Bool          elm_entry_single_line_get(const Evas_Object *obj);
  *
  * @param obj The entry object
  * @param password If true, password mode is enabled.
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_password_set(Evas_Object *obj, Eina_Bool password);
 
@@ -508,6 +541,8 @@ EAPI void               elm_entry_password_set(Evas_Object *obj, Eina_Bool passw
  * as asterisks (*).
  *
  * @see elm_entry_password_set()
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_password_get(const Evas_Object *obj);
 
@@ -518,6 +553,8 @@ EAPI Eina_Bool          elm_entry_password_get(const Evas_Object *obj);
  * @param entry The text to be displayed
  *
  * @note Using this function bypasses text filters
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_entry_set(Evas_Object *obj, const char *entry);
 
@@ -527,6 +564,8 @@ EAPI void               elm_entry_entry_set(Evas_Object *obj, const char *entry)
  *
  * @param obj The entry object
  * @return The currently displayed text or NULL on failure
+ *
+ * @ingroup Entry
  */
 EAPI const char        *elm_entry_entry_get(const Evas_Object *obj);
 
@@ -542,6 +581,8 @@ EAPI const char        *elm_entry_entry_get(const Evas_Object *obj);
  * @param entry The text to be displayed
  *
  * @see elm_entry_markup_filter_append()
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_entry_append(Evas_Object *obj, const char *entry);
 
@@ -554,6 +595,8 @@ EAPI void               elm_entry_entry_append(Evas_Object *obj, const char *ent
  *
  * @param obj The entry object
  * @return EINA_TRUE if the entry is empty, EINA_FALSE otherwise.
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_is_empty(const Evas_Object *obj);
 
@@ -570,6 +613,8 @@ EAPI Eina_Bool          elm_entry_is_empty(const Evas_Object *obj);
  *
  * @param obj The entry object
  * @return The selected text within the entry or NULL on failure
+ *
+ * @ingroup Entry
  */
 EAPI const char        *elm_entry_selection_get(const Evas_Object *obj);
 
@@ -599,6 +644,8 @@ EAPI const char        *elm_entry_selection_get(const Evas_Object *obj);
  *
  * @param obj The entry object
  * @return The textblock object.
+ *
+ * @ingroup Entry
  */
 EAPI Evas_Object *      elm_entry_textblock_get(Evas_Object *obj);
 
@@ -611,6 +658,8 @@ EAPI Evas_Object *      elm_entry_textblock_get(Evas_Object *obj);
  * @param obj The entry object
  *
  * @see elm_entry_textblock_get()
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_calc_force(Evas_Object *obj);
 
@@ -631,6 +680,8 @@ EAPI void               elm_entry_calc_force(Evas_Object *obj);
  * @param entry The text to insert
  *
  * @see elm_entry_markup_filter_append()
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_entry_insert(Evas_Object *obj, const char *entry);
 
@@ -657,6 +708,8 @@ EAPI void               elm_entry_line_wrap_set(Evas_Object *obj, Elm_Wrap_Type
  * @return Wrap type
  *
  * @see also elm_entry_line_wrap_set()
+ *
+ * @ingroup Entry
  */
 EAPI Elm_Wrap_Type      elm_entry_line_wrap_get(const Evas_Object *obj);
 
@@ -675,6 +728,8 @@ EAPI Elm_Wrap_Type      elm_entry_line_wrap_get(const Evas_Object *obj);
  * @param obj The entry object
  * @param editable If EINA_TRUE, user input will be inserted in the entry,
  * if not, the entry is read-only and no user input is allowed.
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_editable_set(Evas_Object *obj, Eina_Bool editable);
 
@@ -686,6 +741,8 @@ EAPI void               elm_entry_editable_set(Evas_Object *obj, Eina_Bool edita
  * If false, it is not editable by the user
  *
  * @see elm_entry_editable_set()
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_editable_get(const Evas_Object *obj);
 
@@ -693,6 +750,8 @@ EAPI Eina_Bool          elm_entry_editable_get(const Evas_Object *obj);
  * This drops any existing text selection within the entry.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_select_none(Evas_Object *obj);
 
@@ -700,6 +759,8 @@ EAPI void               elm_entry_select_none(Evas_Object *obj);
  * This selects all text within the entry.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_select_all(Evas_Object *obj);
 
@@ -708,6 +769,8 @@ EAPI void               elm_entry_select_all(Evas_Object *obj);
  *
  * @param obj The entry object
  * @return EINA_TRUE upon success, EINA_FALSE upon failure
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_cursor_next(Evas_Object *obj);
 
@@ -716,6 +779,8 @@ EAPI Eina_Bool          elm_entry_cursor_next(Evas_Object *obj);
  *
  * @param obj The entry object
  * @return EINA_TRUE upon success, EINA_FALSE upon failure
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_cursor_prev(Evas_Object *obj);
 
@@ -724,6 +789,8 @@ EAPI Eina_Bool          elm_entry_cursor_prev(Evas_Object *obj);
  *
  * @param obj The entry object
  * @return EINA_TRUE upon success, EINA_FALSE upon failure
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_cursor_up(Evas_Object *obj);
 
@@ -732,6 +799,8 @@ EAPI Eina_Bool          elm_entry_cursor_up(Evas_Object *obj);
  *
  * @param obj The entry object
  * @return EINA_TRUE upon success, EINA_FALSE upon failure
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_cursor_down(Evas_Object *obj);
 
@@ -739,6 +808,8 @@ EAPI Eina_Bool          elm_entry_cursor_down(Evas_Object *obj);
  * This moves the cursor to the beginning of the entry.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_cursor_begin_set(Evas_Object *obj);
 
@@ -746,6 +817,8 @@ EAPI void               elm_entry_cursor_begin_set(Evas_Object *obj);
  * This moves the cursor to the end of the entry.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_cursor_end_set(Evas_Object *obj);
 
@@ -753,6 +826,8 @@ EAPI void               elm_entry_cursor_end_set(Evas_Object *obj);
  * This moves the cursor to the beginning of the current line.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_cursor_line_begin_set(Evas_Object *obj);
 
@@ -760,6 +835,8 @@ EAPI void               elm_entry_cursor_line_begin_set(Evas_Object *obj);
  * This moves the cursor to the end of the current line.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_cursor_line_end_set(Evas_Object *obj);
 
@@ -768,6 +845,8 @@ EAPI void               elm_entry_cursor_line_end_set(Evas_Object *obj);
  * the user were holding down the mouse button to make a selection.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_cursor_selection_begin(Evas_Object *obj);
 
@@ -776,6 +855,8 @@ EAPI void               elm_entry_cursor_selection_begin(Evas_Object *obj);
  * the user had just released the mouse button while making a selection.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_cursor_selection_end(Evas_Object *obj);
 
@@ -793,6 +874,8 @@ EAPI void               elm_entry_cursor_selection_end(Evas_Object *obj);
  * EINA_FALSE otherwise.
  *
  * @see elm_entry_cursor_is_visible_format_get()
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_cursor_is_format_get(const Evas_Object *obj);
 
@@ -804,6 +887,8 @@ EAPI Eina_Bool          elm_entry_cursor_is_format_get(const Evas_Object *obj);
  * if it's an invisible one or no format exists.
  *
  * @see elm_entry_cursor_is_format_get()
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_cursor_is_visible_format_get(const Evas_Object *obj);
 
@@ -817,6 +902,8 @@ EAPI Eina_Bool          elm_entry_cursor_is_visible_format_get(const Evas_Object
  *
  * @param obj The entry object
  * @return The text pointed by the cursors.
+ *
+ * @ingroup Entry
  */
 EAPI char              *elm_entry_cursor_content_get(const Evas_Object *obj);
 
@@ -833,6 +920,8 @@ EAPI char              *elm_entry_cursor_content_get(const Evas_Object *obj);
  * @param w returned geometry
  * @param h returned geometry
  * @return EINA_TRUE upon success, EINA_FALSE upon failure
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_cursor_geometry_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
 
@@ -844,6 +933,8 @@ EAPI Eina_Bool          elm_entry_cursor_geometry_get(const Evas_Object *obj, Ev
  *
  * @param obj The entry object
  * @param pos The position of the cursor
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_cursor_pos_set(Evas_Object *obj, int pos);
 
@@ -852,6 +943,8 @@ EAPI void               elm_entry_cursor_pos_set(Evas_Object *obj, int pos);
  *
  * @param obj The entry object
  * @return The cursor position
+ *
+ * @ingroup Entry
  */
 EAPI int                elm_entry_cursor_pos_get(const Evas_Object *obj);
 
@@ -859,6 +952,8 @@ EAPI int                elm_entry_cursor_pos_get(const Evas_Object *obj);
  * This executes a "cut" action on the selected text in the entry.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_selection_cut(Evas_Object *obj);
 
@@ -866,6 +961,8 @@ EAPI void               elm_entry_selection_cut(Evas_Object *obj);
  * This executes a "copy" action on the selected text in the entry.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_selection_copy(Evas_Object *obj);
 
@@ -873,6 +970,8 @@ EAPI void               elm_entry_selection_copy(Evas_Object *obj);
  * This executes a "paste" action in the entry.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_selection_paste(Evas_Object *obj);
 
@@ -883,6 +982,8 @@ EAPI void               elm_entry_selection_paste(Evas_Object *obj);
  * @param obj The entry object
  *
  * @see elm_entry_context_menu_item_add()
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_context_menu_clear(Evas_Object *obj);
 
@@ -904,6 +1005,8 @@ EAPI void               elm_entry_context_menu_clear(Evas_Object *obj);
  * @param icon_type The item's icon type
  * @param func The callback to execute when the item is clicked
  * @param data The data to associate with the item for related functions
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
 
@@ -912,6 +1015,8 @@ EAPI void               elm_entry_context_menu_item_add(Evas_Object *obj, const
  *
  * @param obj The entry object
  * @param disabled If true, the menu is disabled
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled);
 
@@ -921,6 +1026,8 @@ EAPI void               elm_entry_context_menu_disabled_set(Evas_Object *obj, Ei
  *
  * @param obj The entry object
  * @return If true, the menu is disabled
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_context_menu_disabled_get(const Evas_Object *obj);
 
@@ -939,6 +1046,8 @@ EAPI Eina_Bool          elm_entry_context_menu_disabled_get(const Evas_Object *o
  * @param data The data passed to @p func
  *
  * @see @ref entry-items
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_item_provider_append(Evas_Object *obj, Elm_Entry_Item_Provider_Cb func, void *data);
 
@@ -951,6 +1060,8 @@ EAPI void               elm_entry_item_provider_append(Evas_Object *obj, Elm_Ent
  * @param obj The entry object
  * @param func The function called to provide the item object
  * @param data The data passed to @p func
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_item_provider_prepend(Evas_Object *obj, Elm_Entry_Item_Provider_Cb func, void *data);
 
@@ -963,6 +1074,8 @@ EAPI void               elm_entry_item_provider_prepend(Evas_Object *obj, Elm_En
  * @param obj The entry object
  * @param func The function called to provide the item object
  * @param data The data passed to @p func
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_item_provider_remove(Evas_Object *obj, Elm_Entry_Item_Provider_Cb func, void *data);
 
@@ -972,7 +1085,7 @@ EAPI void               elm_entry_item_provider_remove(Evas_Object *obj, Elm_Ent
  * Append the given callback to the list. This functions will be called
  * whenever any text is inserted into the entry, with the text to be inserted
  * as a parameter. The type of given text is always markup.
- * The callback function is free to alter the text in any way it wants, but 
+ * 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 its
  * text parameter to NULL. This will also prevent any following filters from
@@ -981,6 +1094,8 @@ EAPI void               elm_entry_item_provider_remove(Evas_Object *obj, Elm_Ent
  * @param obj The entry object
  * @param func The function to use as text filter
  * @param data User data to pass to @p func
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_markup_filter_append(Evas_Object *obj, Elm_Entry_Filter_Cb func, void *data);
 
@@ -993,6 +1108,8 @@ EAPI void               elm_entry_markup_filter_append(Evas_Object *obj, Elm_Ent
  * @param obj The entry object
  * @param func The function to use as text filter
  * @param data User data to pass to @p func
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_markup_filter_prepend(Evas_Object *obj, Elm_Entry_Filter_Cb func, void *data);
 
@@ -1005,6 +1122,8 @@ EAPI void               elm_entry_markup_filter_prepend(Evas_Object *obj, Elm_En
  * @param obj The entry object
  * @param func The filter function to remove
  * @param data The user data passed when adding the function
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_markup_filter_remove(Evas_Object *obj, Elm_Entry_Filter_Cb func, void *data);
 
@@ -1016,6 +1135,8 @@ EAPI void               elm_entry_markup_filter_remove(Evas_Object *obj, Elm_Ent
  *
  * @param s The string (in markup) to be converted
  * @return The converted string (in UTF-8). It should be freed.
+ *
+ * @ingroup Entry
  */
 EAPI char              *elm_entry_markup_to_utf8(const char *s);
 
@@ -1027,6 +1148,8 @@ EAPI char              *elm_entry_markup_to_utf8(const char *s);
  *
  * @param s The string (in UTF-8) to be converted
  * @return The converted string (in markup). It should be freed.
+ *
+ * @ingroup Entry
  */
 EAPI char              *elm_entry_utf8_to_markup(const char *s);
 
@@ -1043,6 +1166,8 @@ EAPI char              *elm_entry_utf8_to_markup(const char *s);
  * @param file The path to the file to load and save
  * @param format The file format
  * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format);
 
@@ -1055,6 +1180,8 @@ EAPI Eina_Bool          elm_entry_file_set(Evas_Object *obj, const char *file, E
  * @param obj The entry object
  * @param file The path to the file to load and save
  * @param format The file format
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format);
 
@@ -1063,6 +1190,8 @@ EAPI void               elm_entry_file_get(const Evas_Object *obj, const char **
  * elm_entry_file_set()
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_file_save(Evas_Object *obj);
 
@@ -1073,6 +1202,8 @@ EAPI void               elm_entry_file_save(Evas_Object *obj);
  * @param autosave Autosave the loaded file or not
  *
  * @see elm_entry_file_set()
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave);
 
@@ -1083,6 +1214,8 @@ EAPI void               elm_entry_autosave_set(Evas_Object *obj, Eina_Bool autos
  * @return Autosave the loaded file or not
  *
  * @see elm_entry_file_set()
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_autosave_get(const Evas_Object *obj);
 
@@ -1093,6 +1226,8 @@ EAPI Eina_Bool          elm_entry_autosave_get(const Evas_Object *obj);
  *
  * @param obj The entry object
  * @param scroll EINA_TRUE if it is to be scrollable, EINA_FALSE otherwise
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_scrollable_set(Evas_Object *obj, Eina_Bool scroll);
 
@@ -1104,16 +1239,20 @@ EAPI void               elm_entry_scrollable_set(Evas_Object *obj, Eina_Bool scr
  *
  * @param obj The entry object
  * @return The scrollable state
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool          elm_entry_scrollable_get(const Evas_Object *obj);
 
 /**
  * Sets the visibility of the left-side widget of the entry,
- * set by elm_entry_icon_set().
+ * set by elm_object_part_content_set().
  *
  * @param obj The entry object
  * @param setting EINA_TRUE if the object should be displayed,
  * EINA_FALSE if not.
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_icon_visible_set(Evas_Object *obj, Eina_Bool setting);
 
@@ -1124,6 +1263,8 @@ EAPI void               elm_entry_icon_visible_set(Evas_Object *obj, Eina_Bool s
  * @param obj The entry object
  * @param setting EINA_TRUE if the object should be displayed,
  * EINA_FALSE if not.
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_end_visible_set(Evas_Object *obj, Eina_Bool setting);
 
@@ -1138,6 +1279,8 @@ EAPI void               elm_entry_end_visible_set(Evas_Object *obj, Eina_Bool se
  * @param obj The entry object
  * @param h The horizontal scrollbar policy to apply
  * @param v The vertical scrollbar policy to apply
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v);
 
@@ -1150,6 +1293,8 @@ EAPI void               elm_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scr
  * @param obj The entry object
  * @param h_bounce The horizontal bounce state
  * @param v_bounce The vertical bounce state
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
 
@@ -1159,6 +1304,8 @@ EAPI void               elm_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounc
  * @param obj The Entry object
  * @param h_bounce Allow bounce horizontally
  * @param v_bounce Allow bounce vertically
+ *
+ * @ingroup Entry
  */
 EAPI void               elm_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
 
@@ -1167,6 +1314,8 @@ EAPI void               elm_entry_bounce_get(const Evas_Object *obj, Eina_Bool *
  *
  * @param obj The entry object
  * @param layout layout type
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_layout_set(Evas_Object *obj, Elm_Input_Panel_Layout layout);
 
@@ -1177,6 +1326,8 @@ EAPI void                   elm_entry_input_panel_layout_set(Evas_Object *obj, E
  * @return layout type
  *
  * @see elm_entry_input_panel_layout_set
+ *
+ * @ingroup Entry
  */
 EAPI Elm_Input_Panel_Layout elm_entry_input_panel_layout_get(const Evas_Object *obj);
 
@@ -1185,6 +1336,8 @@ EAPI Elm_Input_Panel_Layout elm_entry_input_panel_layout_get(const Evas_Object *
  *
  * @param obj The entry object
  * @param autocapital_type The type of autocapitalization
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_autocapital_type_set(Evas_Object *obj, Elm_Autocapital_Type autocapital_type);
 
@@ -1193,6 +1346,8 @@ EAPI void                   elm_entry_autocapital_type_set(Evas_Object *obj, Elm
  *
  * @param obj The entry object
  * @return autocapitalization type
+ *
+ * @ingroup Entry
  */
 EAPI Elm_Autocapital_Type   elm_entry_autocapital_type_get(const Evas_Object *obj);
 
@@ -1201,6 +1356,8 @@ EAPI Elm_Autocapital_Type   elm_entry_autocapital_type_get(const Evas_Object *ob
  *
  * @param obj The entry object
  * @param enabled If true, the input panel is appeared when entry is clicked or has a focus
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_enabled_set(Evas_Object *obj, Eina_Bool enabled);
 
@@ -1209,6 +1366,8 @@ EAPI void                   elm_entry_input_panel_enabled_set(Evas_Object *obj,
  *
  * @param obj The entry object
  * @return EINA_TRUE if input panel will be appeared when the entry is clicked or has a focus, EINA_FALSE otherwise
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool              elm_entry_input_panel_enabled_get(const Evas_Object *obj);
 
@@ -1219,6 +1378,8 @@ EAPI Eina_Bool              elm_entry_input_panel_enabled_get(const Evas_Object
  * This API can be used in the case of manually controlling by using elm_entry_input_panel_enabled_set(en, EINA_FALSE).
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_show(Evas_Object *obj);
 
@@ -1229,16 +1390,20 @@ EAPI void                   elm_entry_input_panel_show(Evas_Object *obj);
  * This API can be used in the case of manually controlling by using elm_entry_input_panel_enabled_set(en, EINA_FALSE)
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_hide(Evas_Object *obj);
 
 /**
  * Set the language mode of the input panel.
  *
- * This API can be used if you want to show the alphabet keyboard mode. 
+ * This API can be used if you want to show the alphabet keyboard mode.
  *
  * @param obj The entry object
  * @param lang language to be set to the input panel.
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_language_set(Evas_Object *obj, Elm_Input_Panel_Lang lang);
 
@@ -1249,6 +1414,8 @@ EAPI void                   elm_entry_input_panel_language_set(Evas_Object *obj,
  *
  * @param obj The entry object
  * @return input panel language type
+ *
+ * @ingroup Entry
  */
 EAPI Elm_Input_Panel_Lang   elm_entry_input_panel_language_get(const Evas_Object *obj);
 
@@ -1262,17 +1429,21 @@ EAPI Elm_Input_Panel_Lang   elm_entry_input_panel_language_get(const Evas_Object
  * @param obj The entry object
  * @param data The specific data to be set to the input panel.
  * @param len the length of data, in bytes, to send to the input panel
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_imdata_set(Evas_Object *obj, const void *data, int len);
 
 /**
  * Get the specific data of the current input panel.
  *
- * See @ref elm_entry_input_panel_imdata_set for more details. 
+ * See @ref elm_entry_input_panel_imdata_set for more details.
  *
  * @param obj The entry object
  * @param data The specific data to be got from the input panel
  * @param len The length of data
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_imdata_get(const Evas_Object *obj, void *data, int *len);
 
@@ -1283,6 +1454,8 @@ EAPI void                   elm_entry_input_panel_imdata_get(const Evas_Object *
  *
  * @param obj The entry object
  * @param return_key_type The type of "return" key on the input panel
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_return_key_type_set(Evas_Object *obj, Elm_Input_Panel_Return_Key_Type return_key_type);
 
@@ -1293,6 +1466,8 @@ EAPI void                   elm_entry_input_panel_return_key_type_set(Evas_Objec
  *
  * @param obj The entry object
  * @return The type of "return" key on the input panel
+ *
+ * @ingroup Entry
  */
 EAPI Elm_Input_Panel_Return_Key_Type elm_entry_input_panel_return_key_type_get(const Evas_Object *obj);
 
@@ -1301,7 +1476,9 @@ EAPI Elm_Input_Panel_Return_Key_Type elm_entry_input_panel_return_key_type_get(c
  *
  * @param obj The entry object
  * @param disabled The state to put in in: @c EINA_TRUE for
- *        disabled, @c EINA_FALSE for enabled 
+ *        disabled, @c EINA_FALSE for enabled
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_return_key_disabled_set(Evas_Object *obj, Eina_Bool disabled);
 
@@ -1310,6 +1487,8 @@ EAPI void                   elm_entry_input_panel_return_key_disabled_set(Evas_O
  *
  * @param obj The entry object
  * @return EINA_TRUE if it should be disabled
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool              elm_entry_input_panel_return_key_disabled_get(const Evas_Object *obj);
 
@@ -1322,14 +1501,19 @@ EAPI Eina_Bool              elm_entry_input_panel_return_key_disabled_get(const
  *
  * @param obj The entry object
  * @param enabled If @p enabled is EINA_TRUE, the return key is automatically disabled when the entry has no text.
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_input_panel_return_key_autoenabled_set(Evas_Object *obj, Eina_Bool enabled);
 
 /**
- * Reset the input method context of the entry if needed. 
+ * Reset the input method context of the entry if needed.
  *
- * This can be necessary in the case where modifying the buffer would confuse on-going input method behavior
+ * This can be necessary in the case where modifying the buffer would confuse on-going input method behavior.
+ * This will typically cause the Input Method Context to clear the preedit state.
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_imf_context_reset(Evas_Object *obj);
 
@@ -1338,6 +1522,8 @@ EAPI void                   elm_entry_imf_context_reset(Evas_Object *obj);
  *
  * @param obj The entry object
  * @param prediction Whether the entry should allow to use the text prediction.
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_prediction_allow_set(Evas_Object *obj, Eina_Bool prediction);
 
@@ -1346,6 +1532,8 @@ EAPI void                   elm_entry_prediction_allow_set(Evas_Object *obj, Ein
  *
  * @param obj The entry object
  * @return EINA_TRUE if it allows to use the text prediction, otherwise EINA_FALSE.
+ *
+ * @ingroup Entry
  */
 EAPI Eina_Bool              elm_entry_prediction_allow_get(const Evas_Object *obj);
 
@@ -1373,7 +1561,7 @@ struct _Elm_Entry_Filter_Limit_Size
  * Filter inserted text based on user defined character and byte limits
  *
  * Add this filter to an entry to limit the characters that it will accept
- * based the the contents of the provided #Elm_Entry_Filter_Limit_Size.
+ * based the contents of the provided #Elm_Entry_Filter_Limit_Size.
  * The function works on the UTF-8 representation of the string, converting
  * it from the set markup, thus not accounting for any format in it.
  *
@@ -1392,6 +1580,8 @@ struct _Elm_Entry_Filter_Limit_Size
  *
  * This filter, like any others, does not apply when setting the entry text
  * directly with elm_object_text_set().
+ *
+ * @ingroup Entry
  */
 EAPI void elm_entry_filter_limit_size(void *data, Evas_Object *entry, char **text);
 
@@ -1431,6 +1621,8 @@ struct _Elm_Entry_Filter_Accept_Set
  *
  * This filter, like any others, does not apply when setting the entry text
  * directly with elm_object_text_set()
+ *
+ * @ingroup Entry
  */
 EAPI void                   elm_entry_filter_accept_set(void *data, Evas_Object *entry, char **text);
 
@@ -1444,18 +1636,19 @@ EAPI void                   elm_entry_filter_accept_set(void *data, Evas_Object
  *
  * @param obj The entry object
  * @return The input method context (Ecore_IMF_Context *) in entry.
+ *
+ * @ingroup Entry
  */
 EAPI void                  *elm_entry_imf_context_get(Evas_Object *obj);
 
 /**
- * @enum _Elm_Cnp_Mode
  * @typedef Elm_Cnp_Mode
  * Enum of entry's copy & paste policy.
  *
  * @see elm_entry_cnp_mode_set()
  * @see elm_entry_cnp_mode_get()
  */
-typedef enum _Elm_Cnp_Mode {
+typedef enum {
    ELM_CNP_MODE_MARKUP,   /**< copy & paste text with markup tag */
    ELM_CNP_MODE_NO_IMAGE, /**< copy & paste text without item(image) tag */
    ELM_CNP_MODE_PLAINTEXT /**< copy & paste text without markup tag */
@@ -1471,8 +1664,10 @@ typedef enum _Elm_Cnp_Mode {
  * @note this only changes the behaviour of text.
  *
  * @param obj The entry object
- * @param mode One of #Elm_Cnp_Mode: #ELM_CNP_MODE_MARKUP,
+ * @param cnp_mode One of #Elm_Cnp_Mode: #ELM_CNP_MODE_MARKUP,
  * #ELM_CNP_MODE_NO_IMAGE, #ELM_CNP_MODE_PLAINTEXT.
+ *
+ * @ingroup Entry
  */
 EAPI void         elm_entry_cnp_mode_set(Evas_Object *obj, Elm_Cnp_Mode cnp_mode);
 
@@ -1485,6 +1680,8 @@ EAPI void         elm_entry_cnp_mode_set(Evas_Object *obj, Elm_Cnp_Mode cnp_mode
  * @param obj The entry object
  * @return mode One of #Elm_Cnp_Mode: #ELM_CNP_MODE_MARKUP,
  * #ELM_CNP_MODE_NO_IMAGE, #ELM_CNP_MODE_PLAINTEXT.
+ *
+ * @ingroup Entry
  */
 EAPI Elm_Cnp_Mode elm_entry_cnp_mode_get(const Evas_Object *obj);
 
@@ -1496,6 +1693,8 @@ EAPI Elm_Cnp_Mode elm_entry_cnp_mode_get(const Evas_Object *obj);
  *
  * @param obj The entry object
  * @param parent The object to use as parent for the hover
+ *
+ * @ingroup Entry
  */
 EAPI void                        elm_entry_anchor_hover_parent_set(Evas_Object *obj, Evas_Object *parent);
 
@@ -1508,6 +1707,8 @@ EAPI void                        elm_entry_anchor_hover_parent_set(Evas_Object *
  *
  * @param obj The entry object
  * @return The object used as parent for the hover, NULL if none is set.
+ *
+ * @ingroup Entry
  */
 EAPI Evas_Object                *elm_entry_anchor_hover_parent_get(const Evas_Object *obj);
 
@@ -1523,6 +1724,8 @@ EAPI Evas_Object                *elm_entry_anchor_hover_parent_get(const Evas_Ob
  * @param style The style to use for the underlying hover
  *
  * @see elm_object_style_set()
+ *
+ * @ingroup Entry
  */
 EAPI void                        elm_entry_anchor_hover_style_set(Evas_Object *obj, const char *style);
 
@@ -1535,6 +1738,8 @@ EAPI void                        elm_entry_anchor_hover_style_set(Evas_Object *o
  * @return The style to use by the hover. NULL means the default is used.
  *
  * @see elm_object_style_set()
+ *
+ * @ingroup Entry
  */
 EAPI const char                 *elm_entry_anchor_hover_style_get(const Evas_Object *obj);
 
@@ -1546,9 +1751,29 @@ EAPI const char                 *elm_entry_anchor_hover_style_get(const Evas_Obj
  * terminates this popup, returning the entry to its normal state.
  *
  * @param obj The entry object
+ *
+ * @ingroup Entry
  */
 EAPI void                        elm_entry_anchor_hover_end(Evas_Object *obj);
 
 /**
+ * This disables the entry's magnifer feature.
+ *
+ * @param obj The entry object
+ * @param disabled If true, the magnifier is not displayed
+ */
+
+EAPI void         elm_entry_magnifier_disabled_set(Evas_Object *obj, Eina_Bool disabled);
+/**
+ * This returns whether the entry's magnifier feature is disabled.
+ *
+ * @param obj The entry object
+ * @return If true, the feature is disabled
+ */
+EAPI Eina_Bool    elm_entry_magnifier_disabled_get(const Evas_Object *obj);
+
+EAPI void                   elm_entry_magnifier_type_set(Evas_Object *obj, int type);
+
+/**
  * @}
  */