Tizen Native API
5.5
|
The progress bar is a widget for visually representing the progress status of a given job/task.
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 on desired directions, by any container. That length will be scaled by the object or applications 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 1.7)"focused"
- When the progressbar has received focus. (since 1.8)"unfocused"
- When the progressbar has lost focus. (since 1.8)"language,changed"
- the program's language changed (since 1.9)
This widget has the following styles:
"default"
"wheel"
(simple style, no text, no progression, only "pulse" effect is available)
Default content parts of the progressbar widget that you can use for are:
- "icon" - An icon of the progressbar
Default text parts of the progressbar widget that you can use for are:
- "default" - A label of the progressbar
Supported elm_object common APIs.
- 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
Here is an example on its usage:
Functions | |
Evas_Object * | elm_progressbar_add (Evas_Object *parent) |
void | elm_progressbar_span_size_set (Evas_Object *obj, Evas_Coord size) |
Control the (exact) length of the bar region of a given progress bar widget. | |
Evas_Coord | elm_progressbar_span_size_get (const Evas_Object *obj) |
Control the (exact) length of the bar region of a given progress bar widget. | |
void | elm_progressbar_value_set (Evas_Object *obj, double val) |
Control the progress value (in percentage) on a given progress bar widget. | |
double | elm_progressbar_value_get (const Evas_Object *obj) |
Get the progress value (in percentage) on a given progress bar widget. | |
void | elm_progressbar_inverted_set (Evas_Object *obj, Eina_Bool inverted) |
Invert a given progress bar widget's displaying values order. | |
Eina_Bool | elm_progressbar_inverted_get (const Evas_Object *obj) |
Invert a given progress bar widget's displaying values order. | |
void | elm_progressbar_horizontal_set (Evas_Object *obj, Eina_Bool horizontal) |
Control the orientation of a given progress bar widget. | |
Eina_Bool | elm_progressbar_horizontal_get (const Evas_Object *obj) |
Control the orientation of a given progress bar widget. | |
void | elm_progressbar_unit_format_set (Evas_Object *obj, const char *units) |
Control the format string for a given progress bar widget's units label. | |
const char * | elm_progressbar_unit_format_get (const Evas_Object *obj) |
Control the format string for a given progress bar widget's units label. | |
void | elm_progressbar_unit_format_function_set (Evas_Object *obj, progressbar_func_type func, progressbar_freefunc_type free_func) |
Set the format function pointer for the units label. | |
void | elm_progressbar_pulse_set (Evas_Object *obj, Eina_Bool pulse) |
Control whether a given progress bar widget is at "pulsing mode" or not. | |
Eina_Bool | elm_progressbar_pulse_get (const Evas_Object *obj) |
Control whether a given progress bar widget is at "pulsing mode" or not. | |
void | elm_progressbar_pulse (Evas_Object *obj, Eina_Bool state) |
Start/stop a given progress bar "pulsing" animation, if its under that mode. | |
void | elm_progressbar_part_value_set (Evas_Object *obj, const char *part, double val) |
Set the progress value (in percentage) on a given progress bar widget for the given part name. | |
double | elm_progressbar_part_value_get (const Evas_Object *obj, const char *part) |
Get the progress value (in percentage) on a given progress bar widget for a particular part. |
Function Documentation
Evas_Object* elm_progressbar_add | ( | Evas_Object * | parent | ) |
Add a new progress bar widget to the given parent Elementary (container) object
- Parameters:
-
parent The parent object
- Returns:
- a new progress bar widget handle or
NULL
, on errors
This function inserts a new progress bar widget on the canvas.
- Since :
- 2.3
- Examples:
- progressbar_example.c.
Eina_Bool elm_progressbar_horizontal_get | ( | const Evas_Object * | obj | ) |
Control the orientation of a given progress bar widget.
Use this function to change how your progress bar is to be disposed: vertically or horizontally.
- Returns:
- Use
true
to makeobj
to be horizontal,false
to make it vertical
- Since :
- 2.3
void elm_progressbar_horizontal_set | ( | Evas_Object * | obj, |
Eina_Bool | horizontal | ||
) |
Control the orientation of a given progress bar widget.
Use this function to change how your progress bar is to be disposed: vertically or horizontally.
- Parameters:
-
[in] horizontal Use true
to makeobj
to be horizontal,false
to make it vertical
- Since :
- 2.3
- Examples:
- progressbar_example.c.
Eina_Bool elm_progressbar_inverted_get | ( | const Evas_Object * | obj | ) |
Invert a given progress bar widget's displaying values order.
A progress bar may be inverted, in which state 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 have the low values on the former and high values on the latter, respectively, for horizontal and vertical modes.
- Returns:
- Use
true
to makeobj
inverted,false
to bring it back to default, non-inverted values.
- Since :
- 2.3
void elm_progressbar_inverted_set | ( | Evas_Object * | obj, |
Eina_Bool | inverted | ||
) |
Invert a given progress bar widget's displaying values order.
A progress bar may be inverted, in which state 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 have the low values on the former and high values on the latter, respectively, for horizontal and vertical modes.
- Parameters:
-
[in] inverted Use true
to makeobj
inverted,false
to bring it back to default, non-inverted values.
- Since :
- 2.3
- Examples:
- progressbar_example.c.
double elm_progressbar_part_value_get | ( | const Evas_Object * | obj, |
const char * | part | ||
) |
Get the progress value (in percentage) on a given progress bar widget for a particular part.
- Parameters:
-
[in] part The part name of the progress bar
- Returns:
- The value of the progressbar
- Since (EFL) :
- 1.8
- Since :
- 3.0
void elm_progressbar_part_value_set | ( | Evas_Object * | obj, |
const char * | part, | ||
double | val | ||
) |
Set the progress value (in percentage) on a given progress bar widget for the given part name.
Use this call to set progress bar status for more than one progress status .
- Parameters:
-
[in] part The partname to which val have to set [in] val The progress value (must be between $0.0 and 1.0)
- Since (EFL) :
- 1.8
- Since :
- 3.0
void elm_progressbar_pulse | ( | Evas_Object * | obj, |
Eina_Bool | state | ||
) |
Start/stop a given progress bar "pulsing" animation, if its under that mode.
- Note:
- This call won't do anything if
obj
is not under "pulsing mode".
- Parameters:
-
[in] state true
, to start the pulsing animation,false
to stop it
- Since :
- 2.3
- Examples:
- progressbar_example.c.
Eina_Bool elm_progressbar_pulse_get | ( | const Evas_Object * | obj | ) |
Control whether a given progress bar widget is at "pulsing mode" or not.
By default, progress bars will display values from the 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 will animate 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().
- Returns:
true
to putobj
in pulsing mode,false
to put it back to its default one
- Since :
- 2.3
void elm_progressbar_pulse_set | ( | Evas_Object * | obj, |
Eina_Bool | pulse | ||
) |
Control whether a given progress bar widget is at "pulsing mode" or not.
By default, progress bars will display values from the 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 will animate 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] pulse true
to putobj
in pulsing mode,false
to put it back to its default one
- Since :
- 2.3
- Examples:
- progressbar_example.c.
Evas_Coord elm_progressbar_span_size_get | ( | const Evas_Object * | obj | ) |
Control the (exact) length of the bar region of a given progress bar widget.
This sets the minimum width (when in horizontal mode) or height (when in 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 on the given direction (like weight and alignment hints) and you would like it to have a specific size.
- Note:
- Icon, label and unit text around
obj
will require their own space, which will makeobj
to require more thesize
, actually.
- Returns:
- The length of the progress bar's bar region
- Since :
- 2.3
void elm_progressbar_span_size_set | ( | Evas_Object * | obj, |
Evas_Coord | size | ||
) |
Control the (exact) length of the bar region of a given progress bar widget.
This sets the minimum width (when in horizontal mode) or height (when in 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 on the given direction (like weight and alignment hints) and you would like it to have a specific size.
- Note:
- Icon, label and unit text around
obj
will require their own space, which will makeobj
to require more thesize
, actually.
- Parameters:
-
[in] size The length of the progress bar's bar region
- Since :
- 2.3
- Examples:
- progressbar_example.c.
void elm_progressbar_unit_format_function_set | ( | Evas_Object * | obj, |
progressbar_func_type | func, | ||
progressbar_freefunc_type | free_func | ||
) |
Set the format function pointer for the units label.
Set the callback function to format the unit string.
See: elm_progressbar_unit_format_set for more info on how this works.
- Parameters:
-
[in] func The unit format function [in] free_func The freeing function for the format string.
- Since (EFL) :
- 1.7
- Since :
- 2.3
- Examples:
- progressbar_example.c.
const char* elm_progressbar_unit_format_get | ( | const Evas_Object * | obj | ) |
Control the format string for a given progress bar widget's units label.
If NULL
is passed on format
, it will make obj's
units area to be hidden completely. If not, it'll set the format string for the units label's text. The units label is provided a floating point value, so the units text is up display at most one floating point value. Note that the units label is optional. Use a format string such as "%1.2f meters" for example.
- Note:
- The default format string for a progress bar is an integer percentage, as in $"%.0f %%".
- Returns:
- The format string for
obj's
units label
- Since :
- 2.3
void elm_progressbar_unit_format_set | ( | Evas_Object * | obj, |
const char * | units | ||
) |
Control the format string for a given progress bar widget's units label.
If NULL
is passed on format
, it will make obj's
units area to be hidden completely. If not, it'll set the format string for the units label's text. The units label is provided a floating point value, so the units text is up display at most one floating point value. Note that the units label is optional. Use a format string such as "%1.2f meters" for example.
- Note:
- The default format string for a progress bar is an integer percentage, as in $"%.0f %%".
- Parameters:
-
[in] units The format string for obj's
units label
- Since :
- 2.3
- Examples:
- progressbar_example.c.
double elm_progressbar_value_get | ( | const Evas_Object * | obj | ) |
Get the progress value (in percentage) on a given progress bar widget.
- Returns:
- The progress value (between $0.0 and 1.0)
- Since :
- 2.3
- Examples:
- progressbar_example.c.
void elm_progressbar_value_set | ( | Evas_Object * | obj, |
double | val | ||
) |
Control the progress value (in percentage) on a given progress bar widget.
Use this call to set progress bar levels.
- Note:
- If you pass a value out of the specified range for
val
, it will be interpreted as the closest of the boundary values in the range.
- Parameters:
-
[in] val The progress value (must be between $0.0 and 1.0)
- Since :
- 2.3
- Examples:
- progressbar_example.c.