- Elementary
- Main
- Authors
- Examples
- Files
- Pages
- Types
- Modules

Macros | Functions
Progress bar

## Macros
#define | elm_obj_progressbar_pulse_set(pulse) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE_SET), EO_TYPECHECK(Eina_Bool, pulse)
#define | elm_obj_progressbar_pulse_get(ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE_GET), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_progressbar_pulse(state) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE), EO_TYPECHECK(Eina_Bool, state)
#define | elm_obj_progressbar_value_set(val) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_VALUE_SET), EO_TYPECHECK(double, val)
#define | elm_obj_progressbar_value_get(ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_VALUE_GET), EO_TYPECHECK(double *, ret)
#define | elm_obj_progressbar_span_size_set(size) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_SPAN_SIZE_SET), EO_TYPECHECK(Evas_Coord, size)
#define | elm_obj_progressbar_span_size_get(ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_SPAN_SIZE_GET), EO_TYPECHECK(Evas_Coord *, ret)
#define | elm_obj_progressbar_unit_format_set(units) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_SET), EO_TYPECHECK(const char *, units)
#define | elm_obj_progressbar_unit_format_get(ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_GET), EO_TYPECHECK(const char **, ret)
#define | elm_obj_progressbar_unit_format_function_set(func, free_func) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_FUNCTION_SET), EO_TYPECHECK(progressbar_func_type, func), EO_TYPECHECK(progressbar_freefunc_type, free_func)
#define | elm_obj_progressbar_horizontal_set(horizontal) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_SET), EO_TYPECHECK(Eina_Bool, horizontal)
#define | elm_obj_progressbar_horizontal_get(ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_GET), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_progressbar_inverted_set(inverted) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_SET), EO_TYPECHECK(Eina_Bool, inverted)
#define | elm_obj_progressbar_inverted_get(ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_GET), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_progressbar_part_value_set(part, val) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_SET), EO_TYPECHECK(const char*, part), EO_TYPECHECK(double, val)
#define | elm_obj_progressbar_part_value_get(part, ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_GET), EO_TYPECHECK(const char*, part), EO_TYPECHECK(double *, ret)

## Functions
Evas_Object * | elm_progressbar_add (Evas_Object *parent)
| Add a new progress bar widget to the given parent Elementary (container) object. More...
void | elm_progressbar_pulse_set (Evas_Object *obj, Eina_Bool pulse)
| Set whether a given progress bar widget is at "pulsing mode" or not. More...
Eina_Bool | elm_progressbar_pulse_get (const Evas_Object *obj)
| Get whether a given progress bar widget is at "pulsing mode" or not. More...
void | elm_progressbar_pulse (Evas_Object *obj, Eina_Bool state)
| Start/stop a given progress bar "pulsing" animation, if its under that mode. More...
void | elm_progressbar_value_set (Evas_Object *obj, double val)
| Set the progress value (in percentage) on a given progress bar widget. More...
double | elm_progressbar_value_get (const Evas_Object *obj)
| Get the progress value (in percentage) on a given progress bar widget. More...
void | elm_progressbar_span_size_set (Evas_Object *obj, Evas_Coord size)
| Set the (exact) length of the bar region of a given progress bar widget. More...
Evas_Coord | elm_progressbar_span_size_get (const Evas_Object *obj)
| Get the length set for the bar region of a given progress bar widget. More...
void | elm_progressbar_unit_format_set (Evas_Object *obj, const char *format)
| Set the format string for a given progress bar widget's units label. More...
const char * | elm_progressbar_unit_format_get (const Evas_Object *obj)
| Retrieve the format string set for a given progress bar widget's units label. More...
void | elm_progressbar_unit_format_function_set (Evas_Object *obj, char *(func)(double), void(*free_func)(char *))
| Set the format function pointer for the units label. More...
void | elm_progressbar_horizontal_set (Evas_Object *obj, Eina_Bool horizontal)
| Set the orientation of a given progress bar widget. More...
Eina_Bool | elm_progressbar_horizontal_get (const Evas_Object *obj)
| Retrieve the orientation of a given progress bar widget. More...
void | elm_progressbar_inverted_set (Evas_Object *obj, Eina_Bool inverted)
| Invert a given progress bar widget's displaying values order. More...
Eina_Bool | elm_progressbar_inverted_get (const Evas_Object *obj)
| Get whether a given progress bar widget's displaying values are inverted or not. More...
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. More...
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. More...

