X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=headers%2Frender.h;h=b9af53b94665ce83a367496951dbaf3940745530;hb=0b8a464220518abd203044984daaed9727a5029d;hp=a0fa083286d263476013e6ef7b90ce49d926306a;hpb=bcb6f1950bfd2867df61d5c93aa73b73e093edbc;p=taskasaur.git diff --git a/headers/render.h b/headers/render.h index a0fa083..b9af53b 100644 --- a/headers/render.h +++ b/headers/render.h @@ -9,18 +9,27 @@ // this is temp #define MENU_WIDTH 40 +#define POPUP_BORDER 2 enum TaskasaurColors { TS_SELECTED = 1, 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; + PopupMenu* popupmenu; + int popup_open; } BoardMenu; /* the ts is used to not conflict with builtin names */ @@ -35,12 +44,19 @@ 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); +/* menuitem stuff */ +extern int update_menuitem_descrip(MenuItem* menuitem); + /* popup menu for menu item */ -extern WINDOW* create_popup_win(); +extern PopupMenu* make_popupmenu(TodoItem* itemdata); +extern WINDOW* create_popup_win(TodoItem* item_info); +extern int render_popupmenu(PopupMenu* popupmenu); +extern MenuItem** subtasklist_to_menuitem(SubTask** subtask_list, int list_length); /* some helpers */ extern int ungetstr(char* str);