X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=taskasaur.c;h=c8fd8e6159a5aa88fe13a17b13186d3ae06197c2;hb=a5efc91e9cfa40607a2064b8662047788a246ab1;hp=50b72d4ab43c7769f834c1895463dd456fede760;hpb=8fb19bb7969617821e9c2c1c64d113ff2c26abaf;p=taskasaur.git diff --git a/taskasaur.c b/taskasaur.c index 50b72d4..c8fd8e6 100644 --- a/taskasaur.c +++ b/taskasaur.c @@ -1,39 +1,53 @@ + #include "headers/parser.h" +#include "headers/render.h" +#include "headers/menu.h" +#include "headers/utils.h" +#include "config.h" int main(int argc, char** argv) { - Board* board; - - board = begin_parse("test_board.md"); - - for (int i = 0; i < board->todolist_count; i++) { - TodoList* todolist; - printf("List =-=-=-=-=-==-=-=-=-=-=-\n"); - todolist = board->todolist_list[i]; - printf("List name: %s\n", todolist->list_name); - printf("Num of items: %d\n", todolist->item_count); - - for (int j = 0; j < todolist->item_count; j++) { - TodoItem* todoitem; - printf("Item =-=-=-=-=-\n"); - todoitem = todolist->item_list[j]; - printf("Item name: %s\n", todoitem->item_name); - printf("Description: %s\n", todoitem->description); - printf("Num of subtasks: %d\n", todoitem->subtask_count); - - for (int k = 0; k < todoitem->subtask_count; k++) { - SubTask* subtask; - int done; - - subtask = todoitem->subtask_list[k]; - printf("Subtask: %s, %d\n", subtask->subtask_name, subtask->done); - } + char ch; + /* Board* board; */ + /* board = begin_parse("test_board.md"); */ + /* log_todo(board); */ + + /* init curses */ + init_tscurses(); + + MenuItem** item_list = malloc(6*sizeof(MenuItem*)); + for (int i = 0; i < 5; i++) { + item_list[i] = create_menuitem("Many of you are probably feeling a little sad."); + } + item_list[5] = 0; + + Menu* menu = create_menu(item_list); + render_menu(menu); + + while ((ch = getch()) != BINDING_QUIT) { + + switch (ch) { + + 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; } + render_menu(menu); } - /* printf("%d\n", board->todolist_count); */ - /* printf("%s\n", board->todolist_list[1]->list_name); */ + + exit_tscurses(); return 0; } +