branches/new_menus/src/emu/ui/emenubar.c
| r29311 | r29312 | |
| 79 | 79 | // start_menu |
| 80 | 80 | //------------------------------------------------- |
| 81 | 81 | |
| 82 | void ui_emu_menubar::start_menu(ui_menu *menu) |
| 83 | { |
| 84 | machine().ui().set_handler(ui_menu::ui_handler, 0); |
| 85 | ui_menu::stack_push(menu); |
| 86 | } |
| 87 | |
| 88 | |
| 89 | //------------------------------------------------- |
| 90 | // start_menu |
| 91 | //------------------------------------------------- |
| 92 | |
| 82 | 93 | template<class _Menu> |
| 83 | 94 | void ui_emu_menubar::start_menu() |
| 84 | 95 | { |
| 85 | | machine().ui().set_handler(ui_menu::ui_handler, 0); |
| 86 | | ui_menu::stack_push(auto_alloc_clear(machine(), _Menu(machine(), container()))); |
| 96 | start_menu(auto_alloc_clear(machine(), _Menu(machine(), container()))); |
| 87 | 97 | } |
| 88 | 98 | |
| 89 | 99 | |
| r29311 | r29312 | |
| 570 | 580 | |
| 571 | 581 | void ui_emu_menubar::select_new_game() |
| 572 | 582 | { |
| 573 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_select_game(machine(), container(), machine().system().name))); |
| 583 | start_menu(auto_alloc_clear(machine(), ui_menu_select_game(machine(), container(), machine().system().name))); |
| 574 | 584 | } |
| 575 | 585 | |
| 576 | 586 | |
| r29311 | r29312 | |
| 581 | 591 | void ui_emu_menubar::select_from_software_list(device_image_interface *image, software_list_device *swlist) |
| 582 | 592 | { |
| 583 | 593 | s_softlist_image = image; |
| 584 | | machine().ui().set_handler(ui_menu::ui_handler, 0); |
| 585 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_software_list(machine(), container(), swlist, image->image_interface(), s_softlist_result))); |
| 594 | start_menu(auto_alloc_clear(machine(), ui_menu_software_list(machine(), container(), swlist, image->image_interface(), s_softlist_result))); |
| 586 | 595 | } |
| 587 | 596 | |
| 588 | 597 | |
| r29311 | r29312 | |
| 592 | 601 | |
| 593 | 602 | void ui_emu_menubar::tape_control(cassette_image_device *image) |
| 594 | 603 | { |
| 595 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_mess_tape_control(machine(), container(), image))); |
| 604 | start_menu(auto_alloc_clear(machine(), ui_menu_mess_tape_control(machine(), container(), image))); |
| 596 | 605 | } |
| 597 | 606 | |
| 598 | 607 | |
| r29311 | r29312 | |
| 602 | 611 | |
| 603 | 612 | void ui_emu_menubar::bitbanger_control(bitbanger_device *image) |
| 604 | 613 | { |
| 605 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_mess_bitbanger_control(machine(), container(), image))); |
| 614 | start_menu(auto_alloc_clear(machine(), ui_menu_mess_bitbanger_control(machine(), container(), image))); |
| 606 | 615 | } |
| 607 | 616 | |
| 608 | 617 | |
| r29311 | r29312 | |
| 612 | 621 | |
| 613 | 622 | void ui_emu_menubar::load(device_image_interface *image) |
| 614 | 623 | { |
| 615 | | ui_menu::stack_push(image->get_selection_menu(machine(), container())); |
| 624 | start_menu(image->get_selection_menu(machine(), container())); |
| 616 | 625 | } |
| 617 | 626 | |
| 618 | 627 | |