Enlightenment CVS committal Author : onefang Project : e17 Module : proto
Dir : e17/proto/emenu/src/module Modified Files: Makefile.am e_mod_main.c Added Files: easy_menu.c easy_menu.h Log Message: * Copy the easy_menu stuff from the emu module. * Use it with a test menu hard coded into the module. =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/emenu/src/module/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 27 Jan 2006 15:54:19 -0000 1.1 +++ Makefile.am 28 Jan 2006 01:04:25 -0000 1.2 @@ -18,7 +18,9 @@ pkg_LTLIBRARIES = module.la module_la_SOURCES = e_mod_main.c \ - e_mod_main.h + e_mod_main.h \ + easy_menu.c \ + easy_menu.h module_la_LIBADD = @exml_libs@ @e_libs@ ../lib/libemenu.la module_la_LDFLAGS = -module -avoid-version =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/emenu/src/module/e_mod_main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_mod_main.c 27 Jan 2006 15:54:19 -0000 1.1 +++ e_mod_main.c 28 Jan 2006 01:04:25 -0000 1.2 @@ -1,11 +1,33 @@ #include <e.h> #include "config.h" #include "e_mod_main.h" +#include "easy_menu.h" + +static char *_test_menu = +{ + "Lock the screen|xscreensaver-command -lock|enlightenment/desktops\n" + "Go beep|/usr/bin/play /opt/kde3/share/sounds/KDE_Beep_ShortBeep.wav\n" + "Item0|action0\n" + "Item1\n" + " Item1 Sub0|action1\n" + " -\n" + " Item1 Sub1|action2\n" + "Item2\n" + " Item2 Sub0|action3\n" + " Item2 Sub1\n" + " Item2 Sub1 Sub0|action4\n" + " Item2 Sub1 Sub1|action5\n" + "Item3\n" +}; + static EMenu *_emenu_init (E_Module *m); static void _emenu_shutdown (EMenu *em); static void _emenu_menu_add (void *data, E_Menu *m); static void _emenu_menu_cb_generate (void *data, E_Menu *m, E_Menu_Item *mi); +static void _emenu_menu_cb_action(void *data, E_Menu *m, E_Menu_Item *mi); + +static Easy_Menu *menu = NULL; EAPI E_Module_Api e_modapi = { @@ -128,4 +150,25 @@ em = data; e_module_dialog_show(_("Enlightenment Menu Module"), _("Generate Menus.")); + + if (menu) + e_object_del(E_OBJECT(menu->menu->menu)); + menu = easy_menu_add_menus("Generated Menus", "main", _test_menu, strlen(_test_menu), _emenu_menu_cb_action, em); +} + +/** + * Handle menu item activation. + * + * @param data the pointer you passed to e_menu_item_callback_set(). + * @param m the menu. + * @param mi the menu item. + * @ingroup Emu_Module_Menu_Group + */ +static void +_emenu_menu_cb_action(void *data, E_Menu *m, E_Menu_Item *mi) +{ + struct _Menu_Item_Data *item; + + item = data; + printf("Selected %s\n", item->action); } ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs