MemoryWindow: Normalize variable naming
This commit is contained in:
parent
f0a89f8daf
commit
7cf78a00eb
|
@ -40,13 +40,13 @@
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
IDM_MEM_ADDRBOX,
|
IDM_ADDRESS_SEARCH_CTRL,
|
||||||
IDM_SYMBOLLIST,
|
IDM_SYMBOL_LIST,
|
||||||
IDM_SETVALBUTTON,
|
IDM_SET_VALUE_BUTTON,
|
||||||
IDM_DUMP_MEMORY,
|
IDM_DUMP_MEMORY,
|
||||||
IDM_DUMP_MEM2,
|
IDM_DUMP_MEM2,
|
||||||
IDM_DUMP_FAKEVMEM,
|
IDM_DUMP_FAKEVMEM,
|
||||||
IDM_VALBOX,
|
IDM_VALUE_TEXT_CTRL,
|
||||||
IDM_DATA_TYPE_RBOX,
|
IDM_DATA_TYPE_RBOX,
|
||||||
IDM_FIND_NEXT,
|
IDM_FIND_NEXT,
|
||||||
IDM_FIND_PREVIOUS,
|
IDM_FIND_PREVIOUS,
|
||||||
|
@ -56,7 +56,7 @@ enum
|
||||||
};
|
};
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(CMemoryWindow, wxPanel)
|
BEGIN_EVENT_TABLE(CMemoryWindow, wxPanel)
|
||||||
EVT_BUTTON(IDM_SETVALBUTTON, CMemoryWindow::SetMemoryValue)
|
EVT_BUTTON(IDM_SET_VALUE_BUTTON, CMemoryWindow::OnSetMemoryValue)
|
||||||
EVT_BUTTON(IDM_DUMP_MEMORY, CMemoryWindow::OnDumpMemory)
|
EVT_BUTTON(IDM_DUMP_MEMORY, CMemoryWindow::OnDumpMemory)
|
||||||
EVT_BUTTON(IDM_DUMP_MEM2, CMemoryWindow::OnDumpMem2)
|
EVT_BUTTON(IDM_DUMP_MEM2, CMemoryWindow::OnDumpMem2)
|
||||||
EVT_BUTTON(IDM_DUMP_FAKEVMEM, CMemoryWindow::OnDumpFakeVMEM)
|
EVT_BUTTON(IDM_DUMP_FAKEVMEM, CMemoryWindow::OnDumpFakeVMEM)
|
||||||
|
@ -73,25 +73,26 @@ CMemoryWindow::CMemoryWindow(wxWindow* parent, wxWindowID id, const wxPoint& pos
|
||||||
{
|
{
|
||||||
DebugInterface* di = &PowerPC::debug_interface;
|
DebugInterface* di = &PowerPC::debug_interface;
|
||||||
|
|
||||||
memview = new CMemoryView(di, this);
|
m_memory_view = new CMemoryView(di, this);
|
||||||
memview->Bind(DOLPHIN_EVT_MEMORY_VIEW_DATA_TYPE_CHANGED, &CMemoryWindow::OnDataTypeChanged, this);
|
m_memory_view->Bind(DOLPHIN_EVT_MEMORY_VIEW_DATA_TYPE_CHANGED, &CMemoryWindow::OnDataTypeChanged,
|
||||||
|
this);
|
||||||
|
|
||||||
addrbox = new wxSearchCtrl(this, IDM_MEM_ADDRBOX);
|
m_address_search_ctrl = new wxSearchCtrl(this, IDM_ADDRESS_SEARCH_CTRL);
|
||||||
addrbox->Bind(wxEVT_TEXT, &CMemoryWindow::OnAddrBoxChange, this);
|
m_address_search_ctrl->Bind(wxEVT_TEXT, &CMemoryWindow::OnSearchAddressChanged, this);
|
||||||
addrbox->SetDescriptiveText(_("Search Address"));
|
m_address_search_ctrl->SetDescriptiveText(_("Search Address"));
|
||||||
|
|
||||||
valbox =
|
m_value_text_ctrl = new wxTextCtrl(this, IDM_VALUE_TEXT_CTRL, "", wxDefaultPosition,
|
||||||
new wxTextCtrl(this, IDM_VALBOX, "", wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER);
|
wxDefaultSize, wxTE_PROCESS_ENTER);
|
||||||
valbox->Bind(wxEVT_TEXT_ENTER, &CMemoryWindow::SetMemoryValueFromValBox, this);
|
m_value_text_ctrl->Bind(wxEVT_TEXT_ENTER, &CMemoryWindow::OnSetMemoryValueFromValBox, this);
|
||||||
valbox->Bind(wxEVT_TEXT, &CMemoryWindow::OnValueChanged, this);
|
m_value_text_ctrl->Bind(wxEVT_TEXT, &CMemoryWindow::OnValueChanged, this);
|
||||||
|
|
||||||
const int space3 = FromDIP(3);
|
const int space3 = FromDIP(3);
|
||||||
const int space5 = FromDIP(5);
|
const int space5 = FromDIP(5);
|
||||||
|
|
||||||
wxBoxSizer* const search_sizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* const search_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
search_sizer->Add(addrbox, 0, wxEXPAND);
|
search_sizer->Add(m_address_search_ctrl, 0, wxEXPAND);
|
||||||
search_sizer->Add(valbox, 0, wxEXPAND);
|
search_sizer->Add(m_value_text_ctrl, 0, wxEXPAND);
|
||||||
search_sizer->Add(new wxButton(this, IDM_SETVALBUTTON, _("Set Value")));
|
search_sizer->Add(new wxButton(this, IDM_SET_VALUE_BUTTON, _("Set Value")));
|
||||||
|
|
||||||
wxBoxSizer* const dump_sizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* const dump_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
dump_sizer->Add(new wxButton(this, IDM_DUMP_MEMORY, _("Dump MRAM")), 0, wxEXPAND);
|
dump_sizer->Add(new wxButton(this, IDM_DUMP_MEMORY, _("Dump MRAM")), 0, wxEXPAND);
|
||||||
|
@ -99,17 +100,17 @@ CMemoryWindow::CMemoryWindow(wxWindow* parent, wxWindowID id, const wxPoint& pos
|
||||||
if (!SConfig::GetInstance().bMMU)
|
if (!SConfig::GetInstance().bMMU)
|
||||||
dump_sizer->Add(new wxButton(this, IDM_DUMP_FAKEVMEM, _("Dump FakeVMEM")), 0, wxEXPAND);
|
dump_sizer->Add(new wxButton(this, IDM_DUMP_FAKEVMEM, _("Dump FakeVMEM")), 0, wxEXPAND);
|
||||||
|
|
||||||
wxStaticBoxSizer* const sizerSearchType = new wxStaticBoxSizer(wxVERTICAL, this, _("Search"));
|
wxStaticBoxSizer* const search_type_sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Search"));
|
||||||
sizerSearchType->Add(m_btn_find_next = new wxButton(this, IDM_FIND_NEXT, _("Find Next")));
|
search_type_sizer->Add(m_btn_find_next = new wxButton(this, IDM_FIND_NEXT, _("Find Next")));
|
||||||
sizerSearchType->Add(m_btn_find_previous =
|
search_type_sizer->Add(m_btn_find_previous =
|
||||||
new wxButton(this, IDM_FIND_PREVIOUS, _("Find Previous")));
|
new wxButton(this, IDM_FIND_PREVIOUS, _("Find Previous")));
|
||||||
sizerSearchType->Add(m_rb_ascii = new wxRadioButton(this, IDM_ASCII, "Ascii", wxDefaultPosition,
|
search_type_sizer->Add(m_rb_ascii = new wxRadioButton(this, IDM_ASCII, "Ascii", wxDefaultPosition,
|
||||||
wxDefaultSize, wxRB_GROUP));
|
wxDefaultSize, wxRB_GROUP));
|
||||||
sizerSearchType->Add(m_rb_hex = new wxRadioButton(this, IDM_HEX, _("Hex")));
|
search_type_sizer->Add(m_rb_hex = new wxRadioButton(this, IDM_HEX, _("Hex")));
|
||||||
m_search_result_msg =
|
m_search_result_msg =
|
||||||
new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize,
|
new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize,
|
||||||
wxST_NO_AUTORESIZE | wxALIGN_CENTER_HORIZONTAL);
|
wxST_NO_AUTORESIZE | wxALIGN_CENTER_HORIZONTAL);
|
||||||
sizerSearchType->Add(m_search_result_msg, 0, wxEXPAND);
|
search_type_sizer->Add(m_search_result_msg, 0, wxEXPAND);
|
||||||
|
|
||||||
wxArrayString data_type_options;
|
wxArrayString data_type_options;
|
||||||
data_type_options.Add("U8");
|
data_type_options.Add("U8");
|
||||||
|
@ -122,50 +123,51 @@ CMemoryWindow::CMemoryWindow(wxWindow* parent, wxWindowID id, const wxPoint& pos
|
||||||
|
|
||||||
wxStaticBoxSizer* const memcheck_options_sizer =
|
wxStaticBoxSizer* const memcheck_options_sizer =
|
||||||
new wxStaticBoxSizer(wxVERTICAL, this, "Memory breakpoint options");
|
new wxStaticBoxSizer(wxVERTICAL, this, "Memory breakpoint options");
|
||||||
memcheck_options_sizer->Add(rdbReadWrite = new wxRadioButton(this, IDM_MEMCHECK_OPTIONS_CHANGE,
|
memcheck_options_sizer->Add(m_read_write_radio_btn = new wxRadioButton(
|
||||||
"Read and Write", wxDefaultPosition,
|
this, IDM_MEMCHECK_OPTIONS_CHANGE, "Read and Write",
|
||||||
wxDefaultSize, wxRB_GROUP));
|
wxDefaultPosition, wxDefaultSize, wxRB_GROUP));
|
||||||
memcheck_options_sizer->Add(
|
memcheck_options_sizer->Add(
|
||||||
rdbRead = new wxRadioButton(this, IDM_MEMCHECK_OPTIONS_CHANGE, "Read only"));
|
m_read_radio_btn = new wxRadioButton(this, IDM_MEMCHECK_OPTIONS_CHANGE, "Read only"));
|
||||||
memcheck_options_sizer->Add(
|
memcheck_options_sizer->Add(
|
||||||
rdbWrite = new wxRadioButton(this, IDM_MEMCHECK_OPTIONS_CHANGE, "Write only"));
|
m_write_radio_btn = new wxRadioButton(this, IDM_MEMCHECK_OPTIONS_CHANGE, "Write only"));
|
||||||
memcheck_options_sizer->Add(chkLog = new wxCheckBox(this, IDM_MEMCHECK_OPTIONS_CHANGE, "Log"));
|
memcheck_options_sizer->Add(m_log_checkbox =
|
||||||
|
new wxCheckBox(this, IDM_MEMCHECK_OPTIONS_CHANGE, "Log"));
|
||||||
|
|
||||||
wxBoxSizer* const sizerRight = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* const right_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
sizerRight->Add(search_sizer);
|
right_sizer->Add(search_sizer);
|
||||||
sizerRight->AddSpacer(space5);
|
right_sizer->AddSpacer(space5);
|
||||||
sizerRight->Add(dump_sizer, 0, wxEXPAND);
|
right_sizer->Add(dump_sizer, 0, wxEXPAND);
|
||||||
sizerRight->Add(sizerSearchType, 0, wxEXPAND);
|
right_sizer->Add(search_type_sizer, 0, wxEXPAND);
|
||||||
sizerRight->Add(m_rbox_data_type, 0, wxEXPAND);
|
right_sizer->Add(m_rbox_data_type, 0, wxEXPAND);
|
||||||
sizerRight->Add(memcheck_options_sizer, 0, wxEXPAND);
|
right_sizer->Add(memcheck_options_sizer, 0, wxEXPAND);
|
||||||
|
|
||||||
wxBoxSizer* const sizerBig = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer* const main_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
sizerBig->Add(memview, 20, wxEXPAND);
|
main_sizer->Add(m_memory_view, 20, wxEXPAND);
|
||||||
sizerBig->AddSpacer(space3);
|
main_sizer->AddSpacer(space3);
|
||||||
sizerBig->Add(sizerRight, 0, wxEXPAND | wxTOP | wxBOTTOM, space3);
|
main_sizer->Add(right_sizer, 0, wxEXPAND | wxTOP | wxBOTTOM, space3);
|
||||||
sizerBig->AddSpacer(space3);
|
main_sizer->AddSpacer(space3);
|
||||||
|
|
||||||
SetSizer(sizerBig);
|
SetSizer(main_sizer);
|
||||||
m_rb_hex->SetValue(true); // Set defaults
|
m_rb_hex->SetValue(true); // Set defaults
|
||||||
chkLog->SetValue(true);
|
m_log_checkbox->SetValue(true);
|
||||||
m_rbox_data_type->SetSelection(static_cast<int>(memview->GetDataType()));
|
m_rbox_data_type->SetSelection(static_cast<int>(m_memory_view->GetDataType()));
|
||||||
|
|
||||||
sizerRight->Fit(this);
|
right_sizer->Fit(this);
|
||||||
sizerBig->Fit(this);
|
main_sizer->Fit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMemoryWindow::JumpToAddress(u32 _Address)
|
void CMemoryWindow::JumpToAddress(u32 address)
|
||||||
{
|
{
|
||||||
memview->Center(_Address);
|
m_memory_view->Center(address);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMemoryWindow::SetMemoryValueFromValBox(wxCommandEvent& event)
|
void CMemoryWindow::OnSetMemoryValueFromValBox(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
SetMemoryValue(event);
|
OnSetMemoryValue(event);
|
||||||
valbox->SetFocus();
|
m_value_text_ctrl->SetFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMemoryWindow::SetMemoryValue(wxCommandEvent& event)
|
void CMemoryWindow::OnSetMemoryValue(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
if (!Memory::IsInitialized())
|
if (!Memory::IsInitialized())
|
||||||
{
|
{
|
||||||
|
@ -173,8 +175,8 @@ void CMemoryWindow::SetMemoryValue(wxCommandEvent& event)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string str_addr = WxStrToStr(addrbox->GetValue());
|
std::string str_addr = WxStrToStr(m_address_search_ctrl->GetValue());
|
||||||
std::string str_val = WxStrToStr(valbox->GetValue());
|
std::string str_val = WxStrToStr(m_value_text_ctrl->GetValue());
|
||||||
u32 addr;
|
u32 addr;
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
@ -191,17 +193,17 @@ void CMemoryWindow::SetMemoryValue(wxCommandEvent& event)
|
||||||
}
|
}
|
||||||
|
|
||||||
PowerPC::HostWrite_U32(val, addr);
|
PowerPC::HostWrite_U32(val, addr);
|
||||||
memview->Refresh();
|
m_memory_view->Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMemoryWindow::OnAddrBoxChange(wxCommandEvent& event)
|
void CMemoryWindow::OnSearchAddressChanged(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
wxString txt = addrbox->GetValue();
|
wxString txt = m_address_search_ctrl->GetValue();
|
||||||
if (txt.size())
|
if (txt.size())
|
||||||
{
|
{
|
||||||
u32 addr;
|
u32 addr;
|
||||||
sscanf(WxStrToStr(txt).c_str(), "%08x", &addr);
|
sscanf(WxStrToStr(txt).c_str(), "%08x", &addr);
|
||||||
memview->Center(addr & ~3);
|
m_memory_view->Center(addr & ~3);
|
||||||
}
|
}
|
||||||
|
|
||||||
event.Skip();
|
event.Skip();
|
||||||
|
@ -209,7 +211,7 @@ void CMemoryWindow::OnAddrBoxChange(wxCommandEvent& event)
|
||||||
|
|
||||||
void CMemoryWindow::Repopulate()
|
void CMemoryWindow::Repopulate()
|
||||||
{
|
{
|
||||||
memview->Center(PC);
|
m_memory_view->Center(PC);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMemoryWindow::OnValueChanged(wxCommandEvent&)
|
void CMemoryWindow::OnValueChanged(wxCommandEvent&)
|
||||||
|
@ -258,7 +260,7 @@ void CMemoryWindow::OnDataTypeChanged(wxCommandEvent& ev)
|
||||||
MemoryDataType::FloatingPoint}};
|
MemoryDataType::FloatingPoint}};
|
||||||
if (ev.GetId() == IDM_DATA_TYPE_RBOX)
|
if (ev.GetId() == IDM_DATA_TYPE_RBOX)
|
||||||
{
|
{
|
||||||
memview->SetDataType(map.at(ev.GetSelection()));
|
m_memory_view->SetDataType(map.at(ev.GetSelection()));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -288,7 +290,7 @@ void CMemoryWindow::Search(SearchType search_type)
|
||||||
u8* ram_ptr = nullptr;
|
u8* ram_ptr = nullptr;
|
||||||
std::size_t ram_size = 0;
|
std::size_t ram_size = 0;
|
||||||
// NOTE: We're assuming the base address is zero.
|
// NOTE: We're assuming the base address is zero.
|
||||||
switch (memview->GetMemoryType())
|
switch (m_memory_view->GetMemoryType())
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
default:
|
default:
|
||||||
|
@ -316,7 +318,7 @@ void CMemoryWindow::Search(SearchType search_type)
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<u8> search_bytes;
|
std::vector<u8> search_bytes;
|
||||||
wxString search_val = valbox->GetValue();
|
wxString search_val = m_value_text_ctrl->GetValue();
|
||||||
|
|
||||||
if (m_rb_hex->GetValue())
|
if (m_rb_hex->GetValue())
|
||||||
{
|
{
|
||||||
|
@ -363,7 +365,7 @@ void CMemoryWindow::Search(SearchType search_type)
|
||||||
// Search starting from specified address if there is one.
|
// Search starting from specified address if there is one.
|
||||||
u32 addr = 0; // Base address
|
u32 addr = 0; // Base address
|
||||||
{
|
{
|
||||||
wxString addr_val = addrbox->GetValue();
|
wxString addr_val = m_address_search_ctrl->GetValue();
|
||||||
addr_val.Trim(true).Trim(false);
|
addr_val.Trim(true).Trim(false);
|
||||||
if (!addr_val.empty())
|
if (!addr_val.empty())
|
||||||
{
|
{
|
||||||
|
@ -408,7 +410,7 @@ void CMemoryWindow::Search(SearchType search_type)
|
||||||
m_search_result_msg->SetLabel(_("Match Found"));
|
m_search_result_msg->SetLabel(_("Match Found"));
|
||||||
u32 offset = static_cast<u32>(ptr - ram_ptr);
|
u32 offset = static_cast<u32>(ptr - ram_ptr);
|
||||||
// NOTE: SetValue() generates a synthetic wxEVT_TEXT
|
// NOTE: SetValue() generates a synthetic wxEVT_TEXT
|
||||||
addrbox->SetValue(wxString::Format("%08x", offset));
|
m_address_search_ctrl->SetValue(wxString::Format("%08x", offset));
|
||||||
m_last_search_address = offset;
|
m_last_search_address = offset;
|
||||||
m_continue_search = true;
|
m_continue_search = true;
|
||||||
return;
|
return;
|
||||||
|
@ -419,8 +421,13 @@ void CMemoryWindow::Search(SearchType search_type)
|
||||||
|
|
||||||
void CMemoryWindow::OnMemCheckOptionChange(wxCommandEvent& event)
|
void CMemoryWindow::OnMemCheckOptionChange(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
if (rdbReadWrite->GetValue())
|
if (m_read_write_radio_btn->GetValue())
|
||||||
memview->SetMemCheckOptions(true, true, chkLog->GetValue());
|
{
|
||||||
|
m_memory_view->SetMemCheckOptions(true, true, m_log_checkbox->GetValue());
|
||||||
|
}
|
||||||
else
|
else
|
||||||
memview->SetMemCheckOptions(rdbRead->GetValue(), rdbWrite->GetValue(), chkLog->GetValue());
|
{
|
||||||
|
m_memory_view->SetMemCheckOptions(m_read_radio_btn->GetValue(), m_write_radio_btn->GetValue(),
|
||||||
|
m_log_checkbox->GetValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ public:
|
||||||
|
|
||||||
void Repopulate();
|
void Repopulate();
|
||||||
|
|
||||||
void JumpToAddress(u32 _Address);
|
void JumpToAddress(u32 address);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum class SearchType
|
enum class SearchType
|
||||||
|
@ -43,10 +43,10 @@ private:
|
||||||
void OnDataTypeChanged(wxCommandEvent& event);
|
void OnDataTypeChanged(wxCommandEvent& event);
|
||||||
void OnFindNext(wxCommandEvent& event);
|
void OnFindNext(wxCommandEvent& event);
|
||||||
void OnFindPrevious(wxCommandEvent& event);
|
void OnFindPrevious(wxCommandEvent& event);
|
||||||
void OnAddrBoxChange(wxCommandEvent& event);
|
void OnSearchAddressChanged(wxCommandEvent& event);
|
||||||
void OnValueChanged(wxCommandEvent&);
|
void OnValueChanged(wxCommandEvent&);
|
||||||
void SetMemoryValueFromValBox(wxCommandEvent& event);
|
void OnSetMemoryValueFromValBox(wxCommandEvent& event);
|
||||||
void SetMemoryValue(wxCommandEvent& event);
|
void OnSetMemoryValue(wxCommandEvent& event);
|
||||||
void OnDumpMemory(wxCommandEvent& event);
|
void OnDumpMemory(wxCommandEvent& event);
|
||||||
void OnDumpMem2(wxCommandEvent& event);
|
void OnDumpMem2(wxCommandEvent& event);
|
||||||
void OnDumpFakeVMEM(wxCommandEvent& event);
|
void OnDumpFakeVMEM(wxCommandEvent& event);
|
||||||
|
@ -62,17 +62,17 @@ private:
|
||||||
wxRadioBox* m_rbox_data_type;
|
wxRadioBox* m_rbox_data_type;
|
||||||
wxStaticText* m_search_result_msg;
|
wxStaticText* m_search_result_msg;
|
||||||
|
|
||||||
wxCheckBox* chkLog;
|
wxCheckBox* m_log_checkbox;
|
||||||
wxRadioButton* rdbRead;
|
wxRadioButton* m_read_radio_btn;
|
||||||
wxRadioButton* rdbWrite;
|
wxRadioButton* m_write_radio_btn;
|
||||||
wxRadioButton* rdbReadWrite;
|
wxRadioButton* m_read_write_radio_btn;
|
||||||
|
|
||||||
CCodeWindow* m_code_window;
|
CCodeWindow* m_code_window;
|
||||||
|
|
||||||
CMemoryView* memview;
|
CMemoryView* m_memory_view;
|
||||||
|
|
||||||
wxSearchCtrl* addrbox;
|
wxSearchCtrl* m_address_search_ctrl;
|
||||||
wxTextCtrl* valbox;
|
wxTextCtrl* m_value_text_ctrl;
|
||||||
|
|
||||||
u32 m_last_search_address = 0;
|
u32 m_last_search_address = 0;
|
||||||
bool m_continue_search = false;
|
bool m_continue_search = false;
|
||||||
|
|
Loading…
Reference in New Issue