summaryrefslogblamecommitdiffstatshomepage
path: root/src/frontend/mame/ui/imgcntrl.h
blob: d32acf836b07c73574036ffbb05e97e0a8995f86 (plain) (tree)
1
2
3
4
5
6
7
8

                                 





                                                                            



                                                                            

                                     
 
                    
 
              



                                                    
       

                                                                                                                    

                                         


              

                                                                    
                                                                                                   






                                       

                                      

                  
                                                                    
 

                       


                              
                             


                                        
                                       





                                                               
                 
 
                                          
// 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 */