Enlightenment CVS committal

Author  : handyande
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


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


Log Message:
Set client list to fit better with rasters master plan, now client menu can be 
at any depth :)
demonstrated by putting a clone where it was origionally entered
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_int_menus.c       21 Dec 2004 15:17:01 -0000      1.4
+++ e_int_menus.c       22 Dec 2004 10:41:03 -0000      1.5
@@ -49,6 +49,11 @@
    e_menu_item_label_set(mi, "Modules");
    e_menu_item_submenu_set(mi, subm);
   
+   subm = e_int_menus_clients_new();
+   mi = e_menu_item_new(m);
+   e_menu_item_label_set(mi, "Clients");
+   e_menu_item_submenu_set(mi, subm);
+  
    mi = e_menu_item_new(m);
    e_menu_item_separator_set(mi, 1);
    
@@ -210,6 +215,7 @@
 {
    E_Menu_Item *mi;
    Evas_List *l, *borders = NULL;
+   E_Menu *root;
 
    if (m->realized) return;
 
@@ -225,10 +231,11 @@
        
      }
 
+   root = e_menu_root_get(m);
    /* get the current containers clients */
-   if (m->con)
+   if (root && root->con)
      {
-       for (l = e_container_clients_list_get(m->con); l; l = l->next)
+       for (l = e_container_clients_list_get(root->con); 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.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_menu.c    14 Dec 2004 03:32:25 -0000      1.3
+++ e_menu.c    22 Dec 2004 10:41:03 -0000      1.4
@@ -240,6 +240,20 @@
    m->post_deactivate_cb.data = data;
 }
 
+E_Menu      *
+e_menu_root_get(E_Menu *m)
+{
+   E_Menu *ret;
+
+   E_OBJECT_CHECK_RETURN(m, NULL);
+   ret = m;
+   while (ret->parent_item && ret->parent_item->menu)
+     {
+       ret = ret->parent_item->menu;
+     }
+
+   return ret;
+}
 
 E_Menu_Item *
 e_menu_item_new(E_Menu *m)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_menu.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_menu.h    25 Nov 2004 05:31:20 -0000      1.2
+++ e_menu.h    22 Dec 2004 10:41:03 -0000      1.3
@@ -119,6 +119,8 @@
 EAPI void         e_menu_pre_activate_callback_set(E_Menu *m,  void (*func) 
(void *data, E_Menu *m), void *data);
 EAPI void         e_menu_post_deactivate_callback_set(E_Menu *m,  void (*func) 
(void *data, E_Menu *m), void *data);
 
+EAPI E_Menu      *e_menu_root_get(E_Menu *m);
+
 EAPI E_Menu_Item *e_menu_item_new(E_Menu *m);
 EAPI E_Menu_Item *e_menu_item_nth(E_Menu *m, int n);
 EAPI int          e_menu_item_num_get(E_Menu_Item *mi);




-------------------------------------------------------
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://productguide.itmanagersjournal.com/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to