Previous 199869 Revisions Next

r35163 Friday 20th February, 2015 at 21:18:50 UTC by Vasantha Crabb
Fix image device menu
[src/osd/modules/debugger/win]consolewininfo.c consolewininfo.h

trunk/src/osd/modules/debugger/win/consolewininfo.c
r243674r243675
2121
2222
2323consolewin_info::consolewin_info(debugger_windows_interface &debugger) :
24   disasmbasewin_info(debugger, true, "Debug", NULL)
24   disasmbasewin_info(debugger, true, "Debug", NULL),
25   m_devices_menu(NULL)
2526{
2627   if ((window() == NULL) || (m_views[0] == NULL))
2728      goto cleanup;
r243674r243675
3738   {
3839      // Add image menu only if image devices exist
3940      image_interface_iterator iter(machine().root_device());
40      if (iter.first() != NULL)
41      device_image_interface *img = iter.first();
42      if (img != NULL)
4143      {
42         //info->update_menu = image_update_menu;
43         //image_update_menu(info);
44         m_devices_menu = CreatePopupMenu();
45         for ( ; img != NULL; img = iter.next())
46         {
47            astring temp;
48            temp.format("%s : %s", img->device().name(), img->exists() ? img->filename() : "[no image]");
49            TCHAR *tc_buf = tstring_from_utf8(temp);
50            if (tc_buf != NULL)
51            {
52               AppendMenu(m_devices_menu, MF_ENABLED, 0, tc_buf);
53               osd_free(tc_buf);
54            }
55         }
56         AppendMenu(GetMenu(window()), MF_ENABLED | MF_POPUP, (UINT_PTR)m_devices_menu, TEXT("Images"));
4457      }
4558
4659      // get the work bounds
r243674r243675
151164{
152165   disasmbasewin_info::update_menu();
153166
154   image_interface_iterator iter(machine().root_device());
155   if (iter.first() != NULL)
167   if (m_devices_menu != NULL)
156168   {
157      DeleteMenu(GetMenu(window()), 2, MF_BYPOSITION);
158
159169      // create the image menu
160      HMENU const devicesmenu = CreatePopupMenu();
170      image_interface_iterator iter(machine().root_device());
161171      device_image_interface *img;
162172      UINT32 cnt;
163173      for (img = iter.first(), cnt = 0; img != NULL; img = iter.next(), cnt++)
r243674r243675
196206         TCHAR *tc_buf = tstring_from_utf8(temp);
197207         if (tc_buf != NULL)
198208         {
199            AppendMenu(devicesmenu, MF_ENABLED | MF_POPUP, (UINT_PTR)devicesubmenu, tc_buf);
209            ModifyMenu(m_devices_menu, cnt, MF_BYPOSITION | MF_POPUP, (UINT_PTR)devicesubmenu, tc_buf);
200210            osd_free(tc_buf);
201211         }
202212      }
203      AppendMenu(GetMenu(window()), MF_ENABLED | MF_POPUP, (UINT_PTR)devicesmenu, TEXT("Images"));
204213   }
205214}
206215
trunk/src/osd/modules/debugger/win/consolewininfo.h
r243674r243675
4646   static void build_generic_filter(device_image_interface *img, bool is_save, astring &filter);
4747   static void add_filter_entry(astring &dest, char const *description, char const *extensions);
4848   static void copy_extension_list(astring &dest, char const *extensions);
49
50   HMENU   m_devices_menu;
4951};
5052
5153#endif


Previous 199869 Revisions Next


© 1997-2024 The MAME Team