mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-29 16:37:03 +00:00
55 lines
1.6 KiB
C++
55 lines
1.6 KiB
C++
#include "gui/wxgui.h"
|
|
#include "gui/guiWrapper.h"
|
|
#include "gui/debugger/SymbolWindow.h"
|
|
#include "gui/debugger/DebuggerWindow2.h"
|
|
#include "Cafe/HW/Espresso/Debugger/Debugger.h"
|
|
#include "Cafe/OS/RPL/rpl_symbol_storage.h"
|
|
|
|
enum ItemColumns
|
|
{
|
|
ColumnName = 0,
|
|
ColumnAddress,
|
|
ColumnModule,
|
|
};
|
|
|
|
SymbolWindow::SymbolWindow(DebuggerWindow2& parent, const wxPoint& main_position, const wxSize& main_size)
|
|
: wxFrame(&parent, wxID_ANY, wxT("Symbol Window"), wxDefaultPosition, wxSize(600, 250), wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN | wxRESIZE_BORDER | wxFRAME_FLOAT_ON_PARENT)
|
|
{
|
|
this->wxWindowBase::SetBackgroundColour(*wxWHITE);
|
|
|
|
wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL);
|
|
m_symbol_ctrl = new SymbolListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize);
|
|
main_sizer->Add(m_symbol_ctrl, 1, wxEXPAND);
|
|
|
|
m_filter = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_NO_VSCROLL);
|
|
m_filter->Bind(wxEVT_TEXT, &SymbolWindow::OnFilterChanged, this);
|
|
main_sizer->Add(m_filter, 0, wxALL | wxEXPAND, 5);
|
|
|
|
this->SetSizer(main_sizer);
|
|
this->wxWindowBase::Layout();
|
|
|
|
this->Centre(wxHORIZONTAL);
|
|
|
|
if (parent.GetConfig().data().pin_to_main)
|
|
OnMainMove(main_position, main_size);
|
|
}
|
|
|
|
void SymbolWindow::OnMainMove(const wxPoint& main_position, const wxSize& main_size)
|
|
{
|
|
wxSize size(420, 250);
|
|
this->SetSize(size);
|
|
|
|
wxPoint position = main_position;
|
|
position.x -= 420;
|
|
this->SetPosition(position);
|
|
}
|
|
|
|
void SymbolWindow::OnGameLoaded()
|
|
{
|
|
m_symbol_ctrl->OnGameLoaded();
|
|
}
|
|
|
|
void SymbolWindow::OnFilterChanged(wxCommandEvent& event)
|
|
{
|
|
m_symbol_ctrl->ChangeListFilter(m_filter->GetValue().ToStdString());
|
|
}
|