diff options
| author | Léo Lam <leo@innovatetechnologi.es> | 2016-12-04 14:47:08 +0100 |
|---|---|---|
| committer | Léo Lam <leo@innovatetechnologi.es> | 2016-12-04 18:18:07 +0100 |
| commit | 59abfee11d4a08e10a00f8db6c2bcc2476f5423a (patch) | |
| tree | 01331dbf882ab228cd566b9cd64eee8d55e3e92d /Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp | |
| parent | 827de2ed06e54a46b75662097255d2a601d1875c (diff) | |
DolphinWX: Add ability to filter symbols (by name)
This allows the user to filter symbols by name, instead of having to
scroll through a very, very long listbox…
Diffstat (limited to 'Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp')
| -rw-r--r-- | Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp b/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp index 3206721851..745d40202f 100644 --- a/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp +++ b/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp @@ -14,6 +14,7 @@ #include <wx/listbox.h> #include <wx/menu.h> #include <wx/mimetype.h> +#include <wx/srchctrl.h> #include <wx/textdlg.h> #include "Common/CommonPaths.h" @@ -398,20 +399,28 @@ void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event) } } -void CCodeWindow::NotifyMapLoaded() +void CCodeWindow::ReloadSymbolListBox() { - if (!codeview) - return; - - g_symbolDB.FillInCallers(); symbols->Freeze(); // HyperIris: wx style fast filling symbols->Clear(); + const wxString filtering_string = m_symbol_filter_ctrl->GetValue().Trim().Trim(false); for (const auto& symbol : g_symbolDB.Symbols()) { + if (symbol.second.name.find(filtering_string) == std::string::npos) + continue; int idx = symbols->Append(StrToWxStr(symbol.second.name)); symbols->SetClientData(idx, (void*)&symbol.second); } symbols->Thaw(); +} + +void CCodeWindow::NotifyMapLoaded() +{ + if (!codeview) + return; + + g_symbolDB.FillInCallers(); + ReloadSymbolListBox(); Repopulate(); } |
