X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;ds=sidebyside;f=headers%2Fmenu.h;h=617f416100b59f00f4de001de4edb3d95fb2cc28;hb=cb5385b932956072fc14fd6531c45f12c9cc4925;hp=10a739f39e5daeefe0da103c92f30fe539b85677;hpb=bc8adcf5e271186d94f15fc0c4c5db678055c5ef;p=taskasaur.git diff --git a/headers/menu.h b/headers/menu.h index 10a739f..617f416 100644 --- a/headers/menu.h +++ b/headers/menu.h @@ -3,6 +3,7 @@ #define __MENU_H__ #include +#include /* ncurses doesn't support multiline menu items, * so i wrote my own menu lib */ @@ -15,7 +16,10 @@ typedef enum { MENU_MOVE_UP, MENU_MOVE_DOWN, MENU_DELETE, - MENU_APPEND + MENU_APPEND, + MENU_INSERT_ABOVE, + MENU_INSERT_BELOW, + MENU_EDIT } MenuAction; typedef struct Menu Menu; @@ -25,12 +29,15 @@ extern MenuItem* create_menuitem(char* contents); 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 MenuItem* get_menu_item(Menu* menu, int index); 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 insert_item(Menu* menu, MenuItem* menuitem, int index); +extern int delete_item(Menu* menu, int index); + extern int menu_driver(Menu* menu, MenuAction action); extern int render_menu(Menu* menu);