X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=headers%2Fmenu.h;h=9afda2ef5f1ef3c960639000b60ca3818d7c3cfb;hb=cc7da4297912fa4cacc4b13ebc59223df415a116;hp=b8ab467712cc9e64b88cc60b21bf99fc9ccf24e6;hpb=b20271f7814ad6f40a62bed60a8ff00348b5c05c;p=taskasaur.git diff --git a/headers/menu.h b/headers/menu.h index b8ab467..9afda2e 100644 --- a/headers/menu.h +++ b/headers/menu.h @@ -18,21 +18,36 @@ typedef enum { MENU_DELETE, MENU_APPEND, MENU_INSERT_ABOVE, - MENU_INSERT_BELOW + MENU_INSERT_BELOW, + MENU_EDIT } MenuAction; typedef struct Menu Menu; typedef struct MenuItem MenuItem; -extern MenuItem* create_menuitem(char* contents); +extern MenuItem* create_menuitem(char* title); 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 WINDOW* get_menu_win(Menu* menu); +extern MenuItem* get_menu_item(Menu* menu, int index); 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 char* get_menu_name(Menu* menu); +extern void* get_menu_userdata(Menu* menu); +extern char* get_menuitem_title(MenuItem* menuitem); +extern char* get_menuitem_descrip(MenuItem* menuitem); +extern void* get_menuitem_userdata(MenuItem* menuitem); + +extern int set_menu_win(Menu* menu, WINDOW* win); +extern int set_selected_item(Menu* menu, int selected_item); +extern int set_menu_focus(Menu* menu, bool focus); +extern int set_menu_userdata(Menu* menu, void* userdata); +extern int set_menuitem_descrip(MenuItem* menuitem, char* descrip); +extern int set_menuitem_userdata(MenuItem* menuitem, void* userdata); + +extern int insert_item(Menu* menu, MenuItem* menuitem, int index); +extern int delete_item(Menu* menu, int index); extern int menu_driver(Menu* menu, MenuAction action);