X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=headers%2Frender.h;h=58aa6dbda795b84bb9ea5cf8baf4fea4fafe5f20;hb=8dc9b3f9852c4f6d38d82100a5a3bf95a2e26fa2;hp=8c60a57feb6dee7b272c8eaf5ea6e2107859d5d8;hpb=fc9d31162f04dd3ceb2d222e3aa81549095f767b;p=taskasaur.git diff --git a/headers/render.h b/headers/render.h index 8c60a57..58aa6db 100644 --- a/headers/render.h +++ b/headers/render.h @@ -16,13 +16,19 @@ enum TaskasaurColors { TS_NONSELECTED, TS_MENU_SELECTED, TS_MENU_NONSELECTED, + TS_ITEMCOUNT }; +typedef struct PopupMenu { + WINDOW* win; + Menu* menu; +} PopupMenu; + typedef struct BoardMenu { Menu** menu_list; int menu_count; int selected; - Menu* popup_menu; + PopupMenu* popupmenu; int popup_open; } BoardMenu; @@ -38,6 +44,7 @@ extern BoardMenu* create_board_menu(Board* board); extern Menu** make_menus(Board* board, int todolist_length); extern MenuItem** todolist_to_menuitem(TodoItem** item_list, int list_length); extern Board* boardmenu_to_board(BoardMenu* boardmenu); +extern int render_board(Board* board); extern int set_selected_menu(BoardMenu* boardmenu, int index); extern int swap_menu(BoardMenu* boardmenu, int src_index, int dest_index); @@ -46,9 +53,11 @@ extern int swap_menu(BoardMenu* boardmenu, int src_index, int dest_index); extern int update_menuitem_descrip(MenuItem* menuitem); /* popup menu for menu item */ -extern Menu* make_popup_menu(TodoItem* itemdata); +extern PopupMenu* make_popupmenu(TodoItem* itemdata); extern WINDOW* create_popup_win(TodoItem* item_info); +extern void close_popupmenu(Menu* popupmenu_menu); extern MenuItem** subtasklist_to_menuitem(SubTask** subtask_list, int list_length); +extern SubTask** menuitem_to_subtasklist(MenuItem** menuitem_list, int list_length); /* some helpers */ extern int ungetstr(char* str);