From 2a565e93e6f0a66afa670ccaaaab606c7f22086d Mon Sep 17 00:00:00 2001 From: etabeta78 Date: Sun, 18 Jan 2015 15:23:53 +0100 Subject: ui: centralized game info and image info menus to a common source file (creatively named ui/info.c). nw. --- src/emu/emu.mak | 2 +- src/emu/ui/imginfo.c | 106 ---------------------------------------------- src/emu/ui/imginfo.h | 29 ------------- src/emu/ui/info.c | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/emu/ui/info.h | 38 +++++++++++++++++ src/emu/ui/mainmenu.c | 2 +- src/emu/ui/miscmenu.c | 26 ------------ src/emu/ui/miscmenu.h | 8 ---- 8 files changed, 154 insertions(+), 171 deletions(-) delete mode 100644 src/emu/ui/imginfo.c delete mode 100644 src/emu/ui/imginfo.h create mode 100644 src/emu/ui/info.c create mode 100644 src/emu/ui/info.h diff --git a/src/emu/emu.mak b/src/emu/emu.mak index f572400ca74..8c77f3a9c58 100644 --- a/src/emu/emu.mak +++ b/src/emu/emu.mak @@ -124,7 +124,7 @@ EMUOBJS = \ $(EMUOBJ)/ui/filemngr.o \ $(EMUOBJ)/ui/filesel.o \ $(EMUOBJ)/ui/imgcntrl.o \ - $(EMUOBJ)/ui/imginfo.o \ + $(EMUOBJ)/ui/info.o \ $(EMUOBJ)/ui/inputmap.o \ $(EMUOBJ)/ui/selgame.o \ $(EMUOBJ)/ui/slotopt.o \ diff --git a/src/emu/ui/imginfo.c b/src/emu/ui/imginfo.c deleted file mode 100644 index 68eac3b6cc3..00000000000 --- a/src/emu/ui/imginfo.c +++ /dev/null @@ -1,106 +0,0 @@ -/*************************************************************************** - - ui/imginfo.c - - Image info screen - - Copyright Nicola Salmoria and the MAME Team. - Visit http://mamedev.org for licensing and usage restrictions. - -***************************************************************************/ - -#include "emu.h" -#include "ui/menu.h" -#include "ui/imginfo.h" - - -/*************************************************************************** - IMPLEMENTATION -***************************************************************************/ - -//------------------------------------------------- -// ctor -//------------------------------------------------- - -ui_menu_image_info::ui_menu_image_info(running_machine &machine, render_container *container) : ui_menu(machine, container) -{ -} - - -//------------------------------------------------- -// dtor -//------------------------------------------------- - -ui_menu_image_info::~ui_menu_image_info() -{ -} - - -//------------------------------------------------- -// populate -//------------------------------------------------- - -void ui_menu_image_info::populate() -{ - item_append(machine().system().description, NULL, MENU_FLAG_DISABLE, NULL); - item_append("", NULL, MENU_FLAG_DISABLE, NULL); - - image_interface_iterator iter(machine().root_device()); - for (device_image_interface *image = iter.first(); image != NULL; image = iter.next()) - image_info(image); -} - - -//------------------------------------------------- -// handle -//------------------------------------------------- - -void ui_menu_image_info::handle() -{ - // process the menu - process(0); -} - - -//------------------------------------------------- -// image_info - display image info for a specific -// image interface device -//------------------------------------------------- - -void ui_menu_image_info::image_info(device_image_interface *image) -{ - if (image->exists()) - { - // display device type and filename - item_append(image->brief_instance_name(), image->basename(), 0, NULL); - - // if image has been loaded through softlist, let's add some more info - if (image->software_entry()) - { - astring string; - - // display long filename - item_append(image->longname(), "", MENU_FLAG_DISABLE, NULL); - - // display manufacturer and year - string.catprintf("%s, %s", image->manufacturer(), image->year()); - item_append(string, "", MENU_FLAG_DISABLE, NULL); - - // display supported information, if available - switch (image->supported()) - { - case SOFTWARE_SUPPORTED_NO: - item_append("Not supported", "", MENU_FLAG_DISABLE, NULL); - break; - case SOFTWARE_SUPPORTED_PARTIAL: - item_append("Partially supported", "", MENU_FLAG_DISABLE, NULL); - break; - default: - break; - } - } - } - else - item_append(image->brief_instance_name(), "[empty]", 0, NULL); - item_append("", NULL, MENU_FLAG_DISABLE, NULL); -} diff --git a/src/emu/ui/imginfo.h b/src/emu/ui/imginfo.h deleted file mode 100644 index fe2ca484eba..00000000000 --- a/src/emu/ui/imginfo.h +++ /dev/null @@ -1,29 +0,0 @@ -/*************************************************************************** - - ui/imginfo.h - - Image info screen - - Copyright Nicola Salmoria and the MAME Team. - Visit http://mamedev.org for licensing and usage restrictions. - -***************************************************************************/ - -#pragma once - -#ifndef __UI_IMGINFO_H__ -#define __UI_IMGINFO_H__ - -class ui_menu_image_info : public ui_menu -{ -public: - ui_menu_image_info(running_machine &machine, render_container *container); - virtual ~ui_menu_image_info(); - virtual void populate(); - virtual void handle(); - -private: - void image_info(device_image_interface *image); -}; - -#endif // __UI_IMGINFO_H__ diff --git a/src/emu/ui/info.c b/src/emu/ui/info.c new file mode 100644 index 00000000000..ea91914e64a --- /dev/null +++ b/src/emu/ui/info.c @@ -0,0 +1,114 @@ +/*************************************************************************** + + ui/info.c + + System and image info screens + + Copyright Nicola Salmoria and the MAME Team. + Visit http://mamedev.org for licensing and usage restrictions. + +***************************************************************************/ + +#include "emu.h" +#include "ui/menu.h" +#include "ui/info.h" +#include "ui/ui.h" + +/*------------------------------------------------- + menu_game_info - handle the game information + menu + -------------------------------------------------*/ + +ui_menu_game_info::ui_menu_game_info(running_machine &machine, render_container *container) : ui_menu(machine, container) +{ +} + +ui_menu_game_info::~ui_menu_game_info() +{ +} + +void ui_menu_game_info::populate() +{ + astring tempstring; + item_append(machine().ui().game_info_astring(tempstring), NULL, MENU_FLAG_MULTILINE, NULL); +} + +void ui_menu_game_info::handle() +{ + // process the menu + process(0); +} + + +/*------------------------------------------------- + ui_menu_image_info - handle the image information + menu + -------------------------------------------------*/ + +ui_menu_image_info::ui_menu_image_info(running_machine &machine, render_container *container) : ui_menu(machine, container) +{ +} + +ui_menu_image_info::~ui_menu_image_info() +{ +} + +void ui_menu_image_info::populate() +{ + item_append(machine().system().description, NULL, MENU_FLAG_DISABLE, NULL); + item_append("", NULL, MENU_FLAG_DISABLE, NULL); + + image_interface_iterator iter(machine().root_device()); + for (device_image_interface *image = iter.first(); image != NULL; image = iter.next()) + image_info(image); +} + +void ui_menu_image_info::handle() +{ + // process the menu + process(0); +} + + +/*------------------------------------------------- + image_info - display image info for a specific + image interface device +-------------------------------------------------*/ + +void ui_menu_image_info::image_info(device_image_interface *image) +{ + if (image->exists()) + { + // display device type and filename + item_append(image->brief_instance_name(), image->basename(), 0, NULL); + + // if image has been loaded through softlist, let's add some more info + if (image->software_entry()) + { + astring string; + + // display long filename + item_append(image->longname(), "", MENU_FLAG_DISABLE, NULL); + + // display manufacturer and year + string.catprintf("%s, %s", image->manufacturer(), image->year()); + item_append(string, "", MENU_FLAG_DISABLE, NULL); + + // display supported information, if available + switch (image->supported()) + { + case SOFTWARE_SUPPORTED_NO: + item_append("Not supported", "", MENU_FLAG_DISABLE, NULL); + break; + case SOFTWARE_SUPPORTED_PARTIAL: + item_append("Partially supported", "", MENU_FLAG_DISABLE, NULL); + break; + default: + break; + } + } + } + else + item_append(image->brief_instance_name(), "[empty]", 0, NULL); + item_append("", NULL, MENU_FLAG_DISABLE, NULL); +} diff --git a/src/emu/ui/info.h b/src/emu/ui/info.h new file mode 100644 index 00000000000..38783ae1707 --- /dev/null +++ b/src/emu/ui/info.h @@ -0,0 +1,38 @@ +/*************************************************************************** + + ui/info.h + + System and image info screens + + Copyright Nicola Salmoria and the MAME Team. + Visit http://mamedev.org for licensing and usage restrictions. + +***************************************************************************/ + +#pragma once + +#ifndef __UI_INFO_H__ +#define __UI_INFO_H__ + +class ui_menu_game_info : public ui_menu { +public: + ui_menu_game_info(running_machine &machine, render_container *container); + virtual ~ui_menu_game_info(); + virtual void populate(); + virtual void handle(); +}; + + +class ui_menu_image_info : public ui_menu +{ +public: + ui_menu_image_info(running_machine &machine, render_container *container); + virtual ~ui_menu_image_info(); + virtual void populate(); + virtual void handle(); + +private: + void image_info(device_image_interface *image); +}; + +#endif // __UI_INFO_H__ diff --git a/src/emu/ui/mainmenu.c b/src/emu/ui/mainmenu.c index 418df62fee2..8234899d758 100644 --- a/src/emu/ui/mainmenu.c +++ b/src/emu/ui/mainmenu.c @@ -19,7 +19,7 @@ #include "ui/filemngr.h" #include "ui/filesel.h" #include "ui/barcode.h" -#include "ui/imginfo.h" +#include "ui/info.h" #include "ui/inputmap.h" #include "ui/mainmenu.h" #include "ui/miscmenu.h" diff --git a/src/emu/ui/miscmenu.c b/src/emu/ui/miscmenu.c index 5ee0d78acb3..1d512ff1f2f 100644 --- a/src/emu/ui/miscmenu.c +++ b/src/emu/ui/miscmenu.c @@ -19,7 +19,6 @@ #include "rendutil.h" #include "uiinput.h" -#include "ui/ui.h" #include "ui/miscmenu.h" #include "ui/filemngr.h" @@ -304,31 +303,6 @@ void ui_menu_bookkeeping::populate() } -/*------------------------------------------------- - menu_game_info - handle the game information - menu --------------------------------------------------*/ - -ui_menu_game_info::ui_menu_game_info(running_machine &machine, render_container *container) : ui_menu(machine, container) -{ -} - -void ui_menu_game_info::populate() -{ - astring tempstring; - item_append(machine().ui().game_info_astring(tempstring), NULL, MENU_FLAG_MULTILINE, NULL); -} - -void ui_menu_game_info::handle() -{ - /* process the menu */ - process(0); -} - -ui_menu_game_info::~ui_menu_game_info() -{ -} - /*------------------------------------------------- menu_cheat - handle the cheat menu -------------------------------------------------*/ diff --git a/src/emu/ui/miscmenu.h b/src/emu/ui/miscmenu.h index dc4898bb920..eb1771bc29e 100644 --- a/src/emu/ui/miscmenu.h +++ b/src/emu/ui/miscmenu.h @@ -44,14 +44,6 @@ private: attotime prevtime; }; -class ui_menu_game_info : public ui_menu { -public: - ui_menu_game_info(running_machine &machine, render_container *container); - virtual ~ui_menu_game_info(); - virtual void populate(); - virtual void handle(); -}; - class ui_menu_cheat : public ui_menu { public: ui_menu_cheat(running_machine &machine, render_container *container); -- cgit v1.2.3