writing rest of fields
[taskasaur.git] / headers / render.h
1
2 #ifndef __RENDER_H__
3 #define __RENDER_H__
4
5 #include <ncurses.h>
6 #include "parser.h"
7 #include "menu.h"
8 #include "utils.h"
9
10 // this is temp
11 #define MENU_WIDTH 40
12
13 enum TaskasaurColors {
14     TS_SELECTED = 1,
15     TS_NONSELECTED,
16     TS_MENU_SELECTED,
17     TS_MENU_NONSELECTED,
18 };
19
20 typedef struct BoardMenu {
21     Menu** menu_list;
22     int menu_count;
23     int selected;
24 } BoardMenu;
25
26 /* the ts is used to not conflict with builtin names */
27 extern int init_tscurses(void);
28 extern int exit_tscurses(void);
29
30 extern int curs_on(void);
31 extern int curs_off(void);
32
33 /* board menu */
34 extern BoardMenu* create_board_menu(Board* board);
35 extern Menu** make_menus(Board* board, int todolist_length);
36 extern MenuItem** todolist_to_menuitem(TodoItem** item_list, int list_length);
37 extern Board* boardmenu_to_board(BoardMenu* boardmenu);
38
39 extern int set_selected_menu(BoardMenu* boardmenu, int index);
40 extern int swap_menu(BoardMenu* boardmenu, int src_index, int dest_index);
41
42 /* menuitem stuff */
43 extern int update_menuitem_descrip(MenuItem* menuitem);
44
45 /* popup menu for menu item */
46 extern WINDOW* create_popup_win();
47
48 /* some helpers */
49 extern int ungetstr(char* str);
50
51
52 #endif