From 3570c7f03a2aa90aa634f96c0af1969af610f14d Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Fri, 24 Jun 2016 10:43:46 +0200 Subject: Reformat all the things. Have fun with merge conflicts. --- Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp | 397 +++++++++++----------- 1 file changed, 196 insertions(+), 201 deletions(-) (limited to 'Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp') diff --git a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp index ce65c0834c..7b4909a4e8 100644 --- a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp +++ b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp @@ -4,236 +4,232 @@ #include #include +#include +#include +#include #include #include #include #include #include -#include -#include -#include #include "Common/CommonTypes.h" #include "Common/StringUtil.h" #include "Common/SymbolDB.h" -#include "Core/Host.h" #include "Core/DSP/DSPCore.h" #include "Core/HW/DSPLLE/DSPDebugInterface.h" #include "Core/HW/DSPLLE/DSPSymbols.h" -#include "DolphinWX/WxUtils.h" +#include "Core/Host.h" #include "DolphinWX/Debugger/CodeView.h" #include "DolphinWX/Debugger/DSPDebugWindow.h" #include "DolphinWX/Debugger/DSPRegisterView.h" #include "DolphinWX/Debugger/MemoryView.h" +#include "DolphinWX/WxUtils.h" static DSPDebuggerLLE* m_DebuggerFrame = nullptr; DSPDebuggerLLE::DSPDebuggerLLE(wxWindow* parent, wxWindowID id) - : wxPanel(parent, id, wxDefaultPosition, wxDefaultSize, - wxTAB_TRAVERSAL, _("DSP LLE Debugger")) - , m_CachedStepCounter(-1) + : wxPanel(parent, id, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _("DSP LLE Debugger")), + m_CachedStepCounter(-1) { - Bind(wxEVT_CLOSE_WINDOW, &DSPDebuggerLLE::OnClose, this); - Bind(wxEVT_MENU, &DSPDebuggerLLE::OnChangeState, this, ID_RUNTOOL, ID_SHOWPCTOOL); - - m_DebuggerFrame = this; - - // notify wxAUI which frame to use - m_mgr.SetManagedWindow(this); - m_mgr.SetFlags(wxAUI_MGR_DEFAULT | wxAUI_MGR_LIVE_RESIZE); - - m_Toolbar = new wxAuiToolBar(this, ID_TOOLBAR, - wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_TEXT); - m_Toolbar->AddTool(ID_RUNTOOL, _("Pause"), - wxArtProvider::GetBitmap(wxART_TICK_MARK, wxART_OTHER, wxSize(10,10))); - m_Toolbar->AddTool(ID_STEPTOOL, _("Step"), - wxArtProvider::GetBitmap(wxART_GO_DOWN, wxART_OTHER, wxSize(10,10))); - m_Toolbar->AddTool(ID_SHOWPCTOOL, _("Show PC"), - wxArtProvider::GetBitmap(wxART_GO_TO_PARENT, wxART_OTHER, wxSize(10,10))); - m_Toolbar->AddSeparator(); - - m_addr_txtctrl = new wxTextCtrl(m_Toolbar, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER); - m_addr_txtctrl->Bind(wxEVT_TEXT_ENTER, &DSPDebuggerLLE::OnAddrBoxChange, this); - - m_Toolbar->AddControl(m_addr_txtctrl); - m_Toolbar->Realize(); - - m_SymbolList = new wxListBox(this, wxID_ANY, wxDefaultPosition, - wxSize(140, 100), 0, nullptr, wxLB_SORT); - m_SymbolList->Bind(wxEVT_LISTBOX, &DSPDebuggerLLE::OnSymbolListChange, this); - - m_MainNotebook = new wxAuiNotebook(this, wxID_ANY, - wxDefaultPosition, wxDefaultSize, - wxAUI_NB_TOP | wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE); - - wxPanel *code_panel = new wxPanel(m_MainNotebook, wxID_ANY); - wxBoxSizer *code_sizer = new wxBoxSizer(wxVERTICAL); - m_CodeView = new CCodeView(&debug_interface, &DSPSymbols::g_dsp_symbol_db, code_panel); - m_CodeView->SetPlain(); - code_sizer->Add(m_CodeView, 1, wxALL | wxEXPAND); - code_panel->SetSizer(code_sizer); - m_MainNotebook->AddPage(code_panel, _("Disassembly"), true); - - wxPanel *mem_panel = new wxPanel(m_MainNotebook, wxID_ANY); - wxBoxSizer *mem_sizer = new wxBoxSizer(wxVERTICAL); - // TODO insert memViewer class - m_MemView = new CMemoryView(&debug_interface, mem_panel); - mem_sizer->Add(m_MemView, 1, wxALL | wxEXPAND); - mem_panel->SetSizer(mem_sizer); - m_MainNotebook->AddPage(mem_panel, _("Memory")); - - m_Regs = new DSPRegisterView(this); - - // add the panes to the manager - m_mgr.AddPane(m_Toolbar, wxAuiPaneInfo(). - ToolbarPane().Top(). - LeftDockable(false).RightDockable(false)); - - m_mgr.AddPane(m_SymbolList, wxAuiPaneInfo(). - Left().CloseButton(false). - Caption(_("Symbols")).Dockable(true)); - - m_mgr.AddPane(m_MainNotebook, wxAuiPaneInfo(). - Name("m_MainNotebook").Center(). - CloseButton(false).MaximizeButton(true)); - - m_mgr.AddPane(m_Regs, wxAuiPaneInfo().Right(). - CloseButton(false).Caption(_("Registers")). - Dockable(true)); - - UpdateState(); - - m_mgr.Update(); + Bind(wxEVT_CLOSE_WINDOW, &DSPDebuggerLLE::OnClose, this); + Bind(wxEVT_MENU, &DSPDebuggerLLE::OnChangeState, this, ID_RUNTOOL, ID_SHOWPCTOOL); + + m_DebuggerFrame = this; + + // notify wxAUI which frame to use + m_mgr.SetManagedWindow(this); + m_mgr.SetFlags(wxAUI_MGR_DEFAULT | wxAUI_MGR_LIVE_RESIZE); + + m_Toolbar = + new wxAuiToolBar(this, ID_TOOLBAR, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_TEXT); + m_Toolbar->AddTool(ID_RUNTOOL, _("Pause"), + wxArtProvider::GetBitmap(wxART_TICK_MARK, wxART_OTHER, wxSize(10, 10))); + m_Toolbar->AddTool(ID_STEPTOOL, _("Step"), + wxArtProvider::GetBitmap(wxART_GO_DOWN, wxART_OTHER, wxSize(10, 10))); + m_Toolbar->AddTool(ID_SHOWPCTOOL, _("Show PC"), + wxArtProvider::GetBitmap(wxART_GO_TO_PARENT, wxART_OTHER, wxSize(10, 10))); + m_Toolbar->AddSeparator(); + + m_addr_txtctrl = new wxTextCtrl(m_Toolbar, wxID_ANY, wxEmptyString, wxDefaultPosition, + wxDefaultSize, wxTE_PROCESS_ENTER); + m_addr_txtctrl->Bind(wxEVT_TEXT_ENTER, &DSPDebuggerLLE::OnAddrBoxChange, this); + + m_Toolbar->AddControl(m_addr_txtctrl); + m_Toolbar->Realize(); + + m_SymbolList = + new wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(140, 100), 0, nullptr, wxLB_SORT); + m_SymbolList->Bind(wxEVT_LISTBOX, &DSPDebuggerLLE::OnSymbolListChange, this); + + m_MainNotebook = new wxAuiNotebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, + wxAUI_NB_TOP | wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE); + + wxPanel* code_panel = new wxPanel(m_MainNotebook, wxID_ANY); + wxBoxSizer* code_sizer = new wxBoxSizer(wxVERTICAL); + m_CodeView = new CCodeView(&debug_interface, &DSPSymbols::g_dsp_symbol_db, code_panel); + m_CodeView->SetPlain(); + code_sizer->Add(m_CodeView, 1, wxALL | wxEXPAND); + code_panel->SetSizer(code_sizer); + m_MainNotebook->AddPage(code_panel, _("Disassembly"), true); + + wxPanel* mem_panel = new wxPanel(m_MainNotebook, wxID_ANY); + wxBoxSizer* mem_sizer = new wxBoxSizer(wxVERTICAL); + // TODO insert memViewer class + m_MemView = new CMemoryView(&debug_interface, mem_panel); + mem_sizer->Add(m_MemView, 1, wxALL | wxEXPAND); + mem_panel->SetSizer(mem_sizer); + m_MainNotebook->AddPage(mem_panel, _("Memory")); + + m_Regs = new DSPRegisterView(this); + + // add the panes to the manager + m_mgr.AddPane(m_Toolbar, + wxAuiPaneInfo().ToolbarPane().Top().LeftDockable(false).RightDockable(false)); + + m_mgr.AddPane(m_SymbolList, + wxAuiPaneInfo().Left().CloseButton(false).Caption(_("Symbols")).Dockable(true)); + + m_mgr.AddPane( + m_MainNotebook, + wxAuiPaneInfo().Name("m_MainNotebook").Center().CloseButton(false).MaximizeButton(true)); + + m_mgr.AddPane(m_Regs, + wxAuiPaneInfo().Right().CloseButton(false).Caption(_("Registers")).Dockable(true)); + + UpdateState(); + + m_mgr.Update(); } DSPDebuggerLLE::~DSPDebuggerLLE() { - m_mgr.UnInit(); - m_DebuggerFrame = nullptr; + m_mgr.UnInit(); + m_DebuggerFrame = nullptr; } void DSPDebuggerLLE::OnClose(wxCloseEvent& event) { - event.Skip(); + event.Skip(); } void DSPDebuggerLLE::OnChangeState(wxCommandEvent& event) { - if (DSPCore_GetState() == DSPCORE_STOP) - return; - - switch (event.GetId()) - { - case ID_RUNTOOL: - if (DSPCore_GetState() == DSPCORE_RUNNING) - DSPCore_SetState(DSPCORE_STEPPING); - else - DSPCore_SetState(DSPCORE_RUNNING); - break; - - case ID_STEPTOOL: - if (DSPCore_GetState() == DSPCORE_STEPPING) - { - DSPCore_Step(); - Update(); - } - break; - - case ID_SHOWPCTOOL: - FocusOnPC(); - break; - } - - UpdateState(); - m_mgr.Update(); + if (DSPCore_GetState() == DSPCORE_STOP) + return; + + switch (event.GetId()) + { + case ID_RUNTOOL: + if (DSPCore_GetState() == DSPCORE_RUNNING) + DSPCore_SetState(DSPCORE_STEPPING); + else + DSPCore_SetState(DSPCORE_RUNNING); + break; + + case ID_STEPTOOL: + if (DSPCore_GetState() == DSPCORE_STEPPING) + { + DSPCore_Step(); + Update(); + } + break; + + case ID_SHOWPCTOOL: + FocusOnPC(); + break; + } + + UpdateState(); + m_mgr.Update(); } void Host_RefreshDSPDebuggerWindow() { - if (m_DebuggerFrame) - m_DebuggerFrame->Update(); + if (m_DebuggerFrame) + m_DebuggerFrame->Update(); } void DSPDebuggerLLE::Update() { #if defined __WXGTK__ - if (!wxIsMainThread()) - wxMutexGuiEnter(); + if (!wxIsMainThread()) + wxMutexGuiEnter(); #endif - UpdateSymbolMap(); - UpdateDisAsmListView(); - UpdateRegisterFlags(); - UpdateState(); + UpdateSymbolMap(); + UpdateDisAsmListView(); + UpdateRegisterFlags(); + UpdateState(); #if defined __WXGTK__ - if (!wxIsMainThread()) - wxMutexGuiLeave(); + if (!wxIsMainThread()) + wxMutexGuiLeave(); #endif } void DSPDebuggerLLE::FocusOnPC() { - JumpToAddress(g_dsp.pc); + JumpToAddress(g_dsp.pc); } void DSPDebuggerLLE::UpdateState() { - if (DSPCore_GetState() == DSPCORE_RUNNING) - { - m_Toolbar->SetToolLabel(ID_RUNTOOL, _("Pause")); - m_Toolbar->SetToolBitmap(ID_RUNTOOL, - wxArtProvider::GetBitmap(wxART_TICK_MARK, wxART_OTHER, wxSize(10,10))); - m_Toolbar->EnableTool(ID_STEPTOOL, false); - } - else - { - m_Toolbar->SetToolLabel(ID_RUNTOOL, _("Run")); - m_Toolbar->SetToolBitmap(ID_RUNTOOL, - wxArtProvider::GetBitmap(wxART_GO_FORWARD, wxART_OTHER, wxSize(10,10))); - m_Toolbar->EnableTool(ID_STEPTOOL, true); - } - m_Toolbar->Realize(); + if (DSPCore_GetState() == DSPCORE_RUNNING) + { + m_Toolbar->SetToolLabel(ID_RUNTOOL, _("Pause")); + m_Toolbar->SetToolBitmap( + ID_RUNTOOL, wxArtProvider::GetBitmap(wxART_TICK_MARK, wxART_OTHER, wxSize(10, 10))); + m_Toolbar->EnableTool(ID_STEPTOOL, false); + } + else + { + m_Toolbar->SetToolLabel(ID_RUNTOOL, _("Run")); + m_Toolbar->SetToolBitmap( + ID_RUNTOOL, wxArtProvider::GetBitmap(wxART_GO_FORWARD, wxART_OTHER, wxSize(10, 10))); + m_Toolbar->EnableTool(ID_STEPTOOL, true); + } + m_Toolbar->Realize(); } void DSPDebuggerLLE::UpdateDisAsmListView() { - if (m_CachedStepCounter == g_dsp.step_counter) - return; + if (m_CachedStepCounter == g_dsp.step_counter) + return; - // show PC - FocusOnPC(); - m_CachedStepCounter = g_dsp.step_counter; - m_Regs->Update(); + // show PC + FocusOnPC(); + m_CachedStepCounter = g_dsp.step_counter; + m_Regs->Update(); } void DSPDebuggerLLE::UpdateSymbolMap() { - if (g_dsp.dram == nullptr) - return; - - m_SymbolList->Freeze(); // HyperIris: wx style fast filling - m_SymbolList->Clear(); - for (const auto& symbol : DSPSymbols::g_dsp_symbol_db.Symbols()) - { - int idx = m_SymbolList->Append(StrToWxStr(symbol.second.name)); - m_SymbolList->SetClientData(idx, (void*)&symbol.second); - } - m_SymbolList->Thaw(); + if (g_dsp.dram == nullptr) + return; + + m_SymbolList->Freeze(); // HyperIris: wx style fast filling + m_SymbolList->Clear(); + for (const auto& symbol : DSPSymbols::g_dsp_symbol_db.Symbols()) + { + int idx = m_SymbolList->Append(StrToWxStr(symbol.second.name)); + m_SymbolList->SetClientData(idx, (void*)&symbol.second); + } + m_SymbolList->Thaw(); } void DSPDebuggerLLE::OnSymbolListChange(wxCommandEvent& event) { - int index = m_SymbolList->GetSelection(); - if (index >= 0) - { - Symbol* pSymbol = static_cast(m_SymbolList->GetClientData(index)); - if (pSymbol != nullptr) - { - if (pSymbol->type == Symbol::SYMBOL_FUNCTION) - { - JumpToAddress(pSymbol->address); - } - } - } + int index = m_SymbolList->GetSelection(); + if (index >= 0) + { + Symbol* pSymbol = static_cast(m_SymbolList->GetClientData(index)); + if (pSymbol != nullptr) + { + if (pSymbol->type == Symbol::SYMBOL_FUNCTION) + { + JumpToAddress(pSymbol->address); + } + } + } } void DSPDebuggerLLE::UpdateRegisterFlags() @@ -242,45 +238,44 @@ void DSPDebuggerLLE::UpdateRegisterFlags() void DSPDebuggerLLE::OnAddrBoxChange(wxCommandEvent& event) { - wxString txt = m_addr_txtctrl->GetValue(); - - auto text = StripSpaces(WxStrToStr(txt)); - if (text.size()) - { - u32 addr; - sscanf(text.c_str(), "%04x", &addr); - if (JumpToAddress(addr)) - m_addr_txtctrl->SetBackgroundColour(*wxWHITE); - else - m_addr_txtctrl->SetBackgroundColour(*wxRED); - } - event.Skip(); + wxString txt = m_addr_txtctrl->GetValue(); + + auto text = StripSpaces(WxStrToStr(txt)); + if (text.size()) + { + u32 addr; + sscanf(text.c_str(), "%04x", &addr); + if (JumpToAddress(addr)) + m_addr_txtctrl->SetBackgroundColour(*wxWHITE); + else + m_addr_txtctrl->SetBackgroundColour(*wxRED); + } + event.Skip(); } bool DSPDebuggerLLE::JumpToAddress(u16 addr) { - int page = m_MainNotebook->GetSelection(); - if (page == 0) - { - // Center on valid instruction in IRAM/IROM - int new_line = DSPSymbols::Addr2Line(addr); - if (new_line >= 0) - { - m_CodeView->Center(new_line); - return true; - } - } - else if (page == 1) - { - // Center on any location in any valid ROM/RAM - int seg = addr >> 12; - if (seg == 0 || seg == 1 || - seg == 8 || seg == 0xf) - { - m_MemView->Center(addr); - return true; - } - } - - return false; + int page = m_MainNotebook->GetSelection(); + if (page == 0) + { + // Center on valid instruction in IRAM/IROM + int new_line = DSPSymbols::Addr2Line(addr); + if (new_line >= 0) + { + m_CodeView->Center(new_line); + return true; + } + } + else if (page == 1) + { + // Center on any location in any valid ROM/RAM + int seg = addr >> 12; + if (seg == 0 || seg == 1 || seg == 8 || seg == 0xf) + { + m_MemView->Center(addr); + return true; + } + } + + return false; } -- cgit v1.2.3