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