Wearable native

Progressbar

This feature is supported in wearable applications only.

The progressbar component is used to display the progress status of a given job. It inherits from the layout component, so all function concerning the layout component is used on the progressbar component.

For more information, see the Progress bar API.

Figure: Progressbar component

Progressbar component

Figure: Progressbar hierarchy

Progressbar hierarchy

Adding a Progressbar Component

To create a progressbar component, use the elm_progressbar_add() function:

Evas_Object *pb = elm_progressbar_add(win);

Using the Progressbar Styles

The progressbar has several styles.

  • The following styles are available for a rectangular UI screen:

    • default
    • pending_list
    • process
    • process/groupindex
    • process/popup/small
  • The following styles are available for a circular UI screen:

    • process
    • process/small

Set the style of the progressbar to pending_list:

elm_object_style_set(pb, "pending_list");

Configuring the Progressbar for a Rectangular Screen

To configure the progressbar:

  • Activate the progressbar pulse mode to make the progressbar loop infinitely between the start and end position:

    elm_progressbar_pulse_set(pb, EINA_TRUE);
    elm_progressbar_pulse(pb, EINA_TRUE);
    
  • Invert the progressbar. In the inverted mode the high values are on the left and the low values on the right.

    elm_progressbar_inverted_set(pb, EINA_TRUE);
    
  • Change the value with the elm_progressbar_value_set() function. The progressbar emits the changed signal when the progress value changes. In the following example, the pb progress value is set to 20%.

    elm_progressbar_value_set(pb, 0.2);
    
  • Read the current value:

    double value = elm_progressbar_value_get(pb);
    

Configuring the Progressbar for a Circular Screen

To configure the progressbar:

  • Change the value with the elm_progressbar_value_set() function. The progressbar emits the changed signal when the progress value changes. In the following example, the pb progress value is set to 20%.

    elm_progressbar_value_set(pb, 0.2);
    
  • Read the current value:

    double value = elm_progressbar_value_get(pb);
    

Using the Progressbar Callbacks

The changed signal is the only signal specifically emitted by the progressbar component.

The following example shows how to register a callback on this signal.

{
   evas_object_smart_callback_add(pb, "changed", changed_cb, data);
}

// Callback function for the "changed" signal
// This callback is called when the progressbar value changes
void 
changed_cb(void *data, Evas_Object *obj, void *event_info)
{
   dlog_print(DLOG_INFO, LOG_TAG, "The value has changed\n");
}
Note
Except as noted, this content is licensed under LGPLv2.1+.
Go to top