void ui_menu_select_game::inkey_cancel(const ui_menu_event *menu_event) { // escape pressed with non-empty text clears the text if (m_search[0] != 0) { // since we have already been popped, we must recreate ourself from scratch ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_select_game(machine(), container, NULL))); } }
void ui_menu_select_game::force_game_select(running_machine &machine, render_container *container) { char *gamename = (char *)machine.options().system_name(); // reset the menu stack ui_menu::stack_reset(machine); // add the quit entry followed by the game select entry ui_menu *quit = auto_alloc_clear(machine, ui_menu_quit_game(machine, container)); quit->set_special_main_menu(true); ui_menu::stack_push(quit); ui_menu::stack_push(auto_alloc_clear(machine, ui_menu_select_game(machine, container, gamename))); // force the menus on machine.ui().show_menu(); // make sure MAME is paused machine.pause(); }
void ui_menu_main::handle() { /* process the menu */ const ui_menu_event *menu_event = process(0); if (menu_event != NULL && menu_event->iptkey == IPT_UI_SELECT) { switch((long long)(menu_event->itemref)) { case INPUT_GROUPS: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_input_groups(machine(), container))); break; case INPUT_SPECIFIC: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_input_specific(machine(), container))); break; case SETTINGS_DIP_SWITCHES: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_settings_dip_switches(machine(), container))); break; case SETTINGS_DRIVER_CONFIG: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_settings_driver_config(machine(), container))); break; case ANALOG: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_analog(machine(), container))); break; case BOOKKEEPING: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_bookkeeping(machine(), container))); break; case GAME_INFO: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_game_info(machine(), container))); break; case IMAGE_MENU_IMAGE_INFO: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_image_info(machine(), container))); break; case IMAGE_MENU_FILE_MANAGER: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_file_manager(machine(), container, NULL))); break; case TAPE_CONTROL: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_tape_control(machine(), container, NULL))); break; case PTY_INFO: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_pty_info(machine(), container))); break; case SLOT_DEVICES: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_slot_devices(machine(), container))); break; case NETWORK_DEVICES: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_network_devices(machine(), container))); break; case KEYBOARD_MODE: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_keyboard_mode(machine(), container))); break; case SLIDERS: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_sliders(machine(), container, false))); break; case VIDEO_TARGETS: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_video_targets(machine(), container))); break; case VIDEO_OPTIONS: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_video_options(machine(), container, machine().render().first_target()))); break; case CROSSHAIR: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_crosshair(machine(), container))); break; case CHEAT: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_cheat(machine(), container))); break; case SELECT_GAME: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_select_game(machine(), container, 0))); break; case BIOS_SELECTION: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_bios_selection(machine(), container))); break; case BARCODE_READ: ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_barcode_reader(machine(), container, NULL))); break; default: fatalerror("ui_menu_main::handle - unknown reference\n"); } } }