Tizen Native API

The progress bar is a widget for visually representing the progress status of a given job/task.

progressbar_inheritance_tree.png

A progress bar may be horizontal or vertical. It may display an icon besides it, as well as primary and units labels. The former is meant to label the widget as a whole, while the latter, which is formatted with floating point values (and thus accepts a printf-style format string, like "%1.2f units"), is meant to label the widget's progress value. Label, icon, and unit strings/objects are optional for progress bars.

A progress bar may be inverted, in which case it gets its values inverted, i.e., high values being on the left or top and low values on the right or bottom, for horizontal and vertical modes respectively.

The span of the progress, as set by elm_progressbar_span_size_set(), is its length (horizontally or vertically), unless one puts size hints on the widget to expand in desired directions, by any container. That length is scaled by the object or application's scaling factor. Applications can query the progress bar for its value with elm_progressbar_value_get().

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

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

  • "changed" - When the value is changed.
    Since (EFL) :
    1.7
    This widget has the following styles:
    • "default"
    • "wheel" (simple style, no text, no progression, only "pulse" effect is available)

The default text parts of the progressbar widget that you can use are:

  • "default" - Label of the progressbar.

The default content parts of the progressbar widget that you can use are:

  • "icon" - Icon of the progressbar.

Supported common elm_object APIs.

Functions

Evas_Objectelm_progressbar_add (Evas_Object *parent)
 Adds a new progress bar widget to the given parent Elementary (container) object.
void elm_progressbar_pulse_set (Evas_Object *obj, Eina_Bool pulse)
 Sets whether a given progress bar widget is at the "pulsing mode".
Eina_Bool elm_progressbar_pulse_get (const Evas_Object *obj)
 Gets whether a given progress bar widget is at the "pulsing mode".
void elm_progressbar_pulse (Evas_Object *obj, Eina_Bool state)
 Starts or stops a given progress bar "pulsing" animation, if its under that mode.
void elm_progressbar_value_set (Evas_Object *obj, double val)
 Sets the progress value (in percentage) on a given progress bar widget.
double elm_progressbar_value_get (const Evas_Object *obj)
 Gets the progress value (in percentage) on a given progress bar widget.
void elm_progressbar_span_size_set (Evas_Object *obj, Evas_Coord size)
 Sets the (exact) length of the bar region of a given progress bar widget.
Evas_Coord elm_progressbar_span_size_get (const Evas_Object *obj)
 Gets the length set for the bar region of a given progress bar widget.
void elm_progressbar_unit_format_set (Evas_Object *obj, const char *format)
 Sets the format string for a given progress bar widget's units label.
const char * elm_progressbar_unit_format_get (const Evas_Object *obj)
 Retrieves the format string set for a given progress bar widget's units label.
void elm_progressbar_unit_format_function_set (Evas_Object *obj, char *(func)(double), void(*free_func)(char *))
 Sets the format function pointer for the units label.
void elm_progressbar_horizontal_set (Evas_Object *obj, Eina_Bool horizontal)
 Sets the orientation of a given progress bar widget.
Eina_Bool elm_progressbar_horizontal_get (const Evas_Object *obj)
 Retrieves the orientation of a given progress bar widget.
void elm_progressbar_inverted_set (Evas_Object *obj, Eina_Bool inverted)
 Inverts a given progress bar widget's displaying values order.
Eina_Bool elm_progressbar_inverted_get (const Evas_Object *obj)
 Gets whether a given progress bar widget's displaying values are inverted.

Function Documentation

Adds a new progress bar widget to the given parent Elementary (container) object.

This function inserts a new progress bar widget on the canvas.

Since :
2.3.1
Parameters:
[in]parentThe parent object
Returns:
A new progress bar widget handle, otherwise NULL in case of an error

Retrieves the orientation of a given progress bar widget.

Since :
2.3.1
Parameters:
[in]objThe progress bar object
Returns:
EINA_TRUE if obj is set to be horizontal, otherwise EINA_FALSE if it's vertical (and on errors)
See also:
elm_progressbar_horizontal_set()
void elm_progressbar_horizontal_set ( Evas_Object obj,
Eina_Bool  horizontal 
)

Sets the orientation of a given progress bar widget.

Since :
2.3.1
Remarks:
Use this function to change how your progress bar is to be disposed: vertically or horizontally.
Parameters:
[in]objThe progress bar object
[in]horizontalIf EINA_TRUE obj is horizontal, otherwise EINA_FALSE if obj is vertical
See also:
elm_progressbar_horizontal_get()

Gets whether a given progress bar widget's displaying values are inverted.

Since :
2.3.1
Parameters:
[in]objThe progress bar object
Returns:
EINA_TRUE if obj has inverted values, otherwise EINA_FALSE (and on errors)
See also:
elm_progressbar_inverted_set()
void elm_progressbar_inverted_set ( Evas_Object obj,
Eina_Bool  inverted 
)

Inverts a given progress bar widget's displaying values order.

Since :
2.3.1
Remarks:
A progress bar may be inverted, in which case it gets its values inverted, with high values being on the left or top and low values on the right or bottom, as opposed to normally having low values on the former and high values on the latter, for horizontal and vertical modes respectively.
Parameters:
[in]objThe progress bar object
[in]invertedIf EINA_TRUE obj is inverted, otherwise EINA_FALSE brings it back to the default, non-inverted values
See also:
elm_progressbar_inverted_get()
void elm_progressbar_pulse ( Evas_Object obj,
Eina_Bool  state 
)

Starts or stops a given progress bar "pulsing" animation, if its under that mode.

Since :
2.3.1
Remarks:
This call won't do anything if obj is not under the "pulsing mode".
Parameters:
[in]objThe progress bar object
[in]stateIf EINA_TRUE, start the pulsing animation, otherwise EINA_FALSE to stop it
See also:
elm_progressbar_pulse_set()

Gets whether a given progress bar widget is at the "pulsing mode".

Since :
2.3.1
Parameters:
[in]objThe progress bar object
Returns:
EINA_TRUE if obj is in the pulsing mode, otherwise EINA_FALSE if it's in the default one (and on errors)
void elm_progressbar_pulse_set ( Evas_Object obj,
Eina_Bool  pulse 
)

Sets whether a given progress bar widget is at the "pulsing mode".

Since :
2.3.1
Remarks:
By default, progress bars display values from low to high value boundaries. There are, though, contexts in which the progress of a given task is unknown. For such cases, one can set a progress bar widget to a "pulsing state", to give the user an idea that some computation is being held, but without exact progress values. In the default theme, it animates its bar with the contents filling in constantly and back to non-filled, in a loop. To start and stop this pulsing animation, one has to explicitly call elm_progressbar_pulse().
Parameters:
[in]objThe progress bar object
[in]pulseIf EINA_TRUE obj is put in the pulsing mode, otherwise EINA_FALSE to put it back to its default one
See also:
elm_progressbar_pulse_get()
elm_progressbar_pulse()

Gets the length set for the bar region of a given progress bar widget.

Since :
2.3.1
Remarks:
If that size is not set previously, with elm_progressbar_span_size_set(), this call returns 0.
Parameters:
[in]objThe progress bar object
Returns:
The length of the progress bar's bar region

Sets the (exact) length of the bar region of a given progress bar widget.

This sets the minimum width (when in the horizontal mode) or height (when in the vertical mode) of the actual bar area of the progress bar obj. This in turn affects the object's minimum size. Use this when you're not setting other size hints expanding in the given direction (like weight and alignment hints) and you would like it to have a specific size.

Since :
2.3.1
Remarks:
Icon, label, and unit text around obj require their own space, which makes obj to require more size, actually.
Parameters:
[in]objThe progress bar object
[in]sizeThe length of the progress bar's bar region
See also:
elm_progressbar_span_size_get()
void elm_progressbar_unit_format_function_set ( Evas_Object obj,
char *  func)(double,
void(*)(char *)  free_func 
)

Sets the format function pointer for the units label.

Since (EFL) :
1.7
Since :
2.3.1
Remarks:
This sets the callback function to format the unit string.
Parameters:
[in]objThe progress bar object
[in]free_funcThe freeing function for the format string
See also:
elm_progressbar_unit_format_set() for more info on how this works.
const char* elm_progressbar_unit_format_get ( const Evas_Object obj)

Retrieves the format string set for a given progress bar widget's units label.

Since :
2.3.1
Parameters:
[in]objThe progress bar object
Returns:
The format set string for obj units label, otherwise NULL if none are set (and on errors)
See also:
elm_progressbar_unit_format_set()
void elm_progressbar_unit_format_set ( Evas_Object obj,
const char *  format 
)

Sets the format string for a given progress bar widget's units label.

Since :
2.3.1
Remarks:
If NULL is passed on format, it makes obj units area to be hidden completely. If not, it sets the format string for the units label's text. The units label is provided with a floating point value, so the units text displays at most one floating point value. Note that the units label is optional. Use a format string such as "%1.2f meters" for example.
The default format string for a progress bar is an integer percentage, as in "%.0f %%".
Parameters:
[in]objThe progress bar object
[in]formatThe format string for the obj units label
See also:
elm_progressbar_unit_format_get()
double elm_progressbar_value_get ( const Evas_Object obj)

Gets the progress value (in percentage) on a given progress bar widget.

Since :
2.3.1
Parameters:
[in]objThe progress bar object
Returns:
The value of the progressbar
See also:
elm_progressbar_value_set()
void elm_progressbar_value_set ( Evas_Object obj,
double  val 
)

Sets the progress value (in percentage) on a given progress bar widget.

Since :
2.3.1
Remarks:
Use this call to set the progress bar levels.
If you pass a value out of the specified range for val, it is interpreted as the closest of the boundary values in the range.
Parameters:
[in]objThe progress bar object
[in]valThe progress value (must be between 0.0 and 1.0)