mirror of
https://github.com/izzy2lost/dolphin.git
synced 2026-06-19 01:16:48 -07:00
GUI: Save floating setting, float console window
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4216 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@@ -123,13 +123,13 @@ class CCodeWindow
|
||||
bool bAutomaticStart; bool bBootToPause;
|
||||
bool bLogWindow; int iLogWindow;
|
||||
bool bConsoleWindow; int iConsoleWindow;
|
||||
bool bCodeWindow; int iCodeWindow;
|
||||
bool bRegisterWindow; int iRegisterWindow;
|
||||
bool bBreakpointWindow; int iBreakpointWindow;
|
||||
bool bMemoryWindow; int iMemoryWindow;
|
||||
bool bJitWindow; int iJitWindow;
|
||||
bool bSoundWindow; int iSoundWindow;
|
||||
bool bVideoWindow; int iVideoWindow;
|
||||
bool bCodeWindow; int iCodeWindow; bool bFloatCodeWindow;
|
||||
bool bRegisterWindow; int iRegisterWindow; bool bFloatRegisterWindow;
|
||||
bool bBreakpointWindow; int iBreakpointWindow; bool bFloatBreakpointWindow;
|
||||
bool bMemoryWindow; int iMemoryWindow; bool bFloatMemoryWindow;
|
||||
bool bJitWindow; int iJitWindow; bool bFloatJitWindow;
|
||||
bool bSoundWindow; int iSoundWindow; bool bFloatSoundWindow;
|
||||
bool bVideoWindow; int iVideoWindow; bool bFloatVideoWindow;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -113,6 +113,16 @@ void CCodeWindow::Load()
|
||||
ini.Get(_Section.c_str(), "JIT", &iJitWindow, 1);
|
||||
ini.Get(_Section.c_str(), "Sound", &iSoundWindow, 0);
|
||||
ini.Get(_Section.c_str(), "Video", &iVideoWindow, 0);
|
||||
// Get floating setting
|
||||
ini.Get("Float", "Log", &Parent->bFloatLogWindow, false);
|
||||
ini.Get("Float", "Console", &Parent->bFloatConsoleWindow, false);
|
||||
ini.Get("Float", "Code", &bFloatCodeWindow, false);
|
||||
ini.Get("Float", "Registers", &bFloatRegisterWindow, false);
|
||||
ini.Get("Float", "Breakpoints", &bFloatBreakpointWindow, false);
|
||||
ini.Get("Float", "Memory", &bFloatMemoryWindow, false);
|
||||
ini.Get("Float", "JIT", &bFloatJitWindow, false);
|
||||
ini.Get("Float", "Sound", &bFloatSoundWindow, false);
|
||||
ini.Get("Float", "Video", &bFloatVideoWindow, false);
|
||||
|
||||
// Boot to pause or not
|
||||
ini.Get("ShowOnStart", "AutomaticStart", &bAutomaticStart, false);
|
||||
@@ -149,6 +159,16 @@ void CCodeWindow::Save()
|
||||
ini.Set(_Section.c_str(), "JIT", iJitWindow);
|
||||
ini.Set(_Section.c_str(), "Sound", iSoundWindow);
|
||||
ini.Set(_Section.c_str(), "Video", iVideoWindow);
|
||||
// Save floating setting
|
||||
ini.Set("Float", "Log", (bool)FindWindowById(IDM_LOGWINDOW_PARENT));
|
||||
ini.Set("Float", "Console", (bool)FindWindowById(IDM_CONSOLEWINDOW_PARENT));
|
||||
ini.Set("Float", "Code", (bool)FindWindowById(IDM_CODEWINDOW_PARENT));
|
||||
ini.Set("Float", "Registers", (bool)FindWindowById(IDM_REGISTERWINDOW_PARENT));
|
||||
ini.Set("Float", "Breakpoints", (bool)FindWindowById(IDM_BREAKPOINTWINDOW_PARENT));
|
||||
ini.Set("Float", "Memory", (bool)FindWindowById(IDM_MEMORYWINDOW_PARENT));
|
||||
ini.Set("Float", "JIT", (bool)FindWindowById(IDM_JITWINDOW_PARENT));
|
||||
ini.Set("Float", "Sound", (bool)FindWindowById(IDM_SOUNDWINDOW_PARENT));
|
||||
ini.Set("Float", "Video", (bool)FindWindowById(IDM_VIDEOWINDOW_PARENT));
|
||||
|
||||
// Save window settings
|
||||
/*
|
||||
@@ -441,7 +461,7 @@ void CCodeWindow::OnToggleCodeWindow(bool _Show, int i)
|
||||
{
|
||||
if (_Show)
|
||||
{
|
||||
Parent->DoAddPage(this, i, wxT("Code"));
|
||||
Parent->DoAddPage(this, i, wxT("Code"), bFloatCodeWindow);
|
||||
}
|
||||
else // hide
|
||||
Parent->DoRemovePage (this);
|
||||
@@ -451,7 +471,7 @@ void CCodeWindow::OnToggleRegisterWindow(bool _Show, int i)
|
||||
if (_Show)
|
||||
{
|
||||
if (!m_RegisterWindow) m_RegisterWindow = new CRegisterWindow(Parent, IDM_REGISTERWINDOW);
|
||||
Parent->DoAddPage(m_RegisterWindow, i, wxT("Registers"));
|
||||
Parent->DoAddPage(m_RegisterWindow, i, wxT("Registers"), bFloatRegisterWindow);
|
||||
}
|
||||
else // hide
|
||||
Parent->DoRemovePage (m_RegisterWindow);
|
||||
@@ -463,7 +483,7 @@ void CCodeWindow::OnToggleBreakPointWindow(bool _Show, int i)
|
||||
{
|
||||
if (!m_BreakpointWindow) m_BreakpointWindow = new CBreakPointWindow(this, Parent, IDM_BREAKPOINTWINDOW);
|
||||
#ifdef _WIN32
|
||||
Parent->DoAddPage(m_BreakpointWindow, i, wxT("Breakpoints"));
|
||||
Parent->DoAddPage(m_BreakpointWindow, i, wxT("Breakpoints"), bFloatBreakpointWindow);
|
||||
#else
|
||||
m_BreakpointWindow->Show();
|
||||
#endif
|
||||
@@ -483,7 +503,7 @@ void CCodeWindow::OnToggleMemoryWindow(bool _Show, int i)
|
||||
{
|
||||
if (!m_MemoryWindow) m_MemoryWindow = new CMemoryWindow(Parent, IDM_MEMORYWINDOW);
|
||||
#ifdef _WIN32
|
||||
Parent->DoAddPage(m_MemoryWindow, i, wxT("Memory"));
|
||||
Parent->DoAddPage(m_MemoryWindow, i, wxT("Memory"), bFloatMemoryWindow);
|
||||
#else
|
||||
m_MemoryWindow->Show();
|
||||
#endif
|
||||
@@ -503,7 +523,7 @@ void CCodeWindow::OnToggleJitWindow(bool _Show, int i)
|
||||
{
|
||||
if (!m_JitWindow) m_JitWindow = new CJitWindow(Parent, IDM_JITWINDOW);
|
||||
#ifdef _WIN32
|
||||
Parent->DoAddPage(m_JitWindow, i, wxT("JIT"));
|
||||
Parent->DoAddPage(m_JitWindow, i, wxT("JIT"), bFloatJitWindow);
|
||||
#else
|
||||
m_JitWindow->Show();
|
||||
#endif
|
||||
|
||||
@@ -328,7 +328,8 @@ CFrame::CFrame(wxFrame* parent,
|
||||
: wxFrame(parent, id, title, pos, size, style), g_pCodeWindow(NULL)
|
||||
, m_LogWindow(NULL), m_MenuBar(NULL), m_ToolBar(NULL), m_ToolBarDebug(NULL), m_ToolBarAui(NULL)
|
||||
, m_pStatusBar(NULL), m_GameListCtrl(NULL), m_Panel(NULL)
|
||||
, UseDebugger(_UseDebugger), m_bEdit(false), m_bTabSplit(false), m_bNoDocking(false), bRenderToMain(true)
|
||||
, UseDebugger(_UseDebugger), m_bEdit(false), m_bTabSplit(false), m_bNoDocking(false)
|
||||
, bRenderToMain(true), bFloatLogWindow(false), bFloatConsoleWindow(false)
|
||||
, HaveLeds(false), HaveSpeakers(false)
|
||||
, m_fLastClickTime(0), m_iLastMotionTime(0), LastMouseX(0), LastMouseY(0)
|
||||
#if wxUSE_TIMER
|
||||
@@ -344,7 +345,7 @@ CFrame::CFrame(wxFrame* parent,
|
||||
if (SConfig::GetInstance().m_InterfaceLogWindow) m_LogWindow = new CLogWindow(this, IDM_LOGWINDOW);
|
||||
|
||||
// Start debugging mazimized
|
||||
if (UseDebugger) this->Maximize(true);
|
||||
//if (UseDebugger) this->Maximize(true);
|
||||
// Debugger class
|
||||
if (UseDebugger)
|
||||
{
|
||||
@@ -782,9 +783,42 @@ void CFrame::Update()
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// --------
|
||||
// Functions
|
||||
|
||||
|
||||
wxFrame * CFrame::CreateParentFrame(wxWindowID Id, const wxString& Title, wxWindow * Child)
|
||||
{
|
||||
//NOTICE_LOG(CONSOLE, "CreateParentFrame: %i %s %i", Id, Title.mb_str(), Child->GetId())
|
||||
|
||||
wxFrame * Frame = new wxFrame(this, Id, Title);
|
||||
|
||||
Child->Reparent(Frame);
|
||||
Child->Show();
|
||||
|
||||
wxBoxSizer * m_MainSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
m_MainSizer->Add(Child, 1, wxEXPAND);
|
||||
|
||||
Frame->Connect(wxID_ANY, wxEVT_CLOSE_WINDOW,
|
||||
wxCloseEventHandler(CFrame::OnFloatingPageClosed),
|
||||
(wxObject*)0, this);
|
||||
|
||||
if (Id == IDM_CONSOLEWINDOW_PARENT)
|
||||
{
|
||||
Frame->Connect(wxID_ANY, wxEVT_SIZE,
|
||||
wxSizeEventHandler(CFrame::OnFloatingPageSize),
|
||||
(wxObject*)0, this);
|
||||
}
|
||||
|
||||
// Main sizer
|
||||
Frame->SetSizer( m_MainSizer );
|
||||
// Minimum frame size
|
||||
Frame->SetMinSize(wxSize(200, -1));
|
||||
Frame->Show();
|
||||
return Frame;
|
||||
}
|
||||
wxPanel* CFrame::CreateEmptyPanel(wxWindowID Id)
|
||||
{
|
||||
wxPanel* Panel = new wxPanel(this, Id);
|
||||
|
||||
@@ -104,6 +104,8 @@ class CFrame : public wxFrame
|
||||
wxAuiToolBar *m_ToolBar, *m_ToolBarDebug, *m_ToolBarAui;
|
||||
long NOTEBOOK_STYLE, TOOLBAR_STYLE;
|
||||
int iLeftWidth[2], iMidWidth[2];
|
||||
bool bFloatLogWindow;
|
||||
bool bFloatConsoleWindow;
|
||||
|
||||
// Utility
|
||||
wxWindow * GetWxWindow(wxString);
|
||||
@@ -114,6 +116,7 @@ class CFrame : public wxFrame
|
||||
wxWindow * GetNootebookPage(wxString);
|
||||
wxWindow * GetNootebookPageFromId(wxWindowID Id);
|
||||
wxAuiNotebook * GetNotebookFromId(u32);
|
||||
wxWindowID WindowParentIdFromChildId(int Id);
|
||||
wxString WindowNameFromId(int Id);
|
||||
int GetNotebookCount();
|
||||
int Limit(int,int,int);
|
||||
@@ -134,13 +137,10 @@ class CFrame : public wxFrame
|
||||
void ShowAllNotebooks(bool Window = false);
|
||||
void HideAllNotebooks(bool Window = false);
|
||||
void CloseAllNotebooks();
|
||||
void DoAddPage(wxWindow *, int, wxString);
|
||||
void DoAddPage(wxWindow *, int, wxString, bool);
|
||||
void DoRemovePage(wxWindow *, bool Hide = true);
|
||||
void DoRemovePageId(wxWindowID Id, bool Hide = true, bool Destroy = false);
|
||||
void DoRemovePageString(wxString, bool Hide = true, bool Destroy = false);
|
||||
void DoUnfloatPage(int Id);
|
||||
void OnFloatingPageClosed(wxCloseEvent& event);
|
||||
void DoFloatPage(wxWindow * Win);
|
||||
wxFrame * CreateParentFrame(wxWindowID Id = wxID_ANY, const wxString& title = wxT(""), wxWindow * = NULL);
|
||||
void HidePane();
|
||||
void SetSimplePaneSize();
|
||||
void SetPaneSize();
|
||||
@@ -148,6 +148,12 @@ class CFrame : public wxFrame
|
||||
void TogglePaneStyle(bool,int);
|
||||
void ToggleNotebookStyle(long);
|
||||
void ResizeConsole();
|
||||
// Float window
|
||||
void DoUnfloatPage(int Id);
|
||||
void OnFloatingPageClosed(wxCloseEvent& event);
|
||||
void OnFloatingPageSize(wxSizeEvent& event);
|
||||
void DoFloatNotebookPage(wxWindowID Id);
|
||||
wxFrame * CreateParentFrame(wxWindowID Id = wxID_ANY, const wxString& title = wxT(""), wxWindow * = NULL);
|
||||
// User perspectives
|
||||
struct SPerspectives
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -198,6 +198,16 @@ enum
|
||||
IDM_PERSPECTIVES_100 = IDM_PERSPECTIVES_0 + 100,
|
||||
// --------------------------------------------------------------
|
||||
|
||||
IDM_LOGWINDOW_PARENT, // Window IDs
|
||||
IDM_CONSOLEWINDOW_PARENT,
|
||||
IDM_CODEWINDOW_PARENT,
|
||||
IDM_REGISTERWINDOW_PARENT,
|
||||
IDM_BREAKPOINTWINDOW_PARENT,
|
||||
IDM_MEMORYWINDOW_PARENT,
|
||||
IDM_JITWINDOW_PARENT,
|
||||
IDM_SOUNDWINDOW_PARENT,
|
||||
IDM_VIDEOWINDOW_PARENT,
|
||||
|
||||
IDM_TOGGLE_DUALCORE, // Other
|
||||
IDM_TOGGLE_SKIPIDLE,
|
||||
IDM_TOGGLE_TOOLBAR,
|
||||
|
||||
Reference in New Issue
Block a user