Library to display menus on TextLCDs. Interaction with functions Up,Down and Select (Buttons or RPG) Based on menu-library from pyeh9

Fork of Menu by Peihsun Yeh

Library to display menus on TextLCDs. Interaction with functions Up,Down and Select (Buttons or RPG) Based on menu-library from pyeh9

Revision:
10:2b6ddf53b05e
Parent:
9:c9df0b33d176
Child:
11:6814cbc83ae0
--- a/MenuItem.h	Fri Mar 13 18:44:49 2015 +0000
+++ b/MenuItem.h	Mon Mar 16 21:05:37 2015 +0000
@@ -11,6 +11,33 @@
     private:
         
     public:
+        /** modes of MenuItems
+        */
+        enum mode{
+            /** default mode: just display the Menu-Text an perform user_action
+            */
+            mode_default = 0,
+            /** wait_select: Call user_action and then only accept a select
+            * use for displaying text, values,...
+            * the menu is paused until select is pressed
+            */
+            mode_wait_select = 1,
+            /** mode_yes_no: show text and ask user for yes/no
+            * 
+            */
+            mode_yes_no = 2
+            };
+         
+        /** structure to pass data to menu and back
+        */
+        struct menu_data{
+            // Longer text to display.
+            // For Yes/No-Question
+            char * text;
+            //Yes/No Value In and Out
+            bool yes_no;
+        };   
+    
         /** pointer to user-action to execute when menu item is selected
         */
         void (*userAction)();   
@@ -23,10 +50,15 @@
         /** Pointer to child-menue
         */
         Menu *childMenu; 
+        /** itemMode
+        */
+        uint8_t itemMode;
+        
+        menu_data * menu_parameter;
         
         /** a sub-menu
         */
-        MenuItem(void (*)(), int, Menu *, char *); 
+        MenuItem(void (*)(), int, Menu *, char *, uint8_t = mode_default, menu_data * = NULL); 
          
 };