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

Reply via email to