Widget to display text, with simple html-like markup. More...

Enumerations

enum  Elm_Label_Slide_Mode {
  ELM_LABEL_SLIDE_MODE_NONE = 0 ,
  ELM_LABEL_SLIDE_MODE_AUTO ,
  ELM_LABEL_SLIDE_MODE_ALWAYS
}
 Slide mode of a label widget. More...

Functions

void elm_label_wrap_width_set (Elm_Label *obj, int w)
 Control wrap width of the label.
int elm_label_wrap_width_get (const Elm_Label *obj)
 Control wrap width of the label.
void elm_label_slide_speed_set (Elm_Label *obj, double speed)
 Control the slide speed of the label.
double elm_label_slide_speed_get (const Elm_Label *obj)
 Control the slide speed of the label.
void elm_label_slide_mode_set (Elm_Label *obj, Elm_Label_Slide_Mode mode)
 Control the slide mode of the label widget.
Elm_Label_Slide_Mode elm_label_slide_mode_get (const Elm_Label *obj)
 Control the slide mode of the label widget.
void elm_label_slide_duration_set (Elm_Label *obj, double duration)
 Control the slide duration of the label.
double elm_label_slide_duration_get (const Elm_Label *obj)
 Control the slide duration of the label.
void elm_label_line_wrap_set (Elm_Label *obj, Elm_Wrap_Type wrap)
 Control the wrapping behavior of the label.
Elm_Wrap_Type elm_label_line_wrap_get (const Elm_Label *obj)
 Control the wrapping behavior of the label.
void elm_label_ellipsis_set (Elm_Label *obj, Eina_Bool ellipsis)
 Control the ellipsis behavior of the label.
Eina_Bool elm_label_ellipsis_get (const Elm_Label *obj)
 Control the ellipsis behavior of the label.
void elm_label_slide_go (Elm_Label *obj)
 Start slide effect.
Evas_Object * elm_label_add (Evas_Object *parent)
 Add a new label to the parent.

Detailed Description

Widget to display text, with simple html-like markup.

The Label widget doesn't allow text to overflow its boundaries, if the text doesn't fit the geometry of the label it will be ellipsized or be cut. Elementary provides several styles for this widget:

  • default - No animation
  • marker - Centers the text in the label and makes it bold by default
  • slide_long - The entire text appears from the right of the screen and slides until it disappears in the left of the screen(reappearing on the right again).
  • slide_short - The text appears in the left of the label and slides to the right to show the overflow. When all of the text has been shown the position is reset.
  • slide_bounce - The text appears in the left of the label and slides to the right to show the overflow. When all of the text has been shown the animation reverses, moving the text to the left.

Custom themes can of course invent new markup tags and style them any way they like.

This widget inherits from the Layout one, so that all the functions acting on it also work for label objects.

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

  • "language,changed": The program's language changed.
  • "slide,end": The slide is end.

See Label example for a demonstration of how to use a label widget.

Enumeration Type Documentation

◆ Elm_Label_Slide_Mode

enum Elm_Label_Slide_Mode

Slide mode of a label widget.

Enumerator
ELM_LABEL_SLIDE_MODE_NONE 

No slide effect.

ELM_LABEL_SLIDE_MODE_AUTO 

Slide only if the label area is bigger than the text width length.

ELM_LABEL_SLIDE_MODE_ALWAYS 

Slide always.

Function Documentation

◆ elm_label_wrap_width_set()

void elm_label_wrap_width_set ( Elm_Label * obj,
int w )

Control wrap width of the label.

This function sets the maximum width size hint of the label.

Warning
This is only relevant if the label is inside a container.
Parameters
[in]objThe object.
[in]wThe wrap width in pixels at a minimum where words need to wrap

References elm_label_wrap_width_set().

Referenced by elm_label_wrap_width_set().

◆ elm_label_wrap_width_get()

int elm_label_wrap_width_get ( const Elm_Label * obj)

Control wrap width of the label.

This function sets the maximum width size hint of the label.

Warning
This is only relevant if the label is inside a container.
Parameters
[in]objThe object.
Returns
The wrap width in pixels at a minimum where words need to wrap

References elm_label_wrap_width_get().

Referenced by elm_label_wrap_width_get().

◆ elm_label_slide_speed_set()

void elm_label_slide_speed_set ( Elm_Label * obj,
double speed )

Control the slide speed of the label.

Note
If you set the duration of the slide using elm_label_slide_duration_set you cannot get the correct speed using this function until the label is actually rendered and resized.

See elm_label_slide_duration_set

Parameters
[in]objThe object.
[in]speedThe speed of the slide animation in px per seconds

References elm_label_slide_speed_set().

Referenced by elm_label_slide_speed_set().

◆ elm_label_slide_speed_get()

double elm_label_slide_speed_get ( const Elm_Label * obj)

Control the slide speed of the label.

Note
If you set the duration of the slide using elm_label_slide_duration_set you cannot get the correct speed using this function until the label is actually rendered and resized.

See elm_label_slide_duration_set

Parameters
[in]objThe object.
Returns
The speed of the slide animation in px per seconds

References elm_label_slide_speed_get().

Referenced by elm_label_slide_speed_get().

◆ elm_label_slide_mode_set()

void elm_label_slide_mode_set ( Elm_Label * obj,
Elm_Label_Slide_Mode mode )

Control the slide mode of the label widget.

By default, slide mode is none. Possible values for mode are: ELM_LABEL_SLIDE_MODE_NONE - no slide effect ELM_LABEL_SLIDE_MODE_AUTO - slide only if the label area is bigger than the text width length ELM_LABEL_SLIDE_MODE_ALWAYS - slide always

Warning
ELM_LABEL_SLIDE_MODE_AUTO, ELM_LABEL_SLIDE_MODE_ALWAYS only work with the themes "slide_short", "slide_long" and "slide_bounce". Warning: ELM_LABEL_SLIDE_MODE_AUTO, ELM_LABEL_SLIDE_MODE_ALWAYS don't work if the line wrap(elm_label_line_wrap_set()) or ellipsis(elm_label_ellipsis_set()) is set.
Parameters
[in]objThe object.
[in]modeThe slide mode
Since
1.8

References elm_label_slide_mode_set().

Referenced by elm_label_slide_mode_set().

◆ elm_label_slide_mode_get()

Elm_Label_Slide_Mode elm_label_slide_mode_get ( const Elm_Label * obj)

Control the slide mode of the label widget.

By default, slide mode is none. Possible values for mode are: ELM_LABEL_SLIDE_MODE_NONE - no slide effect ELM_LABEL_SLIDE_MODE_AUTO - slide only if the label area is bigger than the text width length ELM_LABEL_SLIDE_MODE_ALWAYS - slide always

Warning
ELM_LABEL_SLIDE_MODE_AUTO, ELM_LABEL_SLIDE_MODE_ALWAYS only work with the themes "slide_short", "slide_long" and "slide_bounce". Warning: ELM_LABEL_SLIDE_MODE_AUTO, ELM_LABEL_SLIDE_MODE_ALWAYS don't work if the line wrap(elm_label_line_wrap_set()) or ellipsis(elm_label_ellipsis_set()) is set.
Parameters
[in]objThe object.
Returns
The slide mode
Since
1.8

References elm_label_slide_mode_get().

Referenced by elm_label_slide_mode_get().

◆ elm_label_slide_duration_set()

void elm_label_slide_duration_set ( Elm_Label * obj,
double duration )

Control the slide duration of the label.

Note
If you set the speed of the slide using elm_label_slide_speed_set you cannot get the correct duration using this function until the label is actually rendered and resized.
Parameters
[in]objThe object.
[in]durationThe duration in seconds in moving text from slide begin position to slide end position

References elm_label_slide_duration_set().

Referenced by elm_label_slide_duration_set().

◆ elm_label_slide_duration_get()

double elm_label_slide_duration_get ( const Elm_Label * obj)

Control the slide duration of the label.

Note
If you set the speed of the slide using elm_label_slide_speed_set you cannot get the correct duration using this function until the label is actually rendered and resized.
Parameters
[in]objThe object.
Returns
The duration in seconds in moving text from slide begin position to slide end position

References elm_label_slide_duration_get().

Referenced by elm_label_slide_duration_get().

◆ elm_label_line_wrap_set()

void elm_label_line_wrap_set ( Elm_Label * obj,
Elm_Wrap_Type wrap )

Control the wrapping behavior of the label.

By default no wrapping is done. Possible values for wrap are: ELM_WRAP_NONE - No wrapping ELM_WRAP_CHAR - wrap between characters ELM_WRAP_WORD - wrap between words ELM_WRAP_MIXED - Word wrap, and if that fails, char wrap

Parameters
[in]objThe object.
[in]wrapTo wrap text or not

References elm_label_line_wrap_set().

Referenced by elm_label_line_wrap_set().

◆ elm_label_line_wrap_get()

Elm_Wrap_Type elm_label_line_wrap_get ( const Elm_Label * obj)

Control the wrapping behavior of the label.

By default no wrapping is done. Possible values for wrap are: ELM_WRAP_NONE - No wrapping ELM_WRAP_CHAR - wrap between characters ELM_WRAP_WORD - wrap between words ELM_WRAP_MIXED - Word wrap, and if that fails, char wrap

Parameters
[in]objThe object.
Returns
To wrap text or not

References elm_label_line_wrap_get().

Referenced by elm_label_line_wrap_get().

◆ elm_label_ellipsis_set()

void elm_label_ellipsis_set ( Elm_Label * obj,
Eina_Bool ellipsis )

Control the ellipsis behavior of the label.

If set to true and the text doesn't fit in the label an ellipsis("...") will be shown at the end of the widget.

Warning This doesn't work with slide(elm_label_slide_set()) or if the chosen wrap method was ELM_WRAP_WORD.

Parameters
[in]objThe object.
[in]ellipsisTo ellipsis text or not

References elm_label_ellipsis_set().

Referenced by elm_label_ellipsis_set().

◆ elm_label_ellipsis_get()

Eina_Bool elm_label_ellipsis_get ( const Elm_Label * obj)

Control the ellipsis behavior of the label.

If set to true and the text doesn't fit in the label an ellipsis("...") will be shown at the end of the widget.

Warning This doesn't work with slide(elm_label_slide_set()) or if the chosen wrap method was ELM_WRAP_WORD.

Parameters
[in]objThe object.
Returns
To ellipsis text or not

References elm_label_ellipsis_get().

Referenced by elm_label_ellipsis_get().

◆ elm_label_slide_go()

void elm_label_slide_go ( Elm_Label * obj)

Start slide effect.

See elm_label_slide_mode_set.

Parameters
[in]objThe object.

References elm_label_slide_go().

Referenced by elm_label_slide_go().

◆ elm_label_add()

Evas_Object * elm_label_add ( Evas_Object * parent)

Add a new label to the parent.

Parameters
parentThe parent object
Returns
The new object or NULL if it cannot be created

References EINA_SAFETY_ON_NULL_RETURN_VAL, and elm_label_add().

Referenced by elm_label_add().