diff --git a/legacy/elementary/src/bin/test_progressbar.c b/legacy/elementary/src/bin/test_progressbar.c index 13ac94f1ec..5de8100fb7 100644 --- a/legacy/elementary/src/bin/test_progressbar.c +++ b/legacy/elementary/src/bin/test_progressbar.c @@ -3,7 +3,7 @@ #endif #include #ifndef ELM_LIB_QUICKLAUNCH -typedef struct Progressbar +typedef struct Progressbar_Data { Evas_Object *pb1; Evas_Object *pb2; @@ -15,113 +15,128 @@ typedef struct Progressbar Ecore_Timer *timer; Evas_Object *btn_start; Evas_Object *btn_stop; -} Progressbar; - -static Progressbar _test_progressbar; +} Progressbar_Data; static Eina_Bool -_my_progressbar_value_set (void *data EINA_UNUSED) +_my_progressbar_value_set(void *data) { double progress; + Progressbar_Data *pd = data; - progress = elm_progressbar_value_get (_test_progressbar.pb1); + progress = elm_progressbar_value_get (pd->pb1); if (progress < 1.0) progress += 0.0123; else progress = 0.0; - elm_progressbar_value_set(_test_progressbar.pb1, progress); - elm_progressbar_value_set(_test_progressbar.pb4, progress); - elm_progressbar_value_set(_test_progressbar.pb3, progress); - elm_progressbar_value_set(_test_progressbar.pb6, progress); + elm_progressbar_value_set(pd->pb1, progress); + elm_progressbar_value_set(pd->pb4, progress); + elm_progressbar_value_set(pd->pb3, progress); + elm_progressbar_value_set(pd->pb6, progress); if (progress < 1.0) return ECORE_CALLBACK_RENEW; - _test_progressbar.timer = NULL; + pd->timer = NULL; return ECORE_CALLBACK_CANCEL; } static Eina_Bool -_my_progressbar_value_set2(void *data EINA_UNUSED) +_my_progressbar_value_set2(void *data) { + Progressbar_Data *pd = data; + if (!pd) return ECORE_CALLBACK_CANCEL; + double progress; - progress = elm_progressbar_value_get (_test_progressbar.pb1); + progress = elm_progressbar_value_get (pd->pb1); if (progress < 1.0) progress += 0.0123; else progress = 0.0; - elm_progressbar_part_value_set(_test_progressbar.pb1, "elm.cur.progressbar", progress); - elm_progressbar_value_set(_test_progressbar.pb2, progress); - elm_progressbar_part_value_set(_test_progressbar.pb2, "elm.cur.progressbar1", progress-0.15); - elm_progressbar_part_value_set(_test_progressbar.pb3, "elm.cur.progressbar", progress); - elm_progressbar_part_value_set(_test_progressbar.pb3, "elm.cur.progressbar1", progress-0.15); + elm_progressbar_part_value_set(pd->pb1, "elm.cur.progressbar", progress); + elm_progressbar_value_set(pd->pb2, progress); + elm_progressbar_part_value_set(pd->pb2, "elm.cur.progressbar1", progress-0.15); + elm_progressbar_part_value_set(pd->pb3, "elm.cur.progressbar", progress); + elm_progressbar_part_value_set(pd->pb3, "elm.cur.progressbar1", progress-0.15); if (progress < 1.0) return ECORE_CALLBACK_RENEW; - _test_progressbar.timer = NULL; + pd->timer = NULL; return ECORE_CALLBACK_CANCEL; } static void -my_progressbar_test_start(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +my_progressbar_test_start(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { + Progressbar_Data *pd = data; + if (!pd) return; + fprintf(stderr, "s1\n"); - elm_progressbar_pulse(_test_progressbar.pb2, EINA_TRUE); + elm_progressbar_pulse(pd->pb2, EINA_TRUE); fprintf(stderr, "s2\n"); - elm_progressbar_pulse(_test_progressbar.pb5, EINA_TRUE); - fprintf(stderr, "s3 %p\n", _test_progressbar.pb7); - elm_progressbar_pulse(_test_progressbar.pb7, EINA_TRUE); + elm_progressbar_pulse(pd->pb5, EINA_TRUE); + fprintf(stderr, "s3 %p\n", pd->pb7); + elm_progressbar_pulse(pd->pb7, EINA_TRUE); fprintf(stderr, "s4\n"); - elm_object_disabled_set(_test_progressbar.btn_start, EINA_TRUE); - elm_object_disabled_set(_test_progressbar.btn_stop, EINA_FALSE); + elm_object_disabled_set(pd->btn_start, EINA_TRUE); + elm_object_disabled_set(pd->btn_stop, EINA_FALSE); - if (!_test_progressbar.timer) - _test_progressbar.timer = ecore_timer_add(0.1, - _my_progressbar_value_set, NULL); + if (!pd->timer) + pd->timer = ecore_timer_add(0.1, _my_progressbar_value_set, pd); } static void -my_progressbar_test_start2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +my_progressbar_test_start2(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { + Progressbar_Data *pd = data; + if (!pd) return; + fprintf(stderr, "s1\n"); - elm_object_disabled_set(_test_progressbar.btn_start, EINA_TRUE); - elm_object_disabled_set(_test_progressbar.btn_stop, EINA_FALSE); + elm_object_disabled_set(pd->btn_start, EINA_TRUE); + elm_object_disabled_set(pd->btn_stop, EINA_FALSE); - if (!_test_progressbar.timer) - _test_progressbar.timer = ecore_timer_add(0.1, - _my_progressbar_value_set2, NULL); + if (!pd->timer) + pd->timer = ecore_timer_add(0.1, _my_progressbar_value_set2, pd); } static void -my_progressbar_test_stop(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +my_progressbar_test_stop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - elm_progressbar_pulse(_test_progressbar.pb1, EINA_FALSE); - elm_progressbar_pulse(_test_progressbar.pb2, EINA_FALSE); - elm_progressbar_pulse(_test_progressbar.pb3, EINA_FALSE); - elm_object_disabled_set(_test_progressbar.btn_start, EINA_FALSE); - elm_object_disabled_set(_test_progressbar.btn_stop, EINA_TRUE); + Progressbar_Data *pd = data; + if (!pd) return; - if (_test_progressbar.timer) + elm_progressbar_pulse(pd->pb1, EINA_FALSE); + elm_progressbar_pulse(pd->pb2, EINA_FALSE); + elm_progressbar_pulse(pd->pb3, EINA_FALSE); + elm_object_disabled_set(pd->btn_start, EINA_FALSE); + elm_object_disabled_set(pd->btn_stop, EINA_TRUE); + + if (pd->timer) { - ecore_timer_del(_test_progressbar.timer); - _test_progressbar.timer = NULL; + ecore_timer_del(pd->timer); + pd->timer = NULL; } } static void -my_progressbar_test_stop2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +my_progressbar_test_stop2(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - elm_object_disabled_set(_test_progressbar.btn_start, EINA_FALSE); - elm_object_disabled_set(_test_progressbar.btn_stop, EINA_TRUE); + Progressbar_Data *pd = data; + if (!pd) return; - if (_test_progressbar.timer) + elm_object_disabled_set(pd->btn_start, EINA_FALSE); + elm_object_disabled_set(pd->btn_stop, EINA_TRUE); + + if (pd->timer) { - ecore_timer_del(_test_progressbar.timer); - _test_progressbar.timer = NULL; + ecore_timer_del(pd->timer); + pd->timer = NULL; } } static void -my_progressbar_destroy(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +_progressbar_destroy_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { + Progressbar_Data *pd = data; + + if (pd) free(pd); my_progressbar_test_stop(NULL, NULL, NULL); evas_object_del(obj); } @@ -143,10 +158,13 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve { Evas_Object *win, *pb, *bx, *hbx, *bt, *bt_bx, *ic1, *ic2; char buf[PATH_MAX]; + Progressbar_Data *pd; + + pd = (Progressbar_Data *)calloc(1, sizeof(Progressbar_Data)); win = elm_win_util_standard_add("progressbar", "Progressbar"); evas_object_smart_callback_add(win, "delete,request", - my_progressbar_destroy, NULL); + _progressbar_destroy_cb, pd); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -162,7 +180,7 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_progressbar_unit_format_function_set(pb, my_progressbar_format_cb, (void (*)(char *)) free); evas_object_show(pb); - _test_progressbar.pb1 = pb; + pd->pb1 = pb; pb = elm_progressbar_add(win); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); @@ -171,7 +189,7 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_progressbar_pulse_set(pb, EINA_TRUE); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb2 = pb; + pd->pb2 = pb; ic1 = elm_icon_add(win); snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); @@ -183,13 +201,13 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_object_part_content_set(pb, "icon", ic1); elm_progressbar_inverted_set(pb, 1); elm_progressbar_unit_format_set(pb, "%1.1f units"); - elm_progressbar_span_size_set(pb, 200); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, pb); evas_object_show(ic1); evas_object_show(pb); - _test_progressbar.pb3 = pb; + pd->pb3 = pb; hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); @@ -203,22 +221,22 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, pb); - elm_progressbar_span_size_set(pb, 60); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 60); elm_object_text_set(pb, "percent"); evas_object_show(pb); - _test_progressbar.pb4 = pb; + pd->pb4 = pb; pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_span_size_set(pb, 80); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 80); elm_progressbar_pulse_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, NULL); elm_object_text_set(pb, "Infinite bounce"); elm_box_pack_end(hbx, pb); evas_object_show(pb); - _test_progressbar.pb5 = pb; + pd->pb5 = pb; ic2 = elm_icon_add(win); elm_image_file_set(ic2, buf, NULL); @@ -230,13 +248,13 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_object_part_content_set(pb, "icon", ic2); elm_progressbar_inverted_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, "%1.2f%%"); - elm_progressbar_span_size_set(pb, 200); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, pb); evas_object_show(ic2); evas_object_show(pb); - _test_progressbar.pb6 = pb; + pd->pb6 = pb; pb = elm_progressbar_add(win); elm_object_style_set(pb, "wheel"); @@ -246,7 +264,7 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb7 = pb; + pd->pb7 = pb; bt_bx = elm_box_add(win); elm_box_horizontal_set(bt_bx, EINA_TRUE); @@ -256,18 +274,18 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve bt = elm_button_add(win); elm_object_text_set(bt, "Start"); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start, NULL); + evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); - _test_progressbar.btn_start = bt; + pd->btn_start = bt; bt = elm_button_add(win); elm_object_text_set(bt, "Stop"); elm_object_disabled_set(bt, EINA_TRUE); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop, NULL); + evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); - _test_progressbar.btn_stop = bt; + pd->btn_stop = bt; evas_object_show(win); } @@ -276,10 +294,14 @@ void test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *win, *pb, *bx, *bt, *bt_bx; + Progressbar_Data *pd; + + pd = (Progressbar_Data *)calloc(1, sizeof(Progressbar_Data)); win = elm_win_util_standard_add("progressbar", "Progressbar2"); evas_object_smart_callback_add(win, "delete,request", - my_progressbar_destroy, NULL); + _progressbar_destroy_cb, pd); + evas_object_show(win); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -288,32 +310,32 @@ test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even pb = elm_progressbar_add(win); elm_object_text_set(pb, "Style: default"); - evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_span_size_set(pb, 200); + evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb1 = pb; + pd->pb1 = pb; pb = elm_progressbar_add(win); elm_object_style_set(pb, "recording"); elm_object_text_set(pb, "Style: Recording"); - evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_span_size_set(pb, 200); + evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb2 = pb; + pd->pb2 = pb; pb = elm_progressbar_add(win); elm_object_style_set(pb, "recording"); elm_object_text_set(pb, "Style: Recording 2"); - evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_span_size_set(pb, 200); + evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb3 = pb; + pd->pb3 = pb; bt_bx = elm_box_add(win); elm_box_horizontal_set(bt_bx, EINA_TRUE); @@ -323,19 +345,17 @@ test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even bt = elm_button_add(win); elm_object_text_set(bt, "Start"); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start2, NULL); + evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start2, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); - _test_progressbar.btn_start = bt; + pd->btn_start = bt; bt = elm_button_add(win); elm_object_text_set(bt, "Stop"); elm_object_disabled_set(bt, EINA_TRUE); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop2, NULL); + evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop2, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); - _test_progressbar.btn_stop = bt; - - evas_object_show(win); + pd->btn_stop = bt; } #endif