Enlightenment CVS committal Author : doursse Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_gadman.c Log Message: display gadget coords while moving and gadget size while resizing =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_gadman.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- e_gadman.c 23 Apr 2005 05:16:24 -0000 1.31 +++ e_gadman.c 24 Apr 2005 14:44:23 -0000 1.32 @@ -69,6 +69,21 @@ static E_Config_DD *gadman_config_edd = NULL; +static Ecore_Evas *move_gm_ee = NULL; +static Evas_Object *move_gm_obj = NULL; + +static Ecore_Evas *resize_left_gm_ee = NULL; +static Evas_Object *resize_left_gm_obj = NULL; + +static Ecore_Evas *resize_right_gm_ee = NULL; +static Evas_Object *resize_right_gm_obj = NULL; + +static Ecore_Evas *resize_up_gm_ee = NULL; +static Evas_Object *resize_up_gm_obj = NULL; + +static Ecore_Evas *resize_down_gm_ee = NULL; +static Evas_Object *resize_down_gm_obj = NULL; + /* externally accessible functions */ int e_gadman_init(void) @@ -1053,6 +1068,9 @@ _e_gadman_cb_signal_move_start(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; + Evas_Coord w, h; + char buf[40]; + gmc = data; if (_e_gadman_client_is_being_modified(gmc)) return; @@ -1061,6 +1079,40 @@ evas_object_raise(gmc->control_object); evas_object_raise(gmc->event_object); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_RAISE); + + if (move_gm_ee) + { + e_canvas_del(move_gm_ee); + ecore_evas_free(move_gm_ee); + } + move_gm_ee = ecore_evas_software_x11_new(NULL, + gmc->zone->container->manager->win, + 0, 0, 10, 10); + ecore_evas_override_set(move_gm_ee, 1); + ecore_evas_software_x11_direct_resize_set(move_gm_ee, 1); + e_canvas_add(move_gm_ee); + ecore_evas_borderless_set(move_gm_ee, 1); + ecore_evas_layer_set(move_gm_ee, 999); + ecore_evas_show(move_gm_ee); + + move_gm_obj = edje_object_add(ecore_evas_get(move_gm_ee)); + edje_object_file_set(move_gm_obj, e_path_find(path_themes, "default.edj"), + "widgets/border/default/move"); + snprintf(buf, sizeof(buf), "9999 9999"); + edje_object_part_text_set(move_gm_obj, "text", buf); + + edje_object_size_min_calc(move_gm_obj, &w, &h); + evas_object_move(move_gm_obj, 0, 0); + evas_object_resize(move_gm_obj, w, h); + evas_object_show(move_gm_obj); + + snprintf(buf, sizeof(buf), "%i %i", gmc->x, gmc->y); + edje_object_part_text_set(move_gm_obj, "text", buf); + + ecore_evas_move(move_gm_ee, (gmc->zone->w - w) / 2, (gmc->zone->h - h) / 2); + ecore_evas_resize(move_gm_ee, w, h); + + ecore_evas_show(move_gm_ee); } static void @@ -1072,17 +1124,27 @@ gmc->moving = 0; _e_gadman_client_geometry_to_align(gmc); e_gadman_client_save(gmc); + + evas_object_del(move_gm_obj); + if (move_gm_ee) + { + e_canvas_del(move_gm_ee); + ecore_evas_hide(move_gm_ee); + move_gm_ee = NULL; + } } static void _e_gadman_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; - Evas_Coord x, y; - int new_edge = 0; - int nx, ny, nxx, nyy; - int new_zone = 0; - Evas_List *skiplist = NULL; + Evas_Coord x, y; + int new_edge = 0; + int nx, ny, nxx, nyy; + int new_zone = 0; + Evas_List *skiplist = NULL; + char buf[40]; + gmc = data; if (!gmc->moving) return; @@ -1230,18 +1292,58 @@ if (!e_object_del_get(E_OBJECT(gmc))) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); e_object_unref(E_OBJECT(gmc)); + + snprintf(buf, sizeof(buf) - 1, "%i %i", gmc->x, gmc->y); + edje_object_part_text_set(move_gm_obj, "text", buf); + } static void _e_gadman_cb_signal_resize_left_start(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; + Evas_Coord w, h; + char buf[40]; gmc = data; if (_e_gadman_client_is_being_modified(gmc)) return; _e_gadman_client_down_store(gmc); gmc->use_autow = 0; gmc->resizing_l = 1; + + if (resize_left_gm_ee) + { + e_canvas_del(resize_left_gm_ee); + ecore_evas_free(resize_left_gm_ee); + } + resize_left_gm_ee = ecore_evas_software_x11_new(NULL, + gmc->zone->container->manager->win, + 0, 0, 10, 10); + ecore_evas_override_set(resize_left_gm_ee, 1); + ecore_evas_software_x11_direct_resize_set(resize_left_gm_ee, 1); + e_canvas_add(resize_left_gm_ee); + ecore_evas_borderless_set(resize_left_gm_ee, 1); + ecore_evas_layer_set(resize_left_gm_ee, 999); + ecore_evas_show(resize_left_gm_ee); + + resize_left_gm_obj = edje_object_add(ecore_evas_get(resize_left_gm_ee)); + edje_object_file_set(resize_left_gm_obj, e_path_find(path_themes, "default.edj"), + "widgets/border/default/resize"); + snprintf(buf, sizeof(buf), "9999 9999"); + edje_object_part_text_set(resize_left_gm_obj, "text", buf); + + edje_object_size_min_calc(resize_left_gm_obj, &w, &h); + evas_object_move(resize_left_gm_obj, 0, 0); + evas_object_resize(resize_left_gm_obj, w, h); + evas_object_show(resize_left_gm_obj); + + snprintf(buf, sizeof(buf), "(%i,%i)", gmc->w, gmc->h); + edje_object_part_text_set(resize_left_gm_obj, "text", buf); + + ecore_evas_move(resize_left_gm_ee, (gmc->zone->w - w) / 2, (gmc->zone->h - h) / 2); + ecore_evas_resize(resize_left_gm_ee, w, h); + + ecore_evas_show(resize_left_gm_ee); } static void @@ -1252,13 +1354,22 @@ gmc = data; gmc->resizing_l = 0; e_gadman_client_save(gmc); + + evas_object_del(resize_left_gm_obj); + if (resize_left_gm_ee) + { + e_canvas_del(resize_left_gm_ee); + ecore_evas_hide(resize_left_gm_ee); + resize_left_gm_ee = NULL; + } } static void _e_gadman_cb_signal_resize_left_go(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; - Evas_Coord x, y; + Evas_Coord x, y; + char buf[40]; gmc = data; if (!gmc->resizing_l) return; @@ -1307,18 +1418,57 @@ _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); + + snprintf(buf, sizeof(buf) - 1, "(%i,%i)", gmc->w, gmc->h); + edje_object_part_text_set(resize_left_gm_obj, "text", buf); } static void _e_gadman_cb_signal_resize_right_start(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; + Evas_Coord w, h; + char buf[40]; gmc = data; if (_e_gadman_client_is_being_modified(gmc)) return; _e_gadman_client_down_store(gmc); gmc->use_autow = 0; gmc->resizing_r = 1; + + if (resize_right_gm_ee) + { + e_canvas_del(resize_right_gm_ee); + ecore_evas_free(resize_right_gm_ee); + } + resize_right_gm_ee = ecore_evas_software_x11_new(NULL, + gmc->zone->container->manager->win, + 0, 0, 10, 10); + ecore_evas_override_set(resize_right_gm_ee, 1); + ecore_evas_software_x11_direct_resize_set(resize_right_gm_ee, 1); + e_canvas_add(resize_right_gm_ee); + ecore_evas_borderless_set(resize_right_gm_ee, 1); + ecore_evas_layer_set(resize_right_gm_ee, 999); + ecore_evas_show(resize_right_gm_ee); + + resize_right_gm_obj = edje_object_add(ecore_evas_get(resize_right_gm_ee)); + edje_object_file_set(resize_right_gm_obj, e_path_find(path_themes, "default.edj"), + "widgets/border/default/resize"); + snprintf(buf, sizeof(buf), "9999 9999"); + edje_object_part_text_set(resize_right_gm_obj, "text", buf); + + edje_object_size_min_calc(resize_right_gm_obj, &w, &h); + evas_object_move(resize_right_gm_obj, 0, 0); + evas_object_resize(resize_right_gm_obj, w, h); + evas_object_show(resize_right_gm_obj); + + snprintf(buf, sizeof(buf), "(%i,%i)", gmc->w, gmc->h); + edje_object_part_text_set(resize_right_gm_obj, "text", buf); + + ecore_evas_move(resize_right_gm_ee, (gmc->zone->w - w) / 2, (gmc->zone->h - h) / 2); + ecore_evas_resize(resize_right_gm_ee, w, h); + + ecore_evas_show(resize_right_gm_ee); } static void @@ -1329,13 +1479,22 @@ gmc = data; gmc->resizing_r = 0; e_gadman_client_save(gmc); + + evas_object_del(resize_right_gm_obj); + if (resize_right_gm_ee) + { + e_canvas_del(resize_right_gm_ee); + ecore_evas_hide(resize_right_gm_ee); + resize_right_gm_ee = NULL; + } } static void _e_gadman_cb_signal_resize_right_go(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; - Evas_Coord x, y; + Evas_Coord x, y; + char buf[40]; gmc = data; if (!gmc->resizing_r) return; @@ -1380,18 +1539,57 @@ _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); + + snprintf(buf, sizeof(buf) - 1, "(%i,%i)", gmc->w, gmc->h); + edje_object_part_text_set(resize_right_gm_obj, "text", buf); } static void _e_gadman_cb_signal_resize_up_start(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; + Evas_Coord w, h; + char buf[40]; gmc = data; if (_e_gadman_client_is_being_modified(gmc)) return; _e_gadman_client_down_store(gmc); gmc->use_autoh = 0; gmc->resizing_u = 1; + + if (resize_up_gm_ee) + { + e_canvas_del (resize_up_gm_ee); + ecore_evas_free(resize_up_gm_ee); + } + resize_up_gm_ee = ecore_evas_software_x11_new(NULL, + gmc->zone->container->manager->win, + 0, 0, 10, 10); + ecore_evas_override_set(resize_up_gm_ee, 1); + ecore_evas_software_x11_direct_resize_set(resize_up_gm_ee, 1); + e_canvas_add(resize_up_gm_ee); + ecore_evas_borderless_set(resize_up_gm_ee, 1); + ecore_evas_layer_set(resize_up_gm_ee, 999); + ecore_evas_show(resize_up_gm_ee); + + resize_up_gm_obj = edje_object_add(ecore_evas_get(resize_up_gm_ee)); + edje_object_file_set(resize_up_gm_obj, e_path_find(path_themes, "default.edj"), + "widgets/border/default/resize"); + snprintf(buf, sizeof(buf), "9999 9999"); + edje_object_part_text_set(resize_up_gm_obj, "text", buf); + + edje_object_size_min_calc(resize_up_gm_obj, &w, &h); + evas_object_move(resize_up_gm_obj, 0, 0); + evas_object_resize(resize_up_gm_obj, w, h); + evas_object_show(resize_up_gm_obj); + + snprintf(buf, sizeof(buf), "(%i,%i)", gmc->w, gmc->h); + edje_object_part_text_set(resize_up_gm_obj, "text", buf); + + ecore_evas_move(resize_up_gm_ee, (gmc->zone->w - w) / 2, (gmc->zone->h - h) / 2); + ecore_evas_resize(resize_up_gm_ee, w, h); + + ecore_evas_show(resize_up_gm_ee); } static void @@ -1402,13 +1600,22 @@ gmc = data; gmc->resizing_u = 0; e_gadman_client_save(gmc); + + evas_object_del(resize_up_gm_obj); + if (resize_up_gm_ee) + { + e_canvas_del (resize_up_gm_ee); + ecore_evas_hide(resize_up_gm_ee); + resize_up_gm_ee = NULL; + } } static void _e_gadman_cb_signal_resize_up_go(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; - Evas_Coord x, y; + Evas_Coord x, y; + char buf[40]; gmc = data; if (!gmc->resizing_u) return; @@ -1457,18 +1664,57 @@ _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); + + snprintf(buf, sizeof(buf) - 1, "(%i,%i)", gmc->w, gmc->h); + edje_object_part_text_set(resize_up_gm_obj, "text", buf); } static void _e_gadman_cb_signal_resize_down_start(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; + Evas_Coord w, h; + char buf[40]; gmc = data; if (_e_gadman_client_is_being_modified(gmc)) return; _e_gadman_client_down_store(gmc); gmc->use_autoh = 0; gmc->resizing_d = 1; + + if (resize_down_gm_ee) + { + e_canvas_del(resize_down_gm_ee); + ecore_evas_free(resize_down_gm_ee); + } + resize_down_gm_ee = ecore_evas_software_x11_new(NULL, + gmc->zone->container->manager->win, + 0, 0, 10, 10); + ecore_evas_override_set(resize_down_gm_ee, 1); + ecore_evas_software_x11_direct_resize_set(resize_down_gm_ee, 1); + e_canvas_add(resize_down_gm_ee); + ecore_evas_borderless_set(resize_down_gm_ee, 1); + ecore_evas_layer_set(resize_down_gm_ee, 999); + ecore_evas_show(resize_down_gm_ee); + + resize_down_gm_obj = edje_object_add(ecore_evas_get(resize_down_gm_ee)); + edje_object_file_set(resize_down_gm_obj, e_path_find(path_themes, "default.edj"), + "widgets/border/default/resize"); + snprintf(buf, sizeof(buf), "9999 9999"); + edje_object_part_text_set(resize_down_gm_obj, "text", buf); + + edje_object_size_min_calc(resize_down_gm_obj, &w, &h); + evas_object_move(resize_down_gm_obj, 0, 0); + evas_object_resize(resize_down_gm_obj, w, h); + evas_object_show(resize_down_gm_obj); + + snprintf(buf, sizeof(buf), "(%i,%i)", gmc->w, gmc->h); + edje_object_part_text_set(resize_down_gm_obj, "text", buf); + + ecore_evas_move(resize_down_gm_ee, (gmc->zone->w - w) / 2, (gmc->zone->h - h) / 2); + ecore_evas_resize(resize_down_gm_ee, w, h); + + ecore_evas_show(resize_down_gm_ee); } static void @@ -1479,13 +1725,22 @@ gmc = data; gmc->resizing_d = 0; e_gadman_client_save(gmc); + + evas_object_del(resize_down_gm_obj); + if (resize_down_gm_ee) + { + e_canvas_del(resize_down_gm_ee); + ecore_evas_hide(resize_down_gm_ee); + resize_down_gm_ee = NULL; + } } static void _e_gadman_cb_signal_resize_down_go(void *data, Evas_Object *obj, const char *emission, const char *source) { E_Gadman_Client *gmc; - Evas_Coord x, y; + Evas_Coord x, y; + char buf[40]; gmc = data; if (!gmc->resizing_d) return; @@ -1530,6 +1785,9 @@ _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); + + snprintf(buf, sizeof(buf) - 1, "(%i,%i)", gmc->w, gmc->h); + edje_object_part_text_set(resize_down_gm_obj, "text", buf); } static void ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs