UINT32 ui_menu_sliders::ui_handler(running_machine &machine, render_container *container, UINT32 state) { UINT32 result; /* if this is the first call, push the sliders menu */ if (state) ui_menu::stack_push(auto_alloc_clear(machine, ui_menu_sliders(machine, container, true))); /* handle standard menus */ result = ui_menu::ui_handler(machine, container, state); /* if we are cancelled, pop the sliders menu */ if (result == UI_HANDLER_CANCEL) ui_menu::stack_pop(machine); ui_menu_sliders *uim = dynamic_cast<ui_menu_sliders *>(menu_stack); return uim && uim->menuless_mode ? 0 : UI_HANDLER_CANCEL; }
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"); } } }