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

Reply via email to