+ BoardMenu* boardmenu;
+ boardmenu = create_board_menu(board);
+
+ // this is temp
+ for (int i = 0; i < boardmenu->menu_count; i++) {
+ render_menu(boardmenu->menu_list[i]);
+ }
+
+ char ch;
+ while ((ch = getch()) != BINDING_QUIT) {
+
+ Menu* active_menu;
+ active_menu = boardmenu->menu_list[boardmenu->selected];
+
+ switch (ch) {
+
+ case BINDING_SCROLL_UP:
+ menu_driver(active_menu, MENU_UP);
+ break;
+ case BINDING_SCROLL_DOWN:
+ menu_driver(active_menu, MENU_DOWN);
+ break;
+ case BINDING_SCROLL_LEFT:
+ if (boardmenu->selected-1 < 0) break;
+ set_selected_menu(boardmenu, boardmenu->selected-1);
+ break;
+ case BINDING_SCROLL_RIGHT:
+ if (boardmenu->selected+1 > boardmenu->menu_count-1) break;
+ set_selected_menu(boardmenu, boardmenu->selected+1);
+ break;
+ case BINDING_JUMP_TOP:
+ menu_driver(active_menu, MENU_TOP);
+ break;
+ case BINDING_JUMP_BOTTOM:
+ menu_driver(active_menu, MENU_BOTTOM);
+ break;
+ case BINDING_MOVE_ITEM_UP:
+ menu_driver(active_menu, MENU_MOVE_UP);
+ break;
+ case BINDING_MOVE_ITEM_DOWN:
+ menu_driver(active_menu, MENU_MOVE_DOWN);
+ break;
+ case BINDING_MOVE_ITEM_LEFT:
+
+ break;
+ case BINDING_MOVE_ITEM_RIGHT:
+
+ break;
+ case BINDING_DELETE_ITEM:
+ menu_driver(active_menu, MENU_DELETE);
+ break;
+ case BINDING_APPEND_ITEM:
+ menu_driver(active_menu, MENU_APPEND);
+ break;
+ case BINDING_INSERT_ABOVE:
+ menu_driver(active_menu, MENU_INSERT_ABOVE);
+ break;
+ case BINDING_INSERT_BELOW:
+ menu_driver(active_menu, MENU_INSERT_BELOW);
+ break;
+ case BINDING_EDIT_ITEM:
+ menu_driver(active_menu, MENU_EDIT);
+ break;
+ }
+
+ for (int i = 0; i < boardmenu->menu_count; i++) {
+ render_menu(boardmenu->menu_list[i]);
+ }