diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2016-04-23 11:25:03 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2016-04-23 11:26:47 +0200 |
commit | 1c726824f2b2cc7c6c03ff975e548b72f9b2c0a9 (patch) | |
tree | 020f20da5a8cd822065c1839bc7a53f826803a3d /src/frontend/mame/ui/dirmenu.h | |
parent | 01657a63c13c79c5f045ba4ecb4c2fd7f7c5a1f8 (diff) |
Split UI and frontend part from core [Miodrag Milanovic]
Diffstat (limited to 'src/frontend/mame/ui/dirmenu.h')
-rw-r--r-- | src/frontend/mame/ui/dirmenu.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/frontend/mame/ui/dirmenu.h b/src/frontend/mame/ui/dirmenu.h new file mode 100644 index 00000000000..6b68764b258 --- /dev/null +++ b/src/frontend/mame/ui/dirmenu.h @@ -0,0 +1,97 @@ +// license:BSD-3-Clause +// copyright-holders:Maurizio Petrarota +/*************************************************************************** + + ui/dirmenu.h + + Internal UI user interface. + +***************************************************************************/ + +#pragma once + +#ifndef __UI_DIRMENU_H__ +#define __UI_DIRMENU_H__ + +//------------------------------------------------- +// class directory menu +//------------------------------------------------- + +class ui_menu_directory : public ui_menu +{ +public: + ui_menu_directory(running_machine &machine, render_container *container); + virtual ~ui_menu_directory(); + virtual void populate() override; + virtual void handle() override; + virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override; +}; + +//------------------------------------------------- +// class directory specific menu +//------------------------------------------------- + +class ui_menu_display_actual : public ui_menu +{ +public: + ui_menu_display_actual(running_machine &machine, render_container *container, int selectedref); + virtual ~ui_menu_display_actual(); + virtual void populate() override; + virtual void handle() override; + virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override; + +private: + std::string m_tempbuf, m_searchpath; + std::vector<std::string> m_folders; + int m_ref; + + enum + { + ADD_CHANGE = 1, + REMOVE, + }; +}; + +//------------------------------------------------- +// class remove folder menu +//------------------------------------------------- + +class ui_menu_remove_folder : public ui_menu +{ +public: + ui_menu_remove_folder(running_machine &machine, render_container *container, int ref); + virtual ~ui_menu_remove_folder(); + virtual void populate() override; + virtual void handle() override; + virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override; + +private: + std::string m_searchpath; + int m_ref; + std::vector<std::string> m_folders; +}; + +//------------------------------------------------- +// class add / change folder menu +//------------------------------------------------- + +class ui_menu_add_change_folder : public ui_menu +{ +public: + ui_menu_add_change_folder(running_machine &machine, render_container *container, int ref); + virtual ~ui_menu_add_change_folder(); + virtual void populate() override; + virtual void handle() override; + virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override; + + virtual bool menu_has_search_active() override { return (m_search[0] != 0); } + +private: + int m_ref; + std::string m_current_path; + char m_search[40]; + bool m_change; + std::vector<std::string> m_folders; +}; + +#endif /* __UI_DIRMENU_H__ */ |