2 #include "headers/parser.h"
3 #include "headers/render.h"
4 #include "headers/menu.h"
5 #include "headers/utils.h"
8 MenuItem** todolist_to_menuitem(TodoItem** item_list, int list_length);
11 main(int argc, char** argv)
14 /* read from todo file */
16 board = begin_parse("test_board.md");
22 TodoList* todo_list = board->todolist_list[0];
23 MenuItem** item_list = todolist_to_menuitem(todo_list->item_list, todo_list->item_count);
24 Menu* menu = create_menu(todo_list->list_name, item_list);
25 WINDOW* win = newwin(20, 40, 5, 5);
26 set_menu_win(menu, win);
27 set_menu_focus(menu, true);
35 while ((ch = getch()) != BINDING_QUIT) {
39 case BINDING_SCROLL_UP:
40 menu_driver(menu, MENU_UP);
42 case BINDING_SCROLL_DOWN:
43 menu_driver(menu, MENU_DOWN);
45 case BINDING_JUMP_TOP:
46 menu_driver(menu, MENU_TOP);
48 case BINDING_JUMP_BOTTOM:
49 menu_driver(menu, MENU_BOTTOM);
51 case BINDING_MOVE_ITEM_UP:
52 menu_driver(menu, MENU_MOVE_UP);
54 case BINDING_MOVE_ITEM_DOWN:
55 menu_driver(menu, MENU_MOVE_DOWN);
57 case BINDING_DELETE_ITEM:
58 menu_driver(menu, MENU_DELETE);
72 todolist_to_menuitem(TodoItem** item_list, int list_length)
76 items = malloc((list_length+1)*sizeof(MenuItem*));
77 for (int i = 0; i < list_length; i++) {
78 items[i] = create_menuitem(item_list[i]->item_name);
81 items[list_length] = 0; //null terminate