debugging seg
[taskasaur.git] / headers / menu.h
index ce0883e..f1bac0e 100644 (file)
@@ -2,18 +2,37 @@
 #ifndef __MENU_H__
 #define __MENU_H__
 
+#include <stdbool.h>
+#include <ncurses.h>
+
 /* ncurses doesn't support multiline menu items,
  * so i wrote my own menu lib */
 
+typedef enum {
+    MENU_UP = 0,
+    MENU_DOWN,
+    MENU_TOP,
+    MENU_BOTTOM,
+    MENU_MOVE_UP,
+    MENU_MOVE_DOWN,
+    MENU_DELETE,
+    MENU_APPEND
+} MenuAction;
+
 typedef struct Menu Menu;
 typedef struct MenuItem MenuItem;
 
 extern MenuItem* create_menuitem(char* contents);
 
-extern Menu* create_menu(MenuItem** item_list);
-extern int set_menu_items(Menu* menu, MenuItem** item_list);
+extern Menu* create_menu(char* menu_name, MenuItem** item_list);
 extern int set_menu_win(Menu* menu, WINDOW* win);
 extern MenuItem* get_menu_items(Menu* menu);
+extern int set_menu_focus(Menu* menu, bool focus);
+extern int get_selected_item(Menu* menu);
+extern int set_selected_item(Menu* menu, int selected_item);
+extern int get_menu_length(Menu* menu);
+
+extern int menu_driver(Menu* menu, MenuAction action);
 
 extern int render_menu(Menu* menu);