X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=taskasaur.c;h=22e2f2a6200be7d0f5091e8d02d0071f596fcebf;hb=99cc6e19069115197e8101c1ed585fe0ae5de405;hp=af7b3d3829da7490d1efad1d93c51f5ab0d9f2df;hpb=303071d6e0488d7da4dc810897948b8ed97354d2;p=taskasaur.git diff --git a/taskasaur.c b/taskasaur.c index af7b3d3..22e2f2a 100644 --- a/taskasaur.c +++ b/taskasaur.c @@ -3,38 +3,84 @@ #include "headers/render.h" #include "headers/menu.h" #include "headers/utils.h" +#include "config.h" + +MenuItem** todolist_to_menuitem(TodoItem** item_list, int list_length); int main(int argc, char** argv) { - /* Board* board; */ - /* board = begin_parse("test_board.md"); */ - /* log_todo(board); */ + + /* read from todo file */ + Board* board; + board = begin_parse("test_board.md"); + log_todo(board); /* init curses */ init_tscurses(); + TodoList* todo_list = board->todolist_list[0]; + MenuItem** item_list = todolist_to_menuitem(todo_list->item_list, todo_list->item_count); + Menu* menu = create_menu(todo_list->list_name, item_list); + WINDOW* win = newwin(20, 40, 5, 5); + set_menu_win(menu, win); + set_menu_focus(menu, true); + box(win, 0, 0); + refresh(); + wrefresh(win); - MenuItem** item_list = malloc(4*sizeof(MenuItem*)); - for (int i = 0; i < 3; i++) { - item_list[i] = create_menuitem("lmao"); - } - item_list[3] = 0; + render_menu(menu); - Menu* menu = create_menu(item_list); + char ch; + while ((ch = getch()) != BINDING_QUIT) { - render_menu(menu); + switch (ch) { - getch(); + case BINDING_SCROLL_UP: + menu_driver(menu, MENU_UP); + break; + case BINDING_SCROLL_DOWN: + menu_driver(menu, MENU_DOWN); + break; + case BINDING_JUMP_TOP: + menu_driver(menu, MENU_TOP); + break; + case BINDING_JUMP_BOTTOM: + menu_driver(menu, MENU_BOTTOM); + break; + case BINDING_MOVE_ITEM_UP: + menu_driver(menu, MENU_MOVE_UP); + break; + case BINDING_MOVE_ITEM_DOWN: + menu_driver(menu, MENU_MOVE_DOWN); + break; + case BINDING_DELETE_ITEM: + menu_driver(menu, MENU_DELETE); + break; - exit_tscurses(); + } + render_menu(menu); + + } - /* int out; */ - /* printf("%s", wrap_text("ayylmaooooxdxdxdxdxd", 3, &out)); */ - /* printf("%d\n", out); */ - /* wrap_text("ayylmaooooxdxdxdxdxd", 3, &out); */ - + exit_tscurses(); return 0; } +MenuItem** +todolist_to_menuitem(TodoItem** item_list, int list_length) +{ + MenuItem** items; + + items = malloc((list_length+1)*sizeof(MenuItem*)); + for (int i = 0; i < list_length; i++) { + items[i] = create_menuitem(item_list[i]->item_name); + } + + items[list_length] = 0; //null terminate + return items; +} + + +