Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_gadman.c e_resist.c Log Message: 1. more TODO 2. fix gadman resize with aspect from going off screen 3. add handy exit edit mdoe in gadget right menu =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_gadman.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- e_gadman.c 23 Jan 2005 05:28:06 -0000 1.18 +++ e_gadman.c 24 Jan 2005 15:22:47 -0000 1.19 @@ -65,6 +65,8 @@ static void _e_gadman_cb_auto_height(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_gadman_cb_center_vert(void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_gadman_cb_end_edit_mode(void *data, E_Menu *m, E_Menu_Item *mi); + static E_Config_DD *gadman_config_edd = NULL; /* externally accessible functions */ @@ -530,6 +532,11 @@ "center_vert"); e_menu_item_callback_set(mi, _e_gadman_cb_center_vert, gmc); } + mi = e_menu_item_new(m); + e_menu_item_separator_set(mi, 1); + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, "End Edit Mode"); + e_menu_item_callback_set(mi, _e_gadman_cb_end_edit_mode, gmc); return m; } @@ -1132,6 +1139,14 @@ } } _e_gadman_client_aspect_enforce(gmc, 1.0, 0.5, 1); + if (gmc->x < gmc->zone->x) + gmc->x = gmc->zone->x; + else if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) + gmc->x = gmc->zone->x + gmc->zone->w - gmc->w; + if (gmc->y < gmc->zone->y) + gmc->y = gmc->zone->y; + else if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h)) + gmc->y = gmc->zone->y + gmc->zone->h - gmc->h; _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); @@ -1197,6 +1212,14 @@ } } _e_gadman_client_aspect_enforce(gmc, 0.0, 0.5, 1); + if (gmc->x < gmc->zone->x) + gmc->x = gmc->zone->x; + else if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) + gmc->x = gmc->zone->x + gmc->zone->w - gmc->w; + if (gmc->y < gmc->zone->y) + gmc->y = gmc->zone->y; + else if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h)) + gmc->y = gmc->zone->y + gmc->zone->h - gmc->h; _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); @@ -1266,6 +1289,14 @@ } } _e_gadman_client_aspect_enforce(gmc, 0.5, 1.0, 0); + if (gmc->x < gmc->zone->x) + gmc->x = gmc->zone->x; + else if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) + gmc->x = gmc->zone->x + gmc->zone->w - gmc->w; + if (gmc->y < gmc->zone->y) + gmc->y = gmc->zone->y; + else if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h)) + gmc->y = gmc->zone->y + gmc->zone->h - gmc->h; _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); @@ -1331,6 +1362,14 @@ } } _e_gadman_client_aspect_enforce(gmc, 0.5, 0.0, 0); + if (gmc->x < gmc->zone->x) + gmc->x = gmc->zone->x; + else if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) + gmc->x = gmc->zone->x + gmc->zone->w - gmc->w; + if (gmc->y < gmc->zone->y) + gmc->y = gmc->zone->y; + else if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h)) + gmc->y = gmc->zone->y + gmc->zone->h - gmc->h; _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); @@ -1360,6 +1399,14 @@ } gmc->use_autow = 0; _e_gadman_client_aspect_enforce(gmc, 0.0, 0.5, 1); + if (gmc->x < gmc->zone->x) + gmc->x = gmc->zone->x; + else if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) + gmc->x = gmc->zone->x + gmc->zone->w - gmc->w; + if (gmc->y < gmc->zone->y) + gmc->y = gmc->zone->y; + else if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h)) + gmc->y = gmc->zone->y + gmc->zone->h - gmc->h; _e_gadman_client_geometry_apply(gmc); _e_gadman_client_geometry_to_align(gmc); e_gadman_client_save(gmc); @@ -1381,6 +1428,14 @@ gmc->x = gmc->zone->x + ((gmc->zone->w - gmc->w) / 2); gmc->use_autow = 0; _e_gadman_client_aspect_enforce(gmc, 0.0, 0.5, 1); + if (gmc->x < gmc->zone->x) + gmc->x = gmc->zone->x; + else if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) + gmc->x = gmc->zone->x + gmc->zone->w - gmc->w; + if (gmc->y < gmc->zone->y) + gmc->y = gmc->zone->y; + else if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h)) + gmc->y = gmc->zone->y + gmc->zone->h - gmc->h; _e_gadman_client_geometry_apply(gmc); _e_gadman_client_geometry_to_align(gmc); e_gadman_client_save(gmc); @@ -1437,6 +1492,14 @@ } gmc->use_autoh = 0; _e_gadman_client_aspect_enforce(gmc, 0.5, 0.0, 0); + if (gmc->x < gmc->zone->x) + gmc->x = gmc->zone->x; + else if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) + gmc->x = gmc->zone->x + gmc->zone->w - gmc->w; + if (gmc->y < gmc->zone->y) + gmc->y = gmc->zone->y; + else if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h)) + gmc->y = gmc->zone->y + gmc->zone->h - gmc->h; _e_gadman_client_geometry_apply(gmc); _e_gadman_client_geometry_to_align(gmc); e_gadman_client_save(gmc); @@ -1458,6 +1521,14 @@ gmc->y = gmc->zone->y + ((gmc->zone->h - gmc->h) / 2); gmc->use_autoh = 0; _e_gadman_client_aspect_enforce(gmc, 0.5, 0.0, 0); + if (gmc->x < gmc->zone->x) + gmc->x = gmc->zone->x; + else if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) + gmc->x = gmc->zone->x + gmc->zone->w - gmc->w; + if (gmc->y < gmc->zone->y) + gmc->y = gmc->zone->y; + else if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h)) + gmc->y = gmc->zone->y + gmc->zone->h - gmc->h; _e_gadman_client_geometry_apply(gmc); _e_gadman_client_geometry_to_align(gmc); e_gadman_client_save(gmc); @@ -1501,3 +1572,11 @@ _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); } +static void +_e_gadman_cb_end_edit_mode(void *data, E_Menu *m, E_Menu_Item *mi) +{ + E_Gadman_Client *gmc; + + gmc = data; + e_gadman_mode_set(gmc->gadman, E_GADMAN_MODE_NORMAL); +} =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_resist.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_resist.c 21 Jan 2005 15:45:56 -0000 1.4 +++ e_resist.c 24 Jan 2005 15:22:47 -0000 1.5 @@ -18,6 +18,7 @@ int resist = 1; int desk_resist = 32; int win_resist = 12; + int gad_resist = 32; int dx, dy, d, pd; int resist_x = 0, resist_y = 0; Evas_List *l, *ll, *rects = NULL; @@ -63,7 +64,7 @@ for (l = con->clients; l; l = l->next) { - E_Border *bd; + E_Border *bd; bd = l->data; if (bd->visible) @@ -81,17 +82,17 @@ } if (ok) { - r = E_NEW(E_Resist_Rect, 1); - - r->x = bd->x; - r->y = bd->y; - r->w = bd->w; - r->h = bd->h; - r->v1 = win_resist; - rects = evas_list_append(rects, r); + OBSTACLE(bd->x, bd->y, bd->w, bd->h, win_resist); } } } + for (l = con->gadman->clients; l; l = l->next) + { + E_Gadman_Client *gmc; + + gmc = l->data; + OBSTACLE(gmc->x, gmc->y, gmc->w, gmc->h, gad_resist); + } for (l = rects; l; l = l->next) { ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs