mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-25 15:19:42 -06:00
Wx: Implement the new debugger icons
This commit is contained in:
@ -35,20 +35,12 @@ public:
|
||||
: DolphinAuiToolBar(parent, id, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_TEXT)
|
||||
{
|
||||
wxSize bitmap_size = FromDIP(wxSize(24, 24));
|
||||
SetToolBitmapSize(bitmap_size);
|
||||
|
||||
static const std::array<const char* const, Num_Bitmaps> image_names{
|
||||
{"toolbar_debugger_delete", "toolbar_add_breakpoint", "toolbar_add_memorycheck"}};
|
||||
for (std::size_t i = 0; i < image_names.size(); ++i)
|
||||
m_Bitmaps[i] =
|
||||
WxUtils::LoadScaledResourceBitmap(image_names[i], this, bitmap_size, wxDefaultSize,
|
||||
WxUtils::LSI_SCALE_DOWN | WxUtils::LSI_ALIGN_CENTER);
|
||||
InitializeThemedBitmaps();
|
||||
|
||||
AddTool(ID_DELETE, _("Delete"), m_Bitmaps[Toolbar_Delete]);
|
||||
Bind(wxEVT_TOOL, &CBreakPointWindow::OnDelete, parent, ID_DELETE);
|
||||
|
||||
AddTool(ID_CLEAR, _("Clear"), m_Bitmaps[Toolbar_Delete]);
|
||||
AddTool(ID_CLEAR, _("Clear"), m_Bitmaps[Toolbar_Clear]);
|
||||
Bind(wxEVT_TOOL, &CBreakPointWindow::OnClear, parent, ID_CLEAR);
|
||||
|
||||
AddTool(ID_ADDBP, "+BP", m_Bitmaps[Toolbar_Add_BP]);
|
||||
@ -57,32 +49,64 @@ public:
|
||||
AddTool(ID_ADDMC, "+MBP", m_Bitmaps[Toolbar_Add_MC]);
|
||||
Bind(wxEVT_TOOL, &CBreakPointWindow::OnAddMemoryCheck, parent, ID_ADDMC);
|
||||
|
||||
AddTool(ID_LOAD, _("Load"), m_Bitmaps[Toolbar_Delete]);
|
||||
AddTool(ID_LOAD, _("Load"), m_Bitmaps[Toolbar_Load]);
|
||||
Bind(wxEVT_TOOL, &CBreakPointWindow::Event_LoadAll, parent, ID_LOAD);
|
||||
|
||||
AddTool(ID_SAVE, _("Save"), m_Bitmaps[Toolbar_Delete]);
|
||||
AddTool(ID_SAVE, _("Save"), m_Bitmaps[Toolbar_Save]);
|
||||
Bind(wxEVT_TOOL, &CBreakPointWindow::Event_SaveAll, parent, ID_SAVE);
|
||||
}
|
||||
|
||||
void ReloadBitmaps()
|
||||
{
|
||||
Freeze();
|
||||
|
||||
InitializeThemedBitmaps();
|
||||
for (int i = 0; i < ID_NUM; ++i)
|
||||
SetToolBitmap(i, m_Bitmaps[i]);
|
||||
|
||||
Thaw();
|
||||
}
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
Toolbar_Delete,
|
||||
Toolbar_Delete = 0,
|
||||
Toolbar_Clear,
|
||||
Toolbar_Add_BP,
|
||||
Toolbar_Add_MC,
|
||||
Toolbar_Load,
|
||||
Toolbar_Save,
|
||||
Num_Bitmaps
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
ID_DELETE = 2000,
|
||||
ID_DELETE = 0,
|
||||
ID_CLEAR,
|
||||
ID_ADDBP,
|
||||
ID_ADDMC,
|
||||
ID_LOAD,
|
||||
ID_SAVE
|
||||
ID_SAVE,
|
||||
ID_NUM
|
||||
};
|
||||
|
||||
void InitializeThemedBitmaps()
|
||||
{
|
||||
wxSize bitmap_size = FromDIP(wxSize(24, 24));
|
||||
SetToolBitmapSize(bitmap_size);
|
||||
|
||||
static const std::array<const char* const, Num_Bitmaps> m_image_names{
|
||||
{"debugger_delete", "debugger_clear", "debugger_add_breakpoint", "debugger_add_memorycheck",
|
||||
"debugger_load", "debugger_save"}};
|
||||
|
||||
for (std::size_t i = 0; i < m_image_names.size(); ++i)
|
||||
{
|
||||
m_Bitmaps[i] =
|
||||
WxUtils::LoadScaledThemeBitmap(m_image_names[i], this, bitmap_size, wxDefaultSize,
|
||||
WxUtils::LSI_SCALE_DOWN | WxUtils::LSI_ALIGN_CENTER);
|
||||
}
|
||||
}
|
||||
|
||||
wxBitmap m_Bitmaps[Num_Bitmaps];
|
||||
};
|
||||
|
||||
@ -97,13 +121,15 @@ CBreakPointWindow::CBreakPointWindow(CCodeWindow* _pCodeWindow, wxWindow* parent
|
||||
m_BreakPointListView = new CBreakPointView(this, wxID_ANY);
|
||||
m_BreakPointListView->Bind(wxEVT_LIST_ITEM_SELECTED, &CBreakPointWindow::OnSelectBP, this);
|
||||
|
||||
m_mgr.AddPane(new CBreakPointBar(this, wxID_ANY), wxAuiPaneInfo()
|
||||
.ToolbarPane()
|
||||
.Top()
|
||||
.LeftDockable(true)
|
||||
.RightDockable(true)
|
||||
.BottomDockable(false)
|
||||
.Floatable(false));
|
||||
m_breakpointBar = new CBreakPointBar(this, wxID_ANY);
|
||||
|
||||
m_mgr.AddPane(m_breakpointBar, wxAuiPaneInfo()
|
||||
.ToolbarPane()
|
||||
.Top()
|
||||
.LeftDockable(true)
|
||||
.RightDockable(true)
|
||||
.BottomDockable(false)
|
||||
.Floatable(false));
|
||||
m_mgr.AddPane(m_BreakPointListView, wxAuiPaneInfo().CenterPane());
|
||||
m_mgr.Update();
|
||||
}
|
||||
@ -118,6 +144,11 @@ void CBreakPointWindow::NotifyUpdate()
|
||||
m_BreakPointListView->Repopulate();
|
||||
}
|
||||
|
||||
void CBreakPointWindow::ReloadBitmaps()
|
||||
{
|
||||
m_breakpointBar->ReloadBitmaps();
|
||||
}
|
||||
|
||||
void CBreakPointWindow::OnDelete(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
m_BreakPointListView->DeleteCurrentSelection();
|
||||
|
@ -10,6 +10,7 @@
|
||||
class CBreakPointView;
|
||||
class CCodeWindow;
|
||||
class wxListEvent;
|
||||
class CBreakPointBar;
|
||||
|
||||
class CBreakPointWindow : public wxPanel
|
||||
{
|
||||
@ -23,6 +24,7 @@ public:
|
||||
void NotifyUpdate();
|
||||
void SaveAll();
|
||||
void LoadAll();
|
||||
void ReloadBitmaps();
|
||||
|
||||
private:
|
||||
friend class CBreakPointBar;
|
||||
@ -38,4 +40,5 @@ private:
|
||||
wxAuiManager m_mgr;
|
||||
CBreakPointView* m_BreakPointListView;
|
||||
CCodeWindow* m_pCodeWindow;
|
||||
CBreakPointBar* m_breakpointBar;
|
||||
};
|
||||
|
@ -178,6 +178,13 @@ void CCodeWindow::OnHostMessage(wxCommandEvent& event)
|
||||
case IDM_UPDATE_JIT_PANE:
|
||||
RequirePanel<CJitWindow>()->ViewAddr(codeview->GetSelection());
|
||||
break;
|
||||
|
||||
case IDM_RELOAD_THEME_BITMAPS:
|
||||
if (HasPanel<CBreakPointWindow>())
|
||||
GetPanel<CBreakPointWindow>()->ReloadBitmaps();
|
||||
if (HasPanel<CWatchWindow>())
|
||||
GetPanel<CWatchWindow>()->ReloadBitmaps();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,33 +25,57 @@ public:
|
||||
: DolphinAuiToolBar(parent, id, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_TEXT)
|
||||
{
|
||||
wxSize bitmap_size = FromDIP(wxSize(16, 16));
|
||||
SetToolBitmapSize(bitmap_size);
|
||||
InitialiseThemedBitmaps();
|
||||
|
||||
m_Bitmaps[Toolbar_File] = WxUtils::LoadScaledResourceBitmap(
|
||||
"toolbar_debugger_delete", this, bitmap_size, wxDefaultSize,
|
||||
WxUtils::LSI_SCALE_DOWN | WxUtils::LSI_ALIGN_CENTER);
|
||||
|
||||
AddTool(ID_LOAD, _("Load"), m_Bitmaps[Toolbar_File]);
|
||||
AddTool(ID_LOAD, _("Load"), m_Bitmaps[Toolbar_Load]);
|
||||
Bind(wxEVT_TOOL, &CWatchWindow::Event_LoadAll, parent, ID_LOAD);
|
||||
|
||||
AddTool(ID_SAVE, _("Save"), m_Bitmaps[Toolbar_File]);
|
||||
AddTool(ID_SAVE, _("Save"), m_Bitmaps[Toolbar_Save]);
|
||||
Bind(wxEVT_TOOL, &CWatchWindow::Event_SaveAll, parent, ID_SAVE);
|
||||
}
|
||||
|
||||
void ReloadBitmaps()
|
||||
{
|
||||
Freeze();
|
||||
|
||||
InitialiseThemedBitmaps();
|
||||
for (int i = 0; i < ID_NUM; ++i)
|
||||
SetToolBitmap(i, m_Bitmaps[i]);
|
||||
|
||||
Thaw();
|
||||
}
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
Toolbar_File,
|
||||
Toolbar_Load,
|
||||
Toolbar_Save,
|
||||
Num_Bitmaps
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
ID_LOAD,
|
||||
ID_SAVE
|
||||
ID_LOAD = 0,
|
||||
ID_SAVE,
|
||||
ID_NUM
|
||||
};
|
||||
|
||||
void InitialiseThemedBitmaps()
|
||||
{
|
||||
wxSize bitmap_size = FromDIP(wxSize(24, 24));
|
||||
SetToolBitmapSize(bitmap_size);
|
||||
|
||||
static const std::array<const char* const, Num_Bitmaps> m_image_names{
|
||||
{"debugger_load", "debugger_save"}};
|
||||
|
||||
for (std::size_t i = 0; i < m_image_names.size(); ++i)
|
||||
{
|
||||
m_Bitmaps[i] =
|
||||
WxUtils::LoadScaledThemeBitmap(m_image_names[i], this, bitmap_size, wxDefaultSize,
|
||||
WxUtils::LSI_SCALE_DOWN | WxUtils::LSI_ALIGN_CENTER);
|
||||
}
|
||||
}
|
||||
|
||||
wxBitmap m_Bitmaps[Num_Bitmaps];
|
||||
};
|
||||
|
||||
@ -64,13 +88,15 @@ CWatchWindow::CWatchWindow(wxWindow* parent, wxWindowID id, const wxPoint& posit
|
||||
|
||||
m_GPRGridView = new CWatchView(this);
|
||||
|
||||
m_mgr.AddPane(new CWatchToolbar(this, wxID_ANY), wxAuiPaneInfo()
|
||||
.ToolbarPane()
|
||||
.Top()
|
||||
.LeftDockable(true)
|
||||
.RightDockable(true)
|
||||
.BottomDockable(false)
|
||||
.Floatable(false));
|
||||
m_watch_toolbar = new CWatchToolbar(this, wxID_ANY);
|
||||
|
||||
m_mgr.AddPane(m_watch_toolbar, wxAuiPaneInfo()
|
||||
.ToolbarPane()
|
||||
.Top()
|
||||
.LeftDockable(true)
|
||||
.RightDockable(true)
|
||||
.BottomDockable(false)
|
||||
.Floatable(false));
|
||||
m_mgr.AddPane(m_GPRGridView, wxAuiPaneInfo().CenterPane());
|
||||
m_mgr.Update();
|
||||
}
|
||||
@ -124,3 +150,8 @@ void CWatchWindow::LoadAll()
|
||||
|
||||
NotifyUpdate();
|
||||
}
|
||||
|
||||
void CWatchWindow::ReloadBitmaps()
|
||||
{
|
||||
m_watch_toolbar->ReloadBitmaps();
|
||||
}
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include <wx/panel.h>
|
||||
|
||||
class CWatchView;
|
||||
class CWatchToolbar;
|
||||
|
||||
class CWatchWindow : public wxPanel
|
||||
{
|
||||
@ -24,8 +25,10 @@ public:
|
||||
void SaveAll();
|
||||
void Event_LoadAll(wxCommandEvent& WXUNUSED(event));
|
||||
void LoadAll();
|
||||
void ReloadBitmaps();
|
||||
|
||||
private:
|
||||
CWatchToolbar* m_watch_toolbar;
|
||||
wxAuiManager m_mgr;
|
||||
|
||||
// Owned by wx. Deleted implicitly upon destruction.
|
||||
|
Reference in New Issue
Block a user