Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        menus.c warp.c 


Log Message:
Simplify handling of top-level windows - part 4.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v
retrieving revision 1.182
retrieving revision 1.183
diff -u -3 -r1.182 -r1.183
--- menus.c     12 Apr 2005 16:43:38 -0000      1.182
+++ menus.c     21 Apr 2005 16:41:55 -0000      1.183
@@ -33,8 +33,7 @@
    Menu               *list[256];
    char                clicked;
    char                just_shown;
-   Window              cover_win;
-   Window              win_covered;
+   EObj               *cover_win;
 } Mode_menus;
 
 struct _menustyle
@@ -992,42 +991,45 @@
 MenuShowMasker(Menu * m)
 {
    EWin               *ewin;
+   EObj               *eo = Mode_menus.cover_win;
 
    ewin = FindEwinByMenu(m);
-   if ((ewin) && (!Mode_menus.cover_win))
+   if (!ewin)
+      return;
+
+   if (!eo)
      {
-       EObj               *eo;
+       eo = EobjWindowCreate(EOBJ_TYPE_EVENT, 0, 0, VRoot.w, VRoot.h, 0,
+                             "Masker");
+       if (!eo)
+          return;
 
-       Mode_menus.cover_win =
-          ECreateEventWindow(ewin->parent, 0, 0, VRoot.w, VRoot.h);
-       Mode_menus.win_covered = EoGetWin(ewin);
-       eo = EobjRegister(Mode_menus.cover_win, EOBJ_TYPE_MISC);
-       EobjSetDesk(eo, EoGetDesk(ewin));
-       EobjSetLayer(eo, 2);
        EobjSetFloating(eo, 1);
+       EobjSetLayer(eo, 2);
        EobjListStackLower(eo);
-       ESelectInput(Mode_menus.cover_win,
-                    ButtonPressMask | ButtonReleaseMask | EnterWindowMask |
-                    LeaveWindowMask);
-       EMapWindow(Mode_menus.cover_win);
-       EventCallbackRegister(Mode_menus.cover_win, 0, MenuMaskerHandleEvents,
-                             NULL);
+       ESelectInput(eo->win, ButtonPressMask | ButtonReleaseMask |
+                    EnterWindowMask | LeaveWindowMask);
+       EventCallbackRegister(eo->win, 0, MenuMaskerHandleEvents, NULL);
 #if 1                          /* FIXME - Too expensive */
        StackDesktop(EoGetDesk(ewin));
 #endif
+       Mode_menus.cover_win = eo;
      }
+
+   EobjMap(eo, 1);
 }
 
 static void
 MenuHideMasker(void)
 {
-   if (Mode_menus.cover_win)
-     {
-       EobjUnregister(Mode_menus.cover_win);
-       EDestroyWindow(Mode_menus.cover_win);
-       Mode_menus.cover_win = 0;
-       Mode_menus.win_covered = 0;
-     }
+   EObj               *eo = Mode_menus.cover_win;
+
+   if (!eo)
+      return;
+
+   EventCallbackUnregister(eo->win, 0, MenuMaskerHandleEvents, NULL);
+   EobjWindowDestroy(eo);
+   Mode_menus.cover_win = NULL;
 }
 
 static void
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/warp.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -3 -r1.58 -r1.59
--- warp.c      17 Apr 2005 13:58:09 -0000      1.58
+++ warp.c      21 Apr 2005 16:41:57 -0000      1.59
@@ -227,8 +227,7 @@
 #if 0                          /* We might as well keep it around */
        EventCallbackUnregister(warpFocusWindow->win, 0, WarpFocusHandleEvent,
                                NULL);
-       EDestroyWindow(warpFocusWindow->win);
-       EobjDestroy(warpFocusWindow);
+       EobjWindowDestroy(warpFocusWindow);
        warpFocusWindow = None;
 #endif
 




-------------------------------------------------------
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and deploying reporting solutions. Free runtime info,
new features, or free trial, at: http://www.businessobjects.com/devxi/728
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to