// license:BSD-3-Clause // copyright-holders:Nathan Woods /*************************************************************************** ui/imgcntrl.h MESS's clunky built-in file manager ***************************************************************************/ #pragma once #ifndef MAME_FRONTEND_UI_IMAGECNTRL_H #define MAME_FRONTEND_UI_IMAGECNTRL_H #include "ui/menu.h" namespace ui { // ======================> menu_control_device_image class menu_control_device_image : public menu { public: menu_control_device_image(mame_ui_manager &mui, render_container *container, device_image_interface *image); virtual ~menu_control_device_image() override; virtual void populate() override; virtual void handle() override; protected: enum { START_FILE, START_OTHER_PART, START_SOFTLIST, SELECT_PARTLIST, SELECT_ONE_PART, SELECT_OTHER_PART, SELECT_FILE, CREATE_FILE, CREATE_CONFIRM, CHECK_CREATE, DO_CREATE, SELECT_SOFTLIST, LAST_ID }; // protected instance variables int state; device_image_interface *image; int submenu_result; std::string current_directory; std::string current_file; // methods virtual void hook_load(std::string filename, bool softlist); bool create_ok; private: // instance variables bool create_confirmed; //bool softlist_done; const software_info *swi; const software_part *swp; class software_list_device *sld; std::string software_info_name; // methods void test_create(bool &can_create, bool &need_confirm); void load_software_part(); }; } // namespace ui #endif /* MAME_FRONTEND_UI_IMAGECNTRL_H */