diff --git a/Source/Core/DebuggerWX/Src/RegisterView.cpp b/Source/Core/DebuggerWX/Src/RegisterView.cpp index 91a0096b0c..fb52b52eac 100644 --- a/Source/Core/DebuggerWX/Src/RegisterView.cpp +++ b/Source/Core/DebuggerWX/Src/RegisterView.cpp @@ -23,7 +23,6 @@ extern const char* GetGRPName(unsigned int index); BEGIN_EVENT_TABLE(CRegisterView, wxListCtrl) - END_EVENT_TABLE() CRegisterView::CRegisterView(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style) @@ -90,6 +89,29 @@ CRegisterView::Update() Refresh(); } +void CRegisterView::Refresh() +{ + for (size_t i = 0; i < 16; i++) + { + wxListItem item; + item.SetId(i); + item.SetColumn(1); + char temp[16]; + sprintf(temp, "0x%08x",m_CachedRegs[i]); + item.SetText(wxString::FromAscii(temp)); + SetItem(item); + } + for (size_t i = 0; i < 16; i++) + { + wxListItem item; + item.SetId(i); + item.SetColumn(3); + char temp[16]; + sprintf(temp, "0x%08x",m_CachedRegs[16 + i]); + item.SetText(wxString::FromAscii(temp)); + SetItem(item); + } +} #ifdef _WIN32 bool CRegisterView::MSWDrawSubItem(wxPaintDC& rPainDC, int item, int subitem) diff --git a/Source/Core/DebuggerWX/Src/RegisterView.h b/Source/Core/DebuggerWX/Src/RegisterView.h index e1529bb1b6..768f52b353 100644 --- a/Source/Core/DebuggerWX/Src/RegisterView.h +++ b/Source/Core/DebuggerWX/Src/RegisterView.h @@ -30,6 +30,7 @@ class CRegisterView CRegisterView(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style); void Update(); + void Refresh(); private: @@ -38,7 +39,6 @@ class CRegisterView u32 m_CachedRegs[32]; bool m_CachedRegHasChanged[32]; - #ifdef _WIN32 virtual bool MSWDrawSubItem(wxPaintDC& rPainDC, int item, int subitem); #endif diff --git a/Source/Core/DebuggerWX/Src/RegisterWindow.cpp b/Source/Core/DebuggerWX/Src/RegisterWindow.cpp index 266361b91c..1c14a3de6c 100644 --- a/Source/Core/DebuggerWX/Src/RegisterWindow.cpp +++ b/Source/Core/DebuggerWX/Src/RegisterWindow.cpp @@ -25,6 +25,7 @@ extern const char* GetGRPName(unsigned int index); BEGIN_EVENT_TABLE(CRegisterWindow, wxDialog) EVT_CLOSE(CRegisterWindow::OnClose) + EVT_MENU(wxID_REFRESH, CRegisterWindow::OnRefresh) END_EVENT_TABLE() CRegisterWindow::CRegisterWindow(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& position, const wxSize& size, long style) @@ -78,6 +79,12 @@ void CRegisterWindow::OnClose(wxCloseEvent& /*event*/) Hide(); } +void CRegisterWindow::OnRefresh(wxCommandEvent& WXUNUSED (event)) +{ + m_GPRListView->Refresh(); + m_GPRListView->Update(); +} + void CRegisterWindow::NotifyUpdate() { diff --git a/Source/Core/DebuggerWX/Src/RegisterWindow.h b/Source/Core/DebuggerWX/Src/RegisterWindow.h index 92e544c698..0e66c68af4 100644 --- a/Source/Core/DebuggerWX/Src/RegisterWindow.h +++ b/Source/Core/DebuggerWX/Src/RegisterWindow.h @@ -50,7 +50,7 @@ class CRegisterWindow }; CRegisterView* m_GPRListView; - + void OnRefresh(wxCommandEvent& WXUNUSED (event)); void OnClose(wxCloseEvent& event); void CreateGUIControls(); };