From a4f7a90453da0dc56e88d32792849f69d7eb22b1 Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Fri, 28 Nov 2014 23:08:28 +0900 Subject: [PATCH] test_win_state: Add win lower and deiconify samples. --- src/bin/test_win_state.c | 97 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 77 insertions(+), 20 deletions(-) diff --git a/src/bin/test_win_state.c b/src/bin/test_win_state.c index 9796542..aef758f 100644 --- a/src/bin/test_win_state.c +++ b/src/bin/test_win_state.c @@ -31,13 +31,22 @@ my_bt_38_alpha_off(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EI } static Eina_Bool -_unic(void *data) +_activate_timer_cb(void *data) { - printf("activate\n"); + printf("Activate window\n"); elm_win_activate(data); - return EINA_FALSE; + return ECORE_CALLBACK_CANCEL; +} + +static Eina_Bool +_deiconify_timer_cb(void *data) +{ + printf("Deiconify window\n"); + elm_win_iconified_set(data, EINA_FALSE); + return ECORE_CALLBACK_CANCEL; } + static Eina_Bool _unwith(void *data) { @@ -48,15 +57,6 @@ _unwith(void *data) } static void -my_bt_38_iconify(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) -{ - Evas_Object *win = data; - printf("iconify, current %i\n", elm_win_iconified_get(win)); - elm_win_iconified_set(win, EINA_TRUE); - ecore_timer_add(10.0, _unic, win); -} - -static void my_bt_38_withdraw(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; @@ -182,6 +182,36 @@ _move_0_0(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED } static void +_bt_win_lower(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + printf("Lower window\n"); + elm_win_lower(data); +} + +static void +_bt_win_iconify_and_activate(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + printf("Iconify window. (current status: %i)\n", elm_win_iconified_get(data)); + elm_win_iconified_set(data, EINA_TRUE); + + printf("This window will be activated in 5 seconds.\n"); + ecore_timer_add(5.0, _activate_timer_cb, data); +} + +static void +_bt_win_iconify_and_deiconify(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + printf("Iconify window. (current status: %i)\n", elm_win_iconified_get(data)); + elm_win_iconified_set(data, EINA_TRUE); + + printf("This window will be deiconified in 5 seconds.\n"); + ecore_timer_add(5.0, _deiconify_timer_cb, data); +} + +static void _win_state_print_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("WIN: %s\n", (char *)data); @@ -273,14 +303,6 @@ test_win_state(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event evas_object_show(bt); bt = elm_button_add(win); - elm_object_text_set(bt, "Iconify"); - evas_object_smart_callback_add(bt, "clicked", my_bt_38_iconify, win); - evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - elm_box_pack_end(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); elm_object_text_set(bt, "Withdraw"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_withdraw, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -310,6 +332,41 @@ test_win_state(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, EINA_TRUE); elm_box_homogeneous_set(bx2, EINA_TRUE); + evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); + + bt = elm_button_add(win); + elm_object_text_set(bt, "Lower"); + evas_object_smart_callback_add(bt, "clicked", _bt_win_lower, win); + evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + + bt = elm_button_add(win); + elm_object_text_set(bt, "Iconify and Activate"); + evas_object_smart_callback_add(bt, "clicked", + _bt_win_iconify_and_activate, win); + evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + + bt = elm_button_add(win); + elm_object_text_set(bt, "Iconify and Deiconify"); + evas_object_smart_callback_add(bt, "clicked", + _bt_win_iconify_and_deiconify, win); + evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + + elm_box_pack_end(bx, bx2); + evas_object_show(bx2); + + bx2 = elm_box_add(win); + elm_box_horizontal_set(bx2, EINA_TRUE); + elm_box_homogeneous_set(bx2, EINA_TRUE); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); -- 2.7.4