changed rendering
[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 #define POPUP_BORDER 2
13
14 enum TaskasaurColors {
15     TS_SELECTED = 1,
16     TS_NONSELECTED,
17     TS_MENU_SELECTED,
18     TS_MENU_NONSELECTED,
19 };
20
21 typedef struct BoardMenu {
22     Menu** menu_list;
23     int menu_count;
24     int selected;
25     Menu* popup_menu;
26     int popup_open;
27 } BoardMenu;
28
29 /* the ts is used to not conflict with builtin names */
30 extern int init_tscurses(void);
31 extern int exit_tscurses(void);
32
33 extern int curs_on(void);
34 extern int curs_off(void);
35
36 /* board menu */
37 extern BoardMenu* create_board_menu(Board* board);
38 extern Menu** make_menus(Board* board, int todolist_length);
39 extern MenuItem** todolist_to_menuitem(TodoItem** item_list, int list_length);
40 extern Board* boardmenu_to_board(BoardMenu* boardmenu);
41
42 extern int set_selected_menu(BoardMenu* boardmenu, int index);
43 extern int swap_menu(BoardMenu* boardmenu, int src_index, int dest_index);
44
45 /* menuitem stuff */
46 extern int update_menuitem_descrip(MenuItem* menuitem);
47
48 /* popup menu for menu item */
49 extern Menu* make_popup_menu(TodoItem* itemdata);
50 extern WINDOW* create_popup_win(TodoItem* item_info);
51 extern int render_popup_menu(Menu* popup_menu);
52 extern MenuItem** subtasklist_to_menuitem(SubTask** subtask_list, int list_length);
53
54 /* some helpers */
55 extern int ungetstr(char* str);
56
57
58 #endif