Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_int_menus.c e_menu.c e_menu.h e_zone.c 


Log Message:


and menus now work by zones...

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -3 -r1.61 -r1.62
--- e_border.c  11 Jan 2005 13:11:12 -0000      1.61
+++ e_border.c  11 Jan 2005 13:43:00 -0000      1.62
@@ -2664,7 +2664,7 @@
        e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, buf);
      }
 
-   e_menu_activate_mouse(m, bd->container, x, y, 1, 1,
+   e_menu_activate_mouse(m, bd->zone, x, y, 1, 1,
                         E_MENU_POP_DIRECTION_DOWN);
 
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- e_int_menus.c       8 Jan 2005 17:32:08 -0000       1.25
+++ e_int_menus.c       11 Jan 2005 13:43:00 -0000      1.26
@@ -308,11 +308,12 @@
    root = e_menu_root_get(m);
    /* Get the desktop list for this zone */
    /* FIXME: Menu code needs to determine what zone menu was clicked in */
-   if (root && root->con)
+   if (root && root->zone)
      {
        int i;
-       E_Zone *zone = e_zone_current_get(root->con);
+       E_Zone *zone;
        
+       zone = root->zone;
        for (i = 0; i < zone->desk_x_count * zone->desk_y_count; i++)
          {
             desks = evas_list_append(desks, zone->desks[i]);
@@ -358,55 +359,41 @@
 static void
 _e_int_menus_desktops_row_add_cb(void *data, E_Menu *m, E_Menu_Item *mi)
 {
-   E_Menu *root = e_menu_root_get(m);
-
-   if (root && root->con)
-     {
-       E_Zone *zone = e_zone_current_get(root->con);
-       e_desk_row_add(zone);
-//     e_desk_show(desk);
-     }
+   E_Menu *root;
+     
+   root = e_menu_root_get(m);
+   if (root)
+     e_desk_row_add(root->zone);
 }
 
 static void
 _e_int_menus_desktops_row_del_cb(void *data, E_Menu *m, E_Menu_Item *mi)
 {
-   E_Menu *root = e_menu_root_get(m);
-
-   if (root && root->con)
-     {
-       E_Zone *zone;
-       
-       zone = e_zone_current_get(root->con);
-       e_desk_row_remove(zone);
-     }
+   E_Menu *root;
+     
+   root = e_menu_root_get(m);
+   if (root)
+     e_desk_row_remove(root->zone);
 }
 
 static void
 _e_int_menus_desktops_col_add_cb(void *data, E_Menu *m, E_Menu_Item *mi)
 {
-   E_Menu *root = e_menu_root_get(m);
-
-   if (root && root->con)
-     {
-       E_Zone *zone = e_zone_current_get(root->con);
-       e_desk_col_add(zone);
-//      e_desk_show(desk);
-     }
+   E_Menu *root;
+     
+   root = e_menu_root_get(m);
+   if (root)
+     e_desk_col_add(root->zone);
 }
 
 static void
 _e_int_menus_desktops_col_del_cb(void *data, E_Menu *m, E_Menu_Item *mi)
 {
-   E_Menu *root = e_menu_root_get(m);
-         
-   if (root && root->con)
-     {
-       E_Zone *zone;
-
-       zone = e_zone_current_get(root->con);
-       e_desk_col_remove(zone);
-     }  
+   E_Menu *root;
+     
+   root = e_menu_root_get(m);
+   if (root)
+     e_desk_col_remove(root->zone);
 }
 
 static void
@@ -429,9 +416,9 @@
    
    root = e_menu_root_get(m);
    /* get the current containers clients */
-   if (root && root->con)
+   if (root && root->zone)
      {
-       for (l = e_container_clients_list_get(root->con); l; l = l->next)
+       for (l = e_zone_clients_list_get(root->zone); l; l = l->next)
          {
             borders = evas_list_append(borders, l->data);
          }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_menu.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- e_menu.c    2 Jan 2005 02:39:43 -0000       1.7
+++ e_menu.c    11 Jan 2005 13:43:00 -0000      1.8
@@ -30,7 +30,7 @@
 static void _e_menu_items_layout_update           (E_Menu *m);
 static void _e_menu_item_unrealize               (E_Menu_Item *mi);
 static void _e_menu_unrealize                     (E_Menu *m);
-static void _e_menu_activate_internal             (E_Menu *m, E_Container 
*con);
+static void _e_menu_activate_internal             (E_Menu *m, E_Zone *zone);
 static void _e_menu_deactivate_all                (void);
 static void _e_menu_deactivate_above              (E_Menu *m);
 static void _e_menu_submenu_activate              (E_Menu_Item *mi);
@@ -131,26 +131,26 @@
 }
 
 void
-e_menu_activate_key(E_Menu *m, E_Container *con, int x, int y, int w, int h, 
int dir)
+e_menu_activate_key(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int 
dir)
 {
    E_OBJECT_CHECK(m);
-   E_OBJECT_CHECK(con);
+   E_OBJECT_CHECK(zone);
    _e_menu_activate_time = 0.0;
-   _e_menu_activate_internal(m, con);
+   _e_menu_activate_internal(m, zone);
    m->cur.x = 200;
    m->cur.y = 200;
    _e_menu_activate_first();
 }
 
 void
-e_menu_activate_mouse(E_Menu *m, E_Container *con, int x, int y, int w, int h, 
int dir)
+e_menu_activate_mouse(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int 
dir)
 {
    E_Menu_Item *pmi;
    
    E_OBJECT_CHECK(m);
-   E_OBJECT_CHECK(con);
+   E_OBJECT_CHECK(zone);
    _e_menu_activate_time = ecore_time_get();
-   _e_menu_activate_internal(m, con);
+   _e_menu_activate_internal(m, zone);
    m->cur.x = x;
    m->cur.y = y;
        
@@ -159,14 +159,14 @@
 }
 
 void
-e_menu_activate(E_Menu *m, E_Container *con, int x, int y, int w, int h, int 
dir)
+e_menu_activate(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int dir)
 {
    E_Menu_Item *pmi;
 
    E_OBJECT_CHECK(m);
-   E_OBJECT_CHECK(con);
+   E_OBJECT_CHECK(zone);
    _e_menu_activate_time = 0.0;
-   _e_menu_activate_internal(m, con);
+   _e_menu_activate_internal(m, zone);
    m->cur.x = x;
    m->cur.y = y;
    pmi = _e_menu_item_active_get();
@@ -949,11 +949,11 @@
    
    if (m->realized) return;
    m->realized = 1;
-   m->ecore_evas = ecore_evas_software_x11_new(NULL, m->con->win, 
+   m->ecore_evas = ecore_evas_software_x11_new(NULL, m->zone->container->win, 
                                               m->cur.x, m->cur.y, 
                                               m->cur.w, m->cur.h);
    e_canvas_add(m->ecore_evas);
-   m->shape = e_container_shape_add(m->con);
+   m->shape = e_container_shape_add(m->zone->container);
    e_container_shape_move(m->shape, m->cur.x, m->cur.y);
    e_container_shape_resize(m->shape, m->cur.w, m->cur.h);
    
@@ -1250,7 +1250,7 @@
    m->cur.visible = 0;
    m->prev.visible = 0;
    m->realized = 0;
-   m->con = NULL;
+   m->zone = NULL;
    e_canvas_del(m->ecore_evas);
    ecore_evas_free(m->ecore_evas);
    m->ecore_evas = NULL;
@@ -1259,7 +1259,7 @@
 }
 
 static void
-_e_menu_activate_internal(E_Menu *m, E_Container *con)
+_e_menu_activate_internal(E_Menu *m, E_Zone *zone)
 {
    if (m->pre_activate_cb.func)
      m->pre_activate_cb.func(m->pre_activate_cb.data, m);
@@ -1267,13 +1267,15 @@
    m->pending_new_submenu = 0;
    if (!_e_menu_win)
      {
-       _e_menu_win = ecore_x_window_input_new(con->win, 0, 0, con->w, con->h);
+       _e_menu_win = ecore_x_window_input_new(zone->container->win, 
+                                              zone->x, zone->y,
+                                              zone->w, zone->h);
        ecore_x_window_show(_e_menu_win);
        /* need menu event win (input win) and grab to that */
-       ecore_x_pointer_grab(_e_menu_win);
+       ecore_x_pointer_confine_grab(_e_menu_win);
        ecore_x_keyboard_grab(_e_menu_win);
      }
-   if ((m->con) && (m->con != con))
+   if ((m->zone) && (m->zone->container != zone->container))
      {
        printf("FIXME: cannot move menus between containers yet\n");
        return;
@@ -1294,7 +1296,7 @@
        e_object_ref(E_OBJECT(m));
      }
    m->cur.visible = 1;
-   m->con = con;
+   m->zone = zone;
 }
 
 static void
@@ -1364,7 +1366,7 @@
        m = mi->submenu;
        e_object_ref(E_OBJECT(m));
        m->parent_item = mi;
-       _e_menu_activate_internal(m, mi->menu->con);
+       _e_menu_activate_internal(m, mi->menu->zone);
        _e_menu_reposition(m);
        e_object_unref(E_OBJECT(m));
      }
@@ -1701,24 +1703,24 @@
        E_Menu *m;
 
        m = l->data;
-       if (m->cur.x < 0)
+       if (m->cur.x < m->zone->x)
          {
-            i = -m->cur.x;
+            i = m->zone->x - m->cur.x;
             if (i > outl) outl = i;
          }
-       if (m->cur.y < 0)
+       if (m->cur.y < m->zone->y)
          {
-            i = -m->cur.y;
+            i = m->zone->y - m->cur.y;
             if (i > outt) outt = i;
          }
-       if ((m->cur.x + m->cur.w) > (m->con->w))
+       if ((m->cur.x + m->cur.w) > (m->zone->w))
          {
-            i = m->cur.x + m->cur.w - m->con->w;
+            i = m->cur.x + m->cur.w - (m->zone->x + m->zone->w);
             if (i > outr) outr = i;
          }
-       if ((m->cur.y + m->cur.h) > (m->con->h))
+       if ((m->cur.y + m->cur.h) > (m->zone->h))
          {
-            i = m->cur.y + m->cur.h - m->con->h;
+            i = m->cur.y + m->cur.h - (m->zone->y + m->zone->h);
             if (i > outb) outb = i;
          }
      }
@@ -1777,11 +1779,11 @@
             E_Menu *m;
             
             m = _e_active_menus->data;
-            if (_e_menu_x == (m->con->w - 1))
+            if (_e_menu_x == (m->zone->w - 1))
               {
                  if (_e_menu_outside_bounds_get(1, 0)) autoscroll_x = 1;
               }
-            if (_e_menu_y == (m->con->h - 1))
+            if (_e_menu_y == (m->zone->h - 1))
               {
                  if (_e_menu_outside_bounds_get(0, 1)) autoscroll_y = 1;
               }
@@ -1808,8 +1810,10 @@
    h = mi->h;
    dx = 0;
    dy = 0;
-   if ((x + w) > mi->menu->con->w) dx = mi->menu->con->w - (x + w);
-   if ((y + h) > mi->menu->con->h) dy = mi->menu->con->h - (y + h);
+   if ((x + w) > (mi->menu->zone->x + mi->menu->zone->w))
+     dx = (mi->menu->zone->x + mi->menu->zone->w) - (x + w);
+   if ((y + h) > (mi->menu->zone->y + mi->menu->zone->h))
+     dy = (mi->menu->zone->y + mi->menu->zone->h) - (y + h);
    if (x < 0) dx = x;
    if (y < 0) dy = y;
    if ((dx != 0) || (dy != 0))
@@ -1995,8 +1999,8 @@
                    }
               }
             evas_event_feed_mouse_move(m->evas,
-                                       ev->x - m->cur.x,
-                                       ev->y - m->cur.y,
+                                       ev->x - m->cur.x + m->zone->x,
+                                       ev->y - m->cur.y + m->zone->y,
                                        NULL);
          }
      }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_menu.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_menu.h    3 Jan 2005 09:34:24 -0000       1.5
+++ e_menu.h    11 Jan 2005 13:43:00 -0000      1.6
@@ -24,7 +24,7 @@
    Evas_List           *items;
 
    /* the zone it belongs to */
-   E_Container         *con;
+   E_Zone              *zone;
    
    /* if a menu item spawned this menu, what item is it? */
    E_Menu_Item         *parent_item;
@@ -108,9 +108,9 @@
 EAPI int          e_menu_shutdown(void);
 
 EAPI E_Menu      *e_menu_new(void);
-EAPI void         e_menu_activate_key(E_Menu *m, E_Container *con, int x, int 
y, int w, int h, int dir);
-EAPI void         e_menu_activate_mouse(E_Menu *m, E_Container *con, int x, 
int y, int w, int h, int dir);
-EAPI void         e_menu_activate(E_Menu *m, E_Container *con, int x, int y, 
int w, int h, int dir);
+EAPI void         e_menu_activate_key(E_Menu *m, E_Zone *zone, int x, int y, 
int w, int h, int dir);
+EAPI void         e_menu_activate_mouse(E_Menu *m, E_Zone *zone, int x, int y, 
int w, int h, int dir);
+EAPI void         e_menu_activate(E_Menu *m, E_Zone *zone, int x, int y, int 
w, int h, int dir);
 EAPI void         e_menu_deactivate(E_Menu *m);
 EAPI int          e_menu_freeze(E_Menu *m);
 EAPI int          e_menu_thaw(E_Menu *m);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- e_zone.c    11 Jan 2005 13:11:12 -0000      1.13
+++ e_zone.c    11 Jan 2005 13:43:00 -0000      1.14
@@ -221,7 +221,7 @@
        E_Menu *m;
        
        m = e_int_menus_main_new();
-       e_menu_activate_mouse(m, zone->container, ev->output.x, ev->output.y, 
1, 1,
+       e_menu_activate_mouse(m, zone, ev->output.x, ev->output.y, 1, 1,
                              E_MENU_POP_DIRECTION_DOWN);
        e_util_container_fake_mouse_up_all_later(zone->container);
      }
@@ -231,8 +231,8 @@
 
        m = e_int_menus_clients_new();
        /* FIXME: this is a bit of a hack... setting m->con - bad hack */
-       m->con = zone->container;
-       e_menu_activate_mouse(m, zone->container, ev->output.x, ev->output.y, 
1, 1,
+       m->zone = zone;
+       e_menu_activate_mouse(m, zone, ev->output.x, ev->output.y, 1, 1,
                              E_MENU_POP_DIRECTION_DOWN);
        e_util_container_fake_mouse_up_all_later(zone->container);
      }
@@ -241,7 +241,7 @@
        E_Menu *m;
        
        m = e_int_menus_favorite_apps_new(1);
-       e_menu_activate_mouse(m, zone->container, ev->output.x, ev->output.y, 
1, 1,
+       e_menu_activate_mouse(m, zone, ev->output.x, ev->output.y, 1, 1,
                              E_MENU_POP_DIRECTION_DOWN);
        e_util_container_fake_mouse_up_all_later(zone->container);
      }




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to