Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: Makefile.am e_includes.h e_main.c e_menu.c e_zone.h Added Files: e_popup.c e_popup.h Log Message: start on popup generic system... (menus coudl be popups - as would error dialogs, resize/move indicators - maybe they should be ported - well not menus - they are special, but definitely resize/move stuff) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/Makefile.am,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- Makefile.am 26 Apr 2005 15:06:04 -0000 1.26 +++ Makefile.am 7 May 2005 04:34:25 -0000 1.27 @@ -50,7 +50,8 @@ e_dnd.h \ e_bindings.h \ e_moveresize.h \ -e_actions.h +e_actions.h \ +e_popup.h enlightenment_SOURCES = \ e_main.c \ @@ -94,6 +95,7 @@ e_bindings.c \ e_moveresize.c \ e_actions.c \ +e_popup.c \ $(ENLIGHTENMENTHEADERS) enlightenment_LDFLAGS = -export-dynamic @e_libs@ @dlopen_libs@ =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_includes.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- e_includes.h 26 Apr 2005 15:06:06 -0000 1.16 +++ e_includes.h 7 May 2005 04:34:25 -0000 1.17 @@ -40,3 +40,4 @@ #include "e_bindings.h" #include "e_moveresize.h" #include "e_actions.h" +#include "e_popup.h" =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -3 -r1.73 -r1.74 --- e_main.c 6 May 2005 08:33:50 -0000 1.73 +++ e_main.c 7 May 2005 04:34:25 -0000 1.74 @@ -277,6 +277,13 @@ _e_main_shutdown(-1); } _e_main_shutdown_push(e_bindings_shutdown); + /* init popup system */ + if (!e_popup_init()) + { + e_error_message_show(_("Enlightenment cannot set up its popup system.")); + _e_main_shutdown(-1); + } + _e_main_shutdown_push(e_popup_shutdown); /* setup edje to animate @ e_config->framerate frames per sec. */ edje_frametime_set(1.0 / e_config->framerate); @@ -784,6 +791,7 @@ e_menu_idler_before(); e_focus_idler_before(); e_border_idler_before(); + e_popup_idler_before(); for (l = _e_main_idler_before_list; l; l = l->next) { E_Before_Idler *eb; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_menu.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- e_menu.c 6 May 2005 06:22:21 -0000 1.26 +++ e_menu.c 7 May 2005 04:34:26 -0000 1.27 @@ -12,7 +12,6 @@ * * support alignment (x, y) as well as spawn direction * * need different menu style support for different menus * * add menu icon/title support - * * support shaped menu windows * * use event timestamps not clock for "click and release" detect * * menu icons can set if/how they will be scaled * * support move/resize of "box" that spawned the menu @@ -21,8 +20,7 @@ * * allow menus to stretch width/height to fit spawner widget/box * * allow menus to auto-shrink (horizontally) if forced to * * support auto left/right direction spawn - * * support menu icons supplied as edjes, not just image files - * * support obscures to indicate offs-creen/not visible menu parts + * * support obscures to indicate offscreen/not visible menu parts */ /* local subsystem functions */ @@ -31,13 +29,13 @@ static void _e_menu_item_realize (E_Menu_Item *mi); static void _e_menu_realize (E_Menu *m); static void _e_menu_items_layout_update (E_Menu *m); -static void _e_menu_item_unrealize (E_Menu_Item *mi); +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_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); -static void _e_menu_submenu_deactivate (E_Menu_Item *mi); +static void _e_menu_submenu_deactivate (E_Menu_Item *mi); static void _e_menu_reposition (E_Menu *m); static int _e_menu_active_call (void); static void _e_menu_item_activate_next (void); @@ -68,7 +66,7 @@ static int _e_menu_cb_scroll_timer (void *data); static int _e_menu_cb_window_shape (void *data, int ev_type, void *ev); -static void _e_menu_item_submenu_post_cb_default(void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_menu_cb_item_submenu_post_default (void *data, E_Menu *m, E_Menu_Item *mi); /* local subsystem globals */ static Ecore_X_Window _e_menu_win = 0; @@ -513,7 +511,7 @@ mi->submenu_pre_cb.func = func; mi->submenu_pre_cb.data = data; if (!mi->submenu_post_cb.func) - mi->submenu_post_cb.func = _e_menu_item_submenu_post_cb_default; + mi->submenu_post_cb.func = _e_menu_cb_item_submenu_post_default; } void @@ -715,6 +713,7 @@ _e_menu_free(E_Menu *m) { Evas_List *l, *tmp; + _e_menu_unrealize(m); for (l = m->items; l;) { @@ -2211,7 +2210,7 @@ } static void -_e_menu_item_submenu_post_cb_default(void *data, E_Menu *m, E_Menu_Item *mi) +_e_menu_cb_item_submenu_post_default(void *data, E_Menu *m, E_Menu_Item *mi) { E_Menu *subm; @@ -2219,6 +2218,5 @@ subm = mi->submenu; e_menu_item_submenu_set(mi, NULL); - printf("Delete submenu: %d\n", E_OBJECT(subm)->references); e_object_del(E_OBJECT(subm)); } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.h,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- e_zone.h 5 May 2005 08:33:17 -0000 1.22 +++ e_zone.h 7 May 2005 04:34:26 -0000 1.23 @@ -41,6 +41,7 @@ } flip; E_Action *cur_mouse_action; + Evas_List *popups; }; struct _E_Event_Zone_Desk_Count_Set ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs