diff options
| author | 2022-09-16 22:09:58 +1000 | |
|---|---|---|
| committer | 2022-09-16 22:23:34 +1000 | |
| commit | c76cf754b3cb1a07f8d3ca585bb3a055d78f25be (patch) | |
| tree | 833fa7b23f8a84a79fd052008a6ad7c3847b46da /src/osd/modules/debugger/win/memoryviewinfo.cpp | |
| parent | 1aae44005b59aa712fb60f639ddbb9e8e5e7a357 (diff) | |
debugger/win: Added capability to save/restore window arrangement.
* Format is mostly compatible with the Cocoa debugger, besides reversed
vertical positioning.
* Made Qt debugger more compatible with configuration format used by
Win32 and Cocoa debuggers.
* emu/config.cpp: Preserve elements with no registered handlers in
default and system configuation files.
Diffstat (limited to 'src/osd/modules/debugger/win/memoryviewinfo.cpp')
| -rw-r--r-- | src/osd/modules/debugger/win/memoryviewinfo.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/osd/modules/debugger/win/memoryviewinfo.cpp b/src/osd/modules/debugger/win/memoryviewinfo.cpp index a8891553987..09659d298c7 100644 --- a/src/osd/modules/debugger/win/memoryviewinfo.cpp +++ b/src/osd/modules/debugger/win/memoryviewinfo.cpp @@ -9,6 +9,8 @@ #include "emu.h" #include "memoryviewinfo.h" +#include "util/xmlfile.h" + #include "strconv.h" @@ -23,6 +25,12 @@ memoryview_info::~memoryview_info() } +char const *memoryview_info::expression() const +{ + return view<debug_view_memory>()->expression(); +} + + debug_view_memory::data_format memoryview_info::data_format() const { return view<debug_view_memory>()->get_data_format(); @@ -83,6 +91,32 @@ void memoryview_info::set_address_radix(int radix) } +void memoryview_info::restore_configuration_from_node(util::xml::data_node const &node) +{ + debug_view_memory &memview(*view<debug_view_memory>()); + memview.set_reverse(0 != node.get_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_REVERSE_COLUMNS, memview.reverse() ? 1 : 0)); + memview.set_physical(0 != node.get_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_ADDRESS_MODE, memview.physical() ? 1 : 0)); + memview.set_address_radix(node.get_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_ADDRESS_RADIX, memview.address_radix())); + memview.set_data_format(debug_view_memory::data_format(node.get_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_DATA_FORMAT, int(memview.get_data_format())))); + memview.set_chunks_per_row(node.get_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_ROW_CHUNKS, memview.chunks_per_row())); + + debugview_info::restore_configuration_from_node(node); +} + + +void memoryview_info::save_configuration_to_node(util::xml::data_node &node) +{ + debugview_info::save_configuration_to_node(node); + + debug_view_memory &memview(*view<debug_view_memory>()); + node.set_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_REVERSE_COLUMNS, memview.reverse() ? 1 : 0); + node.set_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_ADDRESS_MODE, memview.physical() ? 1 : 0); + node.set_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_ADDRESS_RADIX, memview.address_radix()); + node.set_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_DATA_FORMAT, int(memview.get_data_format())); + node.set_attribute_int(osd::debugger::ATTR_WINDOW_MEMORY_ROW_CHUNKS, memview.chunks_per_row()); +} + + void memoryview_info::add_items_to_context_menu(HMENU menu) { debugview_info::add_items_to_context_menu(menu); |
