Fix the breakpoint list not updating after adding a memory check via the memory view.

Add the CCodeWindow to the constructor of the memoryWindow so it can call the notify update of the breakpoint list.

Add the case of breakpoint update when receiving an event (the update command was issued, but wasn't managed before).

Run clang format and renamed the code window names.
This commit is contained in:
aldelaro5
2016-08-11 14:24:10 -04:00
parent 5697032ec7
commit 5358e898c6
3 changed files with 17 additions and 7 deletions

View File

@ -604,7 +604,7 @@ void CCodeWindow::ToggleMemoryWindow(bool bShow)
if (bShow) if (bShow)
{ {
if (!m_MemoryWindow) if (!m_MemoryWindow)
m_MemoryWindow = new CMemoryWindow(Parent, IDM_MEMORY_WINDOW); m_MemoryWindow = new CMemoryWindow(this, Parent, IDM_MEMORY_WINDOW);
Parent->DoAddPage(m_MemoryWindow, iNbAffiliation[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW], Parent->DoAddPage(m_MemoryWindow, iNbAffiliation[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW],
Parent->bFloatWindow[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW]); Parent->bFloatWindow[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW]);
} }

View File

@ -26,6 +26,8 @@
#include "Core/HW/DSP.h" #include "Core/HW/DSP.h"
#include "Core/HW/Memmap.h" #include "Core/HW/Memmap.h"
#include "Core/PowerPC/PowerPC.h" #include "Core/PowerPC/PowerPC.h"
#include "DolphinWX/Debugger/BreakpointWindow.h"
#include "DolphinWX/Debugger/CodeWindow.h"
#include "DolphinWX/Debugger/MemoryView.h" #include "DolphinWX/Debugger/MemoryView.h"
#include "DolphinWX/Debugger/MemoryWindow.h" #include "DolphinWX/Debugger/MemoryWindow.h"
#include "DolphinWX/Globals.h" #include "DolphinWX/Globals.h"
@ -63,9 +65,10 @@ EVT_CHECKBOX(IDM_ASCII, CMemoryWindow::onAscii)
EVT_CHECKBOX(IDM_HEX, CMemoryWindow::onHex) EVT_CHECKBOX(IDM_HEX, CMemoryWindow::onHex)
END_EVENT_TABLE() END_EVENT_TABLE()
CMemoryWindow::CMemoryWindow(wxWindow* parent, wxWindowID id, const wxPoint& pos, CMemoryWindow::CMemoryWindow(CCodeWindow* code_window, wxWindow* parent, wxWindowID id,
const wxSize& size, long style, const wxString& name) const wxPoint& pos, const wxSize& size, long style,
: wxPanel(parent, id, pos, size, style, name) const wxString& name)
: wxPanel(parent, id, pos, size, style, name), m_code_window(code_window)
{ {
DebugInterface* di = &PowerPC::debug_interface; DebugInterface* di = &PowerPC::debug_interface;
@ -243,6 +246,10 @@ void CMemoryWindow::OnHostMessage(wxCommandEvent& event)
case IDM_NOTIFY_MAP_LOADED: case IDM_NOTIFY_MAP_LOADED:
NotifyMapLoaded(); NotifyMapLoaded();
break; break;
case IDM_UPDATE_BREAKPOINTS:
if (m_code_window->m_BreakpointWindow)
m_code_window->m_BreakpointWindow->NotifyUpdate();
break;
} }
} }

View File

@ -8,6 +8,7 @@
#include "Common/CommonTypes.h" #include "Common/CommonTypes.h"
class CMemoryView; class CMemoryView;
class CCodeWindow;
class IniFile; class IniFile;
class wxButton; class wxButton;
class wxCheckBox; class wxCheckBox;
@ -18,9 +19,9 @@ class wxTextCtrl;
class CMemoryWindow : public wxPanel class CMemoryWindow : public wxPanel
{ {
public: public:
CMemoryWindow(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, CMemoryWindow(CCodeWindow* code_window, wxWindow* parent, wxWindowID id = wxID_ANY,
const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL | wxBORDER_NONE, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
const wxString& name = _("Memory")); long style = wxTAB_TRAVERSAL | wxBORDER_NONE, const wxString& name = _("Memory"));
void Save(IniFile& _IniFile) const; void Save(IniFile& _IniFile) const;
void Load(IniFile& _IniFile); void Load(IniFile& _IniFile);
@ -55,6 +56,8 @@ private:
wxCheckBox* chkAscii; wxCheckBox* chkAscii;
wxCheckBox* chkHex; wxCheckBox* chkHex;
CCodeWindow* m_code_window;
CMemoryView* memview; CMemoryView* memview;
wxListBox* symbols; wxListBox* symbols;