X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=headers%2Fmenu.h;h=89b46b0a41a95f98e1d0888aa5abd6b6aa539363;hb=500e16bc4c9c43a8ef4ab65e6eb37ff3b0d3093c;hp=0d17779449f83f2f2428fd09ba389e1f71f62187;hpb=a5efc91e9cfa40607a2064b8662047788a246ab1;p=taskasaur.git diff --git a/headers/menu.h b/headers/menu.h index 0d17779..89b46b0 100644 --- a/headers/menu.h +++ b/headers/menu.h @@ -2,6 +2,9 @@ #ifndef __MENU_H__ #define __MENU_H__ +#include +#include + /* ncurses doesn't support multiline menu items, * so i wrote my own menu lib */ @@ -9,7 +12,14 @@ typedef enum { MENU_UP = 0, MENU_DOWN, MENU_TOP, - MENU_BOTTOM + MENU_BOTTOM, + MENU_MOVE_UP, + MENU_MOVE_DOWN, + MENU_DELETE, + MENU_APPEND, + MENU_INSERT_ABOVE, + MENU_INSERT_BELOW, + MENU_EDIT } MenuAction; typedef struct Menu Menu; @@ -17,10 +27,13 @@ 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);