diff options
author | 2017-07-20 22:01:02 +1000 | |
---|---|---|
committer | 2017-07-20 22:01:02 +1000 | |
commit | c36c1572ec7d2e1830804884d75824e83bd883d5 (patch) | |
tree | df8d60961b90fdfefdd7d3a7eb7187ae6f0c9bc9 /src/osd/modules/debugger/osx/memoryview.mm | |
parent | a549c6408a1a17ec94ef440cb969dcbbbf47816d (diff) |
Added basic support for saving/restoring Cocoa debugger window state, compatible with Qt debugger where possible
Diffstat (limited to 'src/osd/modules/debugger/osx/memoryview.mm')
-rw-r--r-- | src/osd/modules/debugger/osx/memoryview.mm | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/osd/modules/debugger/osx/memoryview.mm b/src/osd/modules/debugger/osx/memoryview.mm index 3c0baf41f63..0f99f2ad7fa 100644 --- a/src/osd/modules/debugger/osx/memoryview.mm +++ b/src/osd/modules/debugger/osx/memoryview.mm @@ -12,6 +12,8 @@ #include "debug/debugcpu.h" #include "debug/debugvw.h" +#include "util/xmlfile.h" + @implementation MAMEMemoryView @@ -107,7 +109,8 @@ - (void)selectSubviewAtIndex:(int)index { int const selected = view->source_list().indexof(*view->source()); - if (selected != index) { + if (selected != index) + { view->set_source(*view->source_list().find(index)); if ([[self window] firstResponder] != self) view->set_cursor_visible(false); @@ -197,6 +200,24 @@ } +- (void)saveConfigurationToNode:(util::xml::data_node *)node { + debug_view_memory *const memView = downcast<debug_view_memory *>(view); + node->set_attribute_int("memoryregion", [self selectedSubviewIndex]); + node->set_attribute_int("reverse", memView->reverse() ? 1 : 0); + node->set_attribute_int("addressmode", memView->physical() ? 1 : 0); + node->set_attribute_int("dataformat", memView->get_data_format()); +} + + +- (void)restoreConfigurationFromNode:(util::xml::data_node const *)node { + debug_view_memory *const memView = downcast<debug_view_memory *>(view); + [self selectSubviewAtIndex:node->get_attribute_int("memoryregion", [self selectedSubviewIndex])]; + memView->set_reverse(0 != node->get_attribute_int("reverse", memView->reverse() ? 1 : 0)); + memView->set_physical(0 != node->get_attribute_int("addressmode", memView->physical() ? 1 : 0)); + memView->set_data_format(node->get_attribute_int("dataformat", memView->get_data_format())); +} + + - (void)insertActionItemsInMenu:(NSMenu *)menu atIndex:(NSInteger)index { NSInteger tag; for (tag = 1; tag <= 8; tag <<= 1) { |