fixed screen dying on popup open
[taskasaur.git] / headers / render.h
index 8c60a57..165f74b 100644 (file)
@@ -16,13 +16,19 @@ enum TaskasaurColors {
     TS_NONSELECTED,
     TS_MENU_SELECTED,
     TS_MENU_NONSELECTED,
+    TS_ITEMCOUNT
 };
 
+typedef struct PopupMenu {
+    WINDOW* win;
+    Menu* menu;
+} PopupMenu;
+
 typedef struct BoardMenu {
     Menu** menu_list;
     int menu_count;
     int selected;
-    Menu* popup_menu;
+    PopupMenu* popupmenu;
     int popup_open;
 } BoardMenu;
 
@@ -38,6 +44,7 @@ extern BoardMenu* create_board_menu(Board* board);
 extern Menu** make_menus(Board* board, int todolist_length);
 extern MenuItem** todolist_to_menuitem(TodoItem** item_list, int list_length);
 extern Board* boardmenu_to_board(BoardMenu* boardmenu);
+extern int render_board(Board* board);
 
 extern int set_selected_menu(BoardMenu* boardmenu, int index);
 extern int swap_menu(BoardMenu* boardmenu, int src_index, int dest_index);
@@ -46,8 +53,9 @@ extern int swap_menu(BoardMenu* boardmenu, int src_index, int dest_index);
 extern int update_menuitem_descrip(MenuItem* menuitem);
 
 /* popup menu for menu item */
-extern Menu* make_popup_menu(TodoItem* itemdata);
+extern PopupMenu* make_popupmenu(TodoItem* itemdata);
 extern WINDOW* create_popup_win(TodoItem* item_info);
+extern void save_popupmenu_state(Menu* popupmenu_menu);
 extern MenuItem** subtasklist_to_menuitem(SubTask** subtask_list, int list_length);
 
 /* some helpers */