## Detailed Description

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)

This widget has the following styles:

- `"default"`
- `"wheel"` (simple style, no text, no progression, only "pulse" effect is available)

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

- "default" - Label of the progressbar

Default content parts of the progressbar widget that you can use for are:

- "icon" - An icon 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:

- Progress bar widget example

## Macro Definition Documentation

#define elm_obj_progressbar_horizontal_get | ( |  | ret | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_GET), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Retrieve the orientation of a given progress bar widget

Parameters

  [out] | ret |

See Also
  elm_progressbar_horizontal_get

Referenced by elm_progressbar_horizontal_get().

#define elm_obj_progressbar_horizontal_set | ( |  | horizontal | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_SET), EO_TYPECHECK(Eina_Bool, horizontal)

Since
  1.8

Set the orientation of a given progress bar widget

Parameters

  [in] | horizontal |

See Also
  elm_progressbar_horizontal_set

Referenced by elm_progressbar_horizontal_set().

#define elm_obj_progressbar_inverted_get | ( |  | ret | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_GET), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Get whether a given progress bar widget's displaying values are inverted or not

Parameters

  [out] | ret |

See Also
  elm_progressbar_inverted_get

Referenced by elm_progressbar_inverted_get().

#define elm_obj_progressbar_inverted_set | ( |  | inverted | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_SET), EO_TYPECHECK(Eina_Bool, inverted)

Since
  1.8

Invert a given progress bar widget's displaying values order

Parameters

  [in] | inverted |

See Also
  elm_progressbar_inverted_set

Referenced by elm_progressbar_inverted_set().

#define elm_obj_progressbar_part_value_get | ( |  | part,
|  |  | ret
| ) |  | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_GET), EO_TYPECHECK(const char*, part), EO_TYPECHECK(double *, ret)

Since
  1.8

Modified to support more than one progress status Get the value of the progress status of a particular part

Parameters

  [in] | part |
  [out] | ret |

See Also
  elm_progressbar_part_value_get

Referenced by elm_progressbar_part_value_get().

#define elm_obj_progressbar_part_value_set | ( |  | part,
|  |  | val
| ) |  | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_SET), EO_TYPECHECK(const char*, part), EO_TYPECHECK(double, val)

Since
  1.8

Modified to support more than one progress status Set the value of the progress status a particular part

Parameters

  [in] | part |
  [in] | val |

See Also
  elm_progressbar_part_value_set

Referenced by elm_progressbar_part_value_set().

#define elm_obj_progressbar_pulse | ( |  | state | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE), EO_TYPECHECK(Eina_Bool, state)

Since
  1.8

Start/stop a given progress bar "pulsing" animation, if its under that mode

Parameters

  [in] | state |

See Also
  elm_progressbar_pulse

Referenced by elm_progressbar_pulse().

#define elm_obj_progressbar_pulse_get | ( |  | ret | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE_GET), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Get whether a given progress bar widget is at "pulsing mode" or not.

Parameters

  [out] | ret |

See Also
  elm_progressbar_pulse_get

Referenced by elm_progressbar_pulse_get().

#define elm_obj_progressbar_pulse_set | ( |  | pulse | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE_SET), EO_TYPECHECK(Eina_Bool, pulse)

Since
  1.8

Set whether a given progress bar widget is at "pulsing mode" or not.

Parameters

  [in] | pulse |

See Also
  elm_progressbar_pulse_set

Referenced by elm_progressbar_pulse_set().

#define elm_obj_progressbar_span_size_get | ( |  | ret | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_SPAN_SIZE_GET), EO_TYPECHECK(Evas_Coord *, ret)

Since
  1.8

Get the length set for the bar region of a given progress bar

Parameters

  [out] | ret |

See Also
  elm_progressbar_span_size_get

Referenced by elm_progressbar_span_size_get().

#define elm_obj_progressbar_span_size_set | ( |  | size | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_SPAN_SIZE_SET), EO_TYPECHECK(Evas_Coord, size)

Since
  1.8

Set the (exact) length of the bar region of a given progress bar

Parameters

  [in] | size |

See Also
  elm_progressbar_span_size_set

Referenced by elm_progressbar_span_size_set().

#define elm_obj_progressbar_unit_format_function_set | ( |  | func,
|  |  | free_func
| ) |  | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_FUNCTION_SET), EO_TYPECHECK(progressbar_func_type, func), EO_TYPECHECK(progressbar_freefunc_type, free_func)

Since
  1.8

Set the format function pointer for the units label

Parameters

  [in] | func |
  [in] | free_func |

See Also
  elm_progressbar_unit_format_function_set

Referenced by elm_progressbar_unit_format_function_set().

#define elm_obj_progressbar_unit_format_get | ( |  | ret | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_GET), EO_TYPECHECK(const char **, ret)

Since
  1.8

Retrieve the format string set for a given progress bar widget's

Parameters

  [out] | ret |

See Also
  elm_progressbar_unit_format_get

Referenced by elm_progressbar_unit_format_get().

#define elm_obj_progressbar_unit_format_set | ( |  | units | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_SET), EO_TYPECHECK(const char *, units)

Since
  1.8

Set the format string for a given progress bar widget's units

Parameters

  [in] | units |

See Also
  elm_progressbar_unit_format_set

Referenced by elm_progressbar_unit_format_set().

#define elm_obj_progressbar_value_get | ( |  | ret | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_VALUE_GET), EO_TYPECHECK(double *, ret)

Since
  1.8

Get the progress value (in percentage) on a given progress bar

Parameters

  [out] | ret |

See Also
  elm_progressbar_value_get

Referenced by elm_progressbar_value_get().

#define elm_obj_progressbar_value_set | ( |  | val | ) | ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_VALUE_SET), EO_TYPECHECK(double, val)

Since
  1.8

Set the progress value (in percentage) on a given progress bar

Parameters

  [in] | val |

See Also
  elm_progressbar_value_set

Referenced by elm_progressbar_value_set().

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

Eina_Bool elm_progressbar_horizontal_get | ( | const Evas_Object * | obj | ) |

Retrieve the orientation of a given progress bar widget.

Parameters

  obj | The progress bar object

Returns
  `EINA_TRUE`, if `obj` is set to be horizontal, `EINA_FALSE` if it's vertical (and on errors)

See Also
  elm_progressbar_horizontal_set() for more details

References elm_obj_progressbar_horizontal_get.

void elm_progressbar_horizontal_set | ( | Evas_Object * | obj,
|  | Eina_Bool | horizontal
| ) |  |

Set the orientation of a given progress bar widget.

Parameters

  obj | The progress bar object
  horizontal | Use `EINA_TRUE` to make `obj` to be horizontal, `EINA_FALSE` to make it vertical

Use this function to change how your progress bar is to be disposed: vertically or horizontally.

See Also
  elm_progressbar_horizontal_get()

References elm_obj_progressbar_horizontal_set.

Eina_Bool elm_progressbar_inverted_get | ( | const Evas_Object * | obj | ) |

Get whether a given progress bar widget's displaying values are inverted or not.

Parameters

  obj | The progress bar object

Returns
  `EINA_TRUE`, if `obj` has inverted values, `EINA_FALSE` otherwise (and on errors)

See Also
  elm_progressbar_inverted_set() for more details

References elm_obj_progressbar_inverted_get.

void elm_progressbar_inverted_set | ( | Evas_Object * | obj,
|  | Eina_Bool | inverted
| ) |  |

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

Parameters

  obj | The progress bar object
  inverted | Use `EINA_TRUE` to make `obj` inverted, `EINA_FALSE` to bring it back to default, non-inverted values.

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.

See Also
  elm_progressbar_inverted_get()

References elm_obj_progressbar_inverted_set.

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.

Since
  1.8

Parameters

  obj | The progress bar object
  part | The part name of the progress bar

Returns
  The value of the progressbar

See Also
  elm_progressbar_value_set() for more details

References elm_obj_progressbar_part_value_get.

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.

Since
  1.8

Parameters

  obj | The progress bar object
  part | The partname to which val have to set
  val | The progress value (must be between `0.0` and `1.0`)

Use this call to set progress bar status for more than one progress status .

References elm_obj_progressbar_part_value_set.

void elm_progressbar_pulse | ( | Evas_Object * | obj,
|  | Eina_Bool | state
| ) |  |

Start/stop a given progress bar "pulsing" animation, if its under that mode.

Parameters

  obj | The progress bar object
  state | `EINA_TRUE`, to start the pulsing animation, `EINA_FALSE` to stop it

Note
  This call won't do anything if `obj` is not under "pulsing mode".

See Also
  elm_progressbar_pulse_set() for more details.

References elm_obj_progressbar_pulse.

Eina_Bool elm_progressbar_pulse_get | ( | const Evas_Object * | obj | ) |

Get whether a given progress bar widget is at "pulsing mode" or not.

Parameters

  obj | The progress bar object

Returns
  `EINA_TRUE`, if `obj` is in pulsing mode, `EINA_FALSE` if it's in the default one (and on errors)

References elm_obj_progressbar_pulse_get.

void elm_progressbar_pulse_set | ( | Evas_Object * | obj,
|  | Eina_Bool | pulse
| ) |  |

Set whether a given progress bar widget is at "pulsing mode" or not.

Parameters

  obj | The progress bar object
  pulse | `EINA_TRUE` to put `obj` in pulsing mode, `EINA_FALSE` to put it back to its default one

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

See Also
  elm_progressbar_pulse_get()
  elm_progressbar_pulse()

References elm_obj_progressbar_pulse_set.

Evas_Coord elm_progressbar_span_size_get | ( | const Evas_Object * | obj | ) |

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

Parameters

  obj | The progress bar object

Returns
  The length of the progress bar's bar region

If that size was not set previously, with elm_progressbar_span_size_set(), this call will return `0`.

References elm_obj_progressbar_span_size_get.

void elm_progressbar_span_size_set | ( | Evas_Object * | obj,
|  | Evas_Coord | size
| ) |  |

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

Parameters

  obj | The progress bar object
  size | The length of the progress bar's bar region

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 make `obj` to require more the `size`, actually.

See Also
  elm_progressbar_span_size_get()

References elm_obj_progressbar_span_size_set.

void elm_progressbar_unit_format_function_set | ( | Evas_Object * | obj,
|  | char * | func)(double,
|  | void(*)(char *) | free_func
| ) |  |

Set the format function pointer for the units label.

Parameters

  obj | The progress bar object
  func | The unit format function
  free_func | The freeing function for the format string.

Set the callback function to format the unit string.

See Also
  elm_progressbar_unit_format_set() for more info on how this works.

Since
  1.7

References elm_obj_progressbar_unit_format_function_set.

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

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

Parameters

  obj | The progress bar object

Returns
  The format set string for `obj's` units label or `NULL`, if none was set (and on errors)

See Also
  elm_progressbar_unit_format_set() for more details

References elm_obj_progressbar_unit_format_get.

void elm_progressbar_unit_format_set | ( | Evas_Object * | obj,
|  | const char * | format
| ) |  |

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

Parameters

  obj | The progress bar object
  format | The format string for `obj'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 %%"`.

See Also
  elm_progressbar_unit_format_get()

References elm_obj_progressbar_unit_format_set.

double elm_progressbar_value_get | ( | const Evas_Object * | obj | ) |

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

Parameters

  obj | The progress bar object

Returns
  The value of the progressbar

See Also
  elm_progressbar_value_set() for more details

References elm_obj_progressbar_value_get.

void elm_progressbar_value_set | ( | Evas_Object * | obj,
|  | double | val
| ) |  |

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

Parameters

  obj | The progress bar object
  val | The progress value (must be between `0.0` and `1.0`)

Use this call to set progress bar levels.

Note
  If you passes a value out of the specified range for `val`, it will be interpreted as the closest of the boundary values in the range.

References elm_obj_progressbar_value_set.

Copyright ©2000-2014 Enlightenment.org - Samsung Electronics supports the EFL Documentation Project - Generated Wed Jan 8 2014 20:51:14