X-Git-Url: https://git.danieliu.xyz/?p=taskasaur.git;a=blobdiff_plain;f=headers%2Frender.h;h=a0fa083286d263476013e6ef7b90ce49d926306a;hp=5a1310066b2460749f2b9bed5e2fad3335e2d4be;hb=bcb6f1950bfd2867df61d5c93aa73b73e093edbc;hpb=b1a5da51ad170de714ed6b0b7a566f867cde6c16 diff --git a/headers/render.h b/headers/render.h index 5a13100..a0fa083 100644 --- a/headers/render.h +++ b/headers/render.h @@ -3,6 +3,12 @@ #define __RENDER_H__ #include +#include "parser.h" +#include "menu.h" +#include "utils.h" + +// this is temp +#define MENU_WIDTH 40 enum TaskasaurColors { TS_SELECTED = 1, @@ -11,6 +17,12 @@ enum TaskasaurColors { TS_MENU_NONSELECTED, }; +typedef struct BoardMenu { + Menu** menu_list; + int menu_count; + int selected; +} BoardMenu; + /* the ts is used to not conflict with builtin names */ extern int init_tscurses(void); extern int exit_tscurses(void); @@ -18,6 +30,18 @@ extern int exit_tscurses(void); extern int curs_on(void); extern int curs_off(void); +/* board menu */ +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 set_selected_menu(BoardMenu* boardmenu, int index); +extern int swap_menu(BoardMenu* boardmenu, int src_index, int dest_index); + +/* popup menu for menu item */ +extern WINDOW* create_popup_win(); + /* some helpers */ extern int ungetstr(char* str);