Entry

- Main Page
- Related Pages
- Data Structures
- Files
- Examples

Data Structures | Typedefs | Enumerations | Functions
Entry

## Data Structures
struct | _Elm_Entry_Anchor_Info
| The info sent in the callback for the "anchor,clicked" signals emitted by entries. More...
struct | _Elm_Entry_Anchor_Hover_Info
| The info sent in the callback for "anchor,clicked" signals emitted by the Anchor_Hover widget. More...
struct | _Elm_Entry_Filter_Limit_Size
| Data for the elm_entry_filter_limit_size() entry filter. More...
struct | _Elm_Entry_Filter_Accept_Set
| Data for the elm_entry_filter_accept_set() entry filter. More...

## Typedefs
typedef struct _Elm_Entry_Anchor_Info | Elm_Entry_Anchor_Info
| The info sent in the callback for the "anchor,clicked" signals emitted by entries.
typedef struct _Elm_Entry_Anchor_Hover_Info | Elm_Entry_Anchor_Hover_Info
| The info sent in the callback for "anchor,clicked" signals emitted by the Anchor_Hover widget.
typedef struct _Elm_Entry_Context_Menu_Item | Elm_Entry_Context_Menu_Item
| Type of contextual item that can be added in to long press menu. More...
typedef Evas_Object *(* | Elm_Entry_Item_Provider_Cb) (void *data, Evas_Object *entry, const char *item)
| This callback type is used to provide items. More...
typedef void(* | Elm_Entry_Filter_Cb) (void *data, Evas_Object *entry, char **text)
| This callback type is used by entry filters to modify text. More...
typedef Edje_Entry_Change_Info | Elm_Entry_Change_Info
| This corresponds to Edje_Entry_Change_Info. More...
typedef struct _Elm_Entry_Filter_Limit_Size | Elm_Entry_Filter_Limit_Size
| Data for the elm_entry_filter_limit_size() entry filter.
typedef struct _Elm_Entry_Filter_Accept_Set | Elm_Entry_Filter_Accept_Set
| Data for the elm_entry_filter_accept_set() entry filter.

## Enumerations
enum | { ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_NORMAL, ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_FILENAME, ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_PERSON_NAME }
enum | { ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL, ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED, ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_DECIMAL, ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED_AND_DECIMAL }
enum | { ELM_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NORMAL, ELM_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NUMBERONLY }
enum | Elm_Cnp_Mode { ELM_CNP_MODE_MARKUP, ELM_CNP_MODE_NO_IMAGE, ELM_CNP_MODE_PLAINTEXT }
| Enum of entry's copy & paste policy. More...

## Functions
EINA_DEPRECATED void | elm_entry_scrollbar_policy_set (Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v)
| This sets the entry's scrollbar policy (i.e. More...
EINA_DEPRECATED void | elm_entry_bounce_set (Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce)
| This enables/disables bouncing within the entry. More...
EINA_DEPRECATED void | elm_entry_bounce_get (const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce)
| Get the bounce mode. More...
char * | elm_entry_markup_to_utf8 (const char *s)
| This converts a markup (HTML-like) string into UTF-8. More...
char * | elm_entry_utf8_to_markup (const char *s)
| This converts a UTF-8 string into markup (HTML-like). More...
void | elm_entry_filter_limit_size (void *data, Evas_Object *entry, char **text)
| Filter inserted text based on user defined character and byte limits. More...
void | elm_entry_filter_accept_set (void *data, Evas_Object *entry, char **text)
| Filter inserted text based on accepted or rejected sets of characters. More...
const char * | elm_entry_context_menu_item_label_get (const Elm_Entry_Context_Menu_Item *item)
| Get the text of the contextual menu item of entry. More...
void | elm_entry_context_menu_item_icon_get (const Elm_Entry_Context_Menu_Item *item, const char **icon_file, const char **icon_group, Elm_Icon_Type *icon_type)
| Get the icon object packed in the contextual menu item of entry. More...
Evas_Object * | elm_entry_add (Evas_Object *parent)
| This adds an entry to `parent` object. More...
void | elm_entry_entry_set (Evas_Object *obj, const char *entry)
| This sets the text displayed within the entry to `entry`. More...
const char * | elm_entry_entry_get (const Evas_Object *obj)
| This returns the text currently shown in object `entry`. More...
Eina_Bool | elm_entry_file_set (Evas_Object *obj, const char *file, Elm_Text_Format format)
| This sets the file (and implicitly loads it) for the text to display and then edit. More...
void | elm_entry_file_get (const Evas_Object *obj, const char **file, Elm_Text_Format *format)
| Get the file being edited by the entry. More...

## Detailed Description

An entry is a convenience widget which shows a box that the user can enter text into. Entries by default don't scroll, so they grow to accommodate the entire text, resizing the parent window as needed. This can be changed with the elm_entry_scrollable_set() function.

They can also be single line or multi line (the default) and when set to multi line mode they support text wrapping in any of the modes indicated by #Elm_Wrap_Type.

Other features include password mode, filtering of inserted text with elm_entry_markup_filter_append() and related functions, inline "items" and formatted markup text.

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

This widget implements the elm-scrollable-interface interface, so that all (non-deprecated) functions for the base Scroller widget also work for entries (since 1.8).

Some calls on the entry's API are marked as deprecated, as they just wrap the scrollable widgets counterpart functions. Use the ones we point you to, for each case of deprecation here, instead – eventually the deprecated ones will be discarded (next major release).

# Formatted text

The markup tags supported by the Entry are defined by the theme, but even when writing new themes or extensions it's a good idea to stick to a sane default, to maintain coherency and avoid application breakages. Currently defined by the default theme are the following tags:

- <br>: Inserts a line break.
- <ps>: Inserts a paragraph separator. This is preferred over line breaks.
- <tab>: Inserts a tab.
- <em>...</em>: Emphasis. Sets the oblique style for the enclosed text.
- <b>...</b>: Sets the bold style for the enclosed text.
- <link>...</link>: Underlines the enclosed text.
- <hilight>...</hilight>: Highlights the enclosed text.
- <title>...</title>: Main title.
- <subtitle>...</subtitle>: Secondary level title.
- <bigger>...</bigger>: A really big text, not so big as the titles.
- <big>...</big>: Big text.
- <small>...</small>: Small text.
- <smaller>...</smaller>: Really small text, at the point of unreadability.

Entry also support tags for code syntax highlight. Note that this does not mean that the entry will automatically perform code highlight, application are responsable of applying the correct tag to code blocks. The default theme define the following tags:

- <code>...</code>: Monospace font without shadows.
- <comment>...</comment>: Code comments.
- <string>...</string>: Strings of text.
- <number>...</number>: Numeric expression (ex: 1, 2, 0.34, etc)
- <brace>...</brace>: Braces used for code syntax.
- <type>...</type>: Variables types (ex: int, float, char, Evas_Object, etc)
- <class>...</class>: Class names, when defined, not when used.
- <function>...</function>: Function names, when defined, not called.
- <param>...</param>: Generic parameters.
- <keyword>...</keyword>: Language keywords (ex: return, NULL, while, for, etc)
- <preprocessor>...</preprocessor>: Preprocessors definitions.
- <line_added>...</line_added>: Diff addeded lines.
- <line_removed>...</line_removed>: Diff removed lines.
- <line_changed>...</line_changed>: Diff changed lines.

# Special markups

Besides those used to format text, entries support two special markup tags used to insert click-able portions of text or items inlined within the text.

## Anchors

Anchors are similar to HTML anchors. Text can be surrounded by <a> and </a> tags and an event will be generated when this text is clicked, like this:

This text is outside <a href=anc-01>but this one is an anchor</a>

The `href` attribute in the opening tag gives the name that will be used to identify the anchor and it can be any valid utf8 string.

When an anchor is clicked, an `"anchor,clicked"` signal is emitted with an Elm_Entry_Anchor_Info in the `event_info` parameter for the callback function. The same applies for "anchor,in" (mouse in), "anchor,out" (mouse out), "anchor,down" (mouse down), and "anchor,up" (mouse up) events on an anchor.

## Items

Inlined in the text, any other `Evas_Object` can be inserted by using <item> tags this way:

<item size=16x16 vsize=full href=emoticon/haha></item>

Just like with anchors, the `href` identifies each item, but these need, in addition, to indicate their size, which is done using any one of `size`, `absize` or `relsize` attributes. These attributes take their value in the WxH format, where W is the width and H the height of the item.

- absize: Absolute pixel size for the item. Whatever value is set will be the item's size regardless of any scale value the object may have been set to. The final line height will be adjusted to fit larger items.
- size: Similar to `absize`, but it's adjusted to the scale value set for the object.
- relsize: Size is adjusted for the item to fit within the current line height.

Besides their size, items are specified a `vsize` value that affects how their final size and position are calculated. The possible values are:

- ascent: Item will be placed within the line's baseline and its ascent. That is, the height between the line where all characters are positioned and the highest point in the line. For `size` and `absize` items, the descent value will be added to the total line height to make them fit. `relsize` items will be adjusted to fit within this space.
- full: Items will be placed between the descent and ascent, or the lowest point in the line and its highest.

The next image shows different configurations of items and how the previously mentioned options affect their sizes. In all cases, the green line indicates the ascent, blue for the baseline and red for the descent.

And another one to show how size differs from absize. In the first one, the scale value is set to 1.0, while the second one is using one of 2.0.

After the size for an item is calculated, the entry will request an object to place in its space. For this, the functions set with elm_entry_item_provider_append() and related functions will be called in order until one of them returns a `non-NULL` value. If no providers are available, or all of them return `NULL`, then the entry falls back to one of the internal defaults, provided the name matches with one of them.

All of the following are currently supported:

- emoticon/angry
- emoticon/angry-shout
- emoticon/crazy-laugh
- emoticon/evil-laugh
- emoticon/evil
- emoticon/goggle-smile
- emoticon/grumpy
- emoticon/grumpy-smile
- emoticon/guilty
- emoticon/guilty-smile
- emoticon/haha
- emoticon/half-smile
- emoticon/happy-panting
- emoticon/happy
- emoticon/indifferent
- emoticon/kiss
- emoticon/knowing-grin
- emoticon/laugh
- emoticon/little-bit-sorry
- emoticon/love-lots
- emoticon/love
- emoticon/minimal-smile
- emoticon/not-happy
- emoticon/not-impressed
- emoticon/omg
- emoticon/opensmile
- emoticon/smile
- emoticon/sorry
- emoticon/squint-laugh
- emoticon/surprised
- emoticon/suspicious
- emoticon/tongue-dangling
- emoticon/tongue-poke
- emoticon/uh
- emoticon/unhappy
- emoticon/very-sorry
- emoticon/what
- emoticon/wink
- emoticon/worried
- emoticon/wtf

Alternatively, an item may reference an image by its path, using the URI form `file:///path/to/an/image.png` and the entry will then use that image for the item.

# Setting entry's style

There are 2 major ways to change the entry's style:

- Theme - set the "base" field to the desired style.
- User style - Pushing overrides to the theme style to the textblock object by using evas_object_textblock_style_user_push().

You should modify the theme when you would like to change the style for aesthetic reasons. While the user style should be changed when you would like to change the style to something specific defined at run-time, e.g, setting font or font size in a text editor.

# Loading and saving files

Entries have convenience functions to load text from a file and save changes back to it after a short delay. The automatic saving is enabled by default, but can be disabled with elm_entry_autosave_set() and files can be loaded directly as plain text or have any markup in them recognized. See elm_entry_file_set() for more details.

# Emitted signals

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

- "aborted": The escape key was pressed on a single line entry. (since 1.7)
- "activated": The enter key was pressed on a single line entry.
- "anchor,clicked": An anchor has been clicked. The event_info parameter for the callback will be an Elm_Entry_Anchor_Info.
- "anchor,down": Mouse button has been pressed on an anchor. The event_info parameter for the callback will be an Elm_Entry_Anchor_Info.
- "anchor,hover,opened": The anchor is clicked.
- "anchor,in": Mouse cursor has moved into an anchor. The event_info parameter for the callback will be an Elm_Entry_Anchor_Info.
- "anchor,out": Mouse cursor has moved out of an anchor. The event_info parameter for the callback will be an Elm_Entry_Anchor_Info.
- "anchor,up": Mouse button has been unpressed on an anchor. The event_info parameter for the callback will be an Elm_Entry_Anchor_Info.
- "changed": The text within the entry was changed.
- "changed,user": The text within the entry was changed because of user interaction.
- "clicked": The entry has been clicked (mouse press and release).
- "clicked,double": The entry has been double clicked.
- "clicked,triple": The entry has been triple clicked.
- "cursor,changed": The cursor has changed position.
- "cursor,changed,manual": The cursor has changed position manually.
- "focused": The entry has received focus.
- "unfocused": The entry has lost focus.
- "language,changed": Program language changed.
- "longpressed": A mouse button has been pressed and held for a couple
- "maxlength,reached": Called when a maximum length is reached.
- "preedit,changed": The preedit string has changed.
- "press": A mouse button has been pressed on the entry. seconds.
- "redo,request": Called on redo request.
- "selection,changed": The current selection has changed.
- "selection,cleared": The current selection has been cleared.
- "selection,copy": A copy of the selected text into the clipboard was requested.
- "selection,cut": A cut of the selected text into the clipboard was requested.
- "selection,paste": A paste of the clipboard contents was requested.
- "selection,start": A selection has begun and no previous selection existed.
- "text,set,done": Whole text has been set to the entry.
- "theme,changed": Called when the theme is changed.
- "undo,request": Called on undo request.
- "rejected": Called when some of inputs are rejected by the filter. (since 1.9)
- "validate": Called when entry text ready to validate. (since 1.14)

Default content parts of the entry items that you can use for are:

- "icon" - An icon in the entry
- "end" - A content in the end of the entry

Default text parts of the entry that you can use for are:

- "default" - A text of the entry
- "guide" - A placeholder of the entry

Supported elm_object common APIs.

- elm_object_signal_emit
- elm_object_part_text_set
- elm_object_part_text_get
- elm_object_part_content_set
- elm_object_part_content_get
- elm_object_part_content_unset
- elm_object_signal_callback_add
- elm_object_signal_callback_del
- elm_object_disabled_set
- elm_object_disabled_get

# entry-examples

An overview of the Entry API can be seen in Entry - Example of simple editing

## Typedef Documentation

typedef Edje_Entry_Change_Info Elm_Entry_Change_Info

This corresponds to Edje_Entry_Change_Info.

Includes information about a change in the entry.

typedef struct _Elm_Entry_Context_Menu_Item Elm_Entry_Context_Menu_Item

Type of contextual item that can be added in to long press menu.

Since
  1.8

typedef void(* Elm_Entry_Filter_Cb) (void *data, Evas_Object *entry, char **text)

This callback type is used by entry filters to modify text.

Parameters

  data | The data specified as the last param when adding the filter
  entry | The entry object
  text | A pointer to the location of the text being filtered. The type of text is always markup. This data can be modified, but any additional allocations must be managed by the user.

See also
  elm_entry_markup_filter_append
  elm_entry_markup_filter_prepend
  elm_entry_markup_filter_remove

typedef Evas_Object*(* Elm_Entry_Item_Provider_Cb) (void *data, Evas_Object *entry, const char *item)

This callback type is used to provide items.

If it returns an object handle other than NULL (it should create an object to do this), then this object is used to replace the current item. If not the next provider is called until one provides an item object, or the default provider in entry does.

Parameters

  data | The data specified as the last param when adding the provider
  entry | The entry object
  text | A pointer to the item href string in the text

Returns
  The object to be placed in the entry like an icon, or other element

See also
  elm_entry_item_provider_append
  elm_entry_item_provider_prepend
  elm_entry_item_provider_remove

## Enumeration Type Documentation

anonymous enum

Enumerator
ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_NORMAL | The plain normal layout. Since 1.12
ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_FILENAME | Filename layout. Symbols such as '/' should be disabled. Since 1.12
ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_PERSON_NAME | The name of a person. Since 1.12

anonymous enum

Enumerator
ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL | The plain normal number layout. Since 1.8
ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED | The number layout to allow a positive or negative sign at the start. Since 1.8
ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_DECIMAL | The number layout to allow decimal point to provide fractional value. Since 1.8
ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED_AND_DECIMAL | The number layout to allow decimal point and negative sign. Since 1.8

anonymous enum

Enumerator
ELM_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NORMAL | The normal password layout. Since 1.12
ELM_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NUMBERONLY | The password layout to allow only number. Since 1.12

enum Elm_Cnp_Mode

Enum of entry's copy & paste policy.

See also
  elm_entry_cnp_mode_set()
  elm_entry_cnp_mode_get()

Enumerator
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

## Function Documentation

Evas_Object* elm_entry_add | ( | Evas_Object * | parent | ) |

This adds an entry to `parent` object.

By default, entries are:

- not scrolled
- multi-line
- word wrapped
- autosave is enabled

Parameters

  parent | The parent object

Returns
  The new object or NULL if it cannot be created

EINA_DEPRECATED void elm_entry_bounce_get | ( | const Evas_Object * | obj,
|  | Eina_Bool * | h_bounce,
|  | Eina_Bool * | v_bounce
| ) |  |

Get the bounce mode.

Parameters

  obj | The Entry object
  h_bounce | Allow bounce horizontally
  v_bounce | Allow bounce vertically

Deprecated:
  Use elm_scroller_bounce_get() instead.

EINA_DEPRECATED void elm_entry_bounce_set | ( | Evas_Object * | obj,
|  | Eina_Bool | h_bounce,
|  | Eina_Bool | v_bounce
| ) |  |

This enables/disables bouncing within the entry.

This function sets whether the entry will bounce when scrolling reaches the end of the contained entry.

Parameters

  obj | The entry object
  h_bounce | The horizontal bounce state
  v_bounce | The vertical bounce state

Deprecated:
  Use elm_scroller_bounce_set() instead.

void elm_entry_context_menu_item_icon_get | ( | const Elm_Entry_Context_Menu_Item * | item,
|  | const char ** | icon_file,
|  | const char ** | icon_group,
|  | Elm_Icon_Type * | icon_type
| ) |  |

Get the icon object packed in the contextual menu item of entry.

Parameters

  item | The item to get the icon from
  icon_file | The image file path on disk used for the icon or standard icon name
  icon_group | The edje group used if `icon_file` is an edje file. NULL if the icon is not an edje file
  icon_type | The icon type

See also
  elm_entry_context_menu_item_add()

Since
  1.8

const char* elm_entry_context_menu_item_label_get | ( | const Elm_Entry_Context_Menu_Item * | item | ) |

Get the text of the contextual menu item of entry.

Parameters

  item | The item to get the label

Returns
  The text of contextual menu item

See also
  elm_entry_context_menu_item_add()

Since
  1.8

const char* elm_entry_entry_get | ( | const Evas_Object * | obj | ) |

This returns the text currently shown in object `entry`.

See also elm_entry_entry_set().

Parameters

  obj | The entry object

Returns
  The currently displayed text or NULL on failure

void elm_entry_entry_set | ( | Evas_Object * | obj,
|  | const char * | entry
| ) |  |

This sets the text displayed within the entry to `entry`.

Parameters

  obj | The entry object
  entry | The text to be displayed

Note
  Using this function bypasses text filters

void elm_entry_file_get | ( | const Evas_Object * | obj,
|  | const char ** | file,
|  | Elm_Text_Format * | format
| ) |  |

Get the file being edited by the entry.

This function can be used to retrieve any file set on the entry for edition, along with the format used to load and save it.

Parameters

  [out] | file | The path to the file to load and save
  [out] | format | The file format

Eina_Bool elm_entry_file_set | ( | Evas_Object * | obj,
|  | const char * | file,
|  | Elm_Text_Format | format
| ) |  |

This sets the file (and implicitly loads it) for the text to display and then edit.

All changes are written back to the file after a short delay if the entry object is set to autosave (which is the default).

If the entry had any other file set previously, any changes made to it will be saved if the autosave feature is enabled, otherwise, the file will be silently discarded and any non-saved changes will be lost.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

Parameters

  [in] | file | The path to the file to load and save
  [in] | format | The file format

void elm_entry_filter_accept_set | ( | void * | data,
|  | Evas_Object * | entry,
|  | char ** | text
| ) |  |

Filter inserted text based on accepted or rejected sets of characters.

Add this filter to an entry to restrict the set of accepted characters based on the sets in the provided Elm_Entry_Filter_Accept_Set. This structure contains both accepted and rejected sets, but they are mutually exclusive. This structure must be available for as long as the entry is alive AND the elm_entry_filter_accept_set is being used.

The `accepted` set takes preference, so if it is set, the filter will only work based on the accepted characters, ignoring anything in the `rejected` value. If `accepted` is `NULL`, then `rejected` is used.

In both cases, the function filters by matching utf8 characters to the raw markup text, so it can be used to remove formatting tags.

This filter, like any others, does not apply when setting the entry text directly with elm_object_text_set()

References _Elm_Entry_Filter_Accept_Set::accepted, elm_entry_markup_to_utf8(), and _Elm_Entry_Filter_Accept_Set::rejected.

void elm_entry_filter_limit_size | ( | void * | data,
|  | Evas_Object * | entry,
|  | char ** | text
| ) |  |

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 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.

The user must create an Elm_Entry_Filter_Limit_Size structure and pass it as data when setting the filter. In it, it's possible to set limits by character count or bytes (any of them is disabled if 0), and both can be set at the same time. In that case, it first checks for characters, then bytes. The Elm_Entry_Filter_Limit_Size structure must be alive and valid for as long as the entry is alive AND the elm_entry_filter_limit_size filter is set.

The function will cut the inserted text in order to allow only the first number of characters that are still allowed. The cut is made in characters, even when limiting by bytes, in order to always contain valid ones and avoid half unicode characters making it in.

This filter, like any others, does not apply when setting the entry text directly with elm_object_text_set().

References elm_entry_markup_to_utf8().

char* elm_entry_markup_to_utf8 | ( | const char * | s | ) |

This converts a markup (HTML-like) string into UTF-8.

The returned string is a malloc'ed buffer and it should be freed when not needed anymore.

Parameters

  s | The string (in markup) to be converted

Returns
  The converted string (in UTF-8). It should be freed.

Referenced by elm_entry_filter_accept_set(), and elm_entry_filter_limit_size().

EINA_DEPRECATED void elm_entry_scrollbar_policy_set | ( | Evas_Object * | obj,
|  | Elm_Scroller_Policy | h,
|  | Elm_Scroller_Policy | v
| ) |  |

This sets the entry's scrollbar policy (i.e.

enabling/disabling them).

Setting an entry to single-line mode with elm_entry_single_line_set() will automatically disable the display of scrollbars when the entry moves inside its scroller.

Parameters

  obj | The entry object
  h | The horizontal scrollbar policy to apply
  v | The vertical scrollbar policy to apply

Deprecated:
  Use elm_scroller_policy_set() instead.

char* elm_entry_utf8_to_markup | ( | const char * | s | ) |

This converts a UTF-8 string into markup (HTML-like).

The returned string is a malloc'ed buffer and it should be freed when not needed anymore.

Parameters

  s | The string (in UTF-8) to be converted

Returns
  The converted string (in markup). It should be freed.

For example, passing "<align=center>hello</align>&gt;" will return "&lt;align=center&gt;hello&lt;/align&gt; &amp;gt;". This is useful when you want to display "&" in label, entry, and some widgets which use textblock internally.