Fix a few issues with the size of the logger pane.
Also some other general clean up issues. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7401 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
ae9de182f3
commit
c39e3c17e1
|
@ -385,23 +385,14 @@ CFrame::CFrame(wxFrame* parent,
|
||||||
// Could just check for wxWidgets version if it becomes a problem.
|
// Could just check for wxWidgets version if it becomes a problem.
|
||||||
m_Mgr = new wxAuiManager(this, wxAUI_MGR_DEFAULT | wxAUI_MGR_LIVE_RESIZE);
|
m_Mgr = new wxAuiManager(this, wxAUI_MGR_DEFAULT | wxAUI_MGR_LIVE_RESIZE);
|
||||||
|
|
||||||
if (g_pCodeWindow)
|
|
||||||
{
|
|
||||||
m_Mgr->AddPane(m_Panel, wxAuiPaneInfo()
|
|
||||||
.Name(_T("Pane 0")).Caption(_T("Pane 0"))
|
|
||||||
.CenterPane().PaneBorder(false).Show());
|
|
||||||
AuiFullscreen = m_Mgr->SavePerspective();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_Mgr->AddPane(m_Panel, wxAuiPaneInfo()
|
m_Mgr->AddPane(m_Panel, wxAuiPaneInfo()
|
||||||
.Name(_T("Pane 0")).Caption(_T("Pane 0")).PaneBorder(false)
|
.Name(_T("Pane 0")).Caption(_T("Pane 0")).PaneBorder(false)
|
||||||
.CaptionVisible(false).Layer(0).Center().Show());
|
.CaptionVisible(false).Layer(0).Center().Show());
|
||||||
|
if (!g_pCodeWindow)
|
||||||
m_Mgr->AddPane(CreateEmptyNotebook(), wxAuiPaneInfo()
|
m_Mgr->AddPane(CreateEmptyNotebook(), wxAuiPaneInfo()
|
||||||
.Name(_T("Pane 1")).Caption(_("Logging")).CaptionVisible(true)
|
.Name(_T("Pane 1")).Caption(_("Logging")).CaptionVisible(true)
|
||||||
.Layer(0).FloatingSize(wxSize(600, 350)).CloseButton(true).Hide());
|
.Layer(0).FloatingSize(wxSize(600, 350)).CloseButton(true).Hide());
|
||||||
AuiFullscreen = m_Mgr->SavePerspective();
|
AuiFullscreen = m_Mgr->SavePerspective();
|
||||||
}
|
|
||||||
|
|
||||||
// Create toolbar
|
// Create toolbar
|
||||||
RecreateToolbar();
|
RecreateToolbar();
|
||||||
|
@ -535,7 +526,12 @@ void CFrame::OnClose(wxCloseEvent& event)
|
||||||
// Save GUI settings
|
// Save GUI settings
|
||||||
if (g_pCodeWindow) SaveIniPerspectives();
|
if (g_pCodeWindow) SaveIniPerspectives();
|
||||||
// Close the log window now so that its settings are saved
|
// Close the log window now so that its settings are saved
|
||||||
else m_LogWindow->Close();
|
else
|
||||||
|
{
|
||||||
|
m_LogWindow->Close();
|
||||||
|
m_LogWindow = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Uninit
|
// Uninit
|
||||||
m_Mgr->UnInit();
|
m_Mgr->UnInit();
|
||||||
|
@ -582,6 +578,13 @@ void CFrame::OnResize(wxSizeEvent& event)
|
||||||
SConfig::GetInstance().m_LocalCoreStartupParameter.iWidth = GetSize().GetWidth();
|
SConfig::GetInstance().m_LocalCoreStartupParameter.iWidth = GetSize().GetWidth();
|
||||||
SConfig::GetInstance().m_LocalCoreStartupParameter.iHeight = GetSize().GetHeight();
|
SConfig::GetInstance().m_LocalCoreStartupParameter.iHeight = GetSize().GetHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Make sure the logger pane is a sane size
|
||||||
|
if (!g_pCodeWindow && m_LogWindow && m_Mgr->GetPane(_T("Pane 1")).IsShown() &&
|
||||||
|
!m_Mgr->GetPane(_T("Pane 1")).IsFloating() &&
|
||||||
|
(m_LogWindow->x > GetClientRect().GetWidth() ||
|
||||||
|
m_LogWindow->y > GetClientRect().GetHeight()))
|
||||||
|
ShowResizePane();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Host messages
|
// Host messages
|
||||||
|
|
|
@ -238,6 +238,7 @@ private:
|
||||||
int GetNotebookAffiliation(wxWindowID Id);
|
int GetNotebookAffiliation(wxWindowID Id);
|
||||||
void ClosePages();
|
void ClosePages();
|
||||||
void CloseAllNotebooks();
|
void CloseAllNotebooks();
|
||||||
|
void ShowResizePane();
|
||||||
void TogglePane();
|
void TogglePane();
|
||||||
void SetPaneSize();
|
void SetPaneSize();
|
||||||
void ResetToolbarStyle();
|
void ResetToolbarStyle();
|
||||||
|
|
|
@ -29,6 +29,14 @@
|
||||||
|
|
||||||
void CFrame::OnManagerResize(wxAuiManagerEvent& event)
|
void CFrame::OnManagerResize(wxAuiManagerEvent& event)
|
||||||
{
|
{
|
||||||
|
if (!g_pCodeWindow && m_LogWindow &&
|
||||||
|
m_Mgr->GetPane(_T("Pane 1")).IsShown() &&
|
||||||
|
!m_Mgr->GetPane(_T("Pane 1")).IsFloating())
|
||||||
|
{
|
||||||
|
m_LogWindow->x = m_Mgr->GetPane(_T("Pane 1")).rect.GetWidth();
|
||||||
|
m_LogWindow->y = m_Mgr->GetPane(_T("Pane 1")).rect.GetHeight();
|
||||||
|
m_LogWindow->winpos = m_Mgr->GetPane(_T("Pane 1")).dock_direction;
|
||||||
|
}
|
||||||
event.Skip();
|
event.Skip();
|
||||||
ResizeConsole();
|
ResizeConsole();
|
||||||
}
|
}
|
||||||
|
@ -76,6 +84,9 @@ void CFrame::OnPaneClose(wxAuiManagerEvent& event)
|
||||||
|
|
||||||
void CFrame::ToggleLogWindow(bool bShow)
|
void CFrame::ToggleLogWindow(bool bShow)
|
||||||
{
|
{
|
||||||
|
if (!m_LogWindow)
|
||||||
|
return;
|
||||||
|
|
||||||
GetMenuBar()->FindItem(IDM_LOGWINDOW)->Check(bShow);
|
GetMenuBar()->FindItem(IDM_LOGWINDOW)->Check(bShow);
|
||||||
|
|
||||||
if (bShow)
|
if (bShow)
|
||||||
|
@ -378,6 +389,32 @@ void CFrame::OnAllowNotebookDnD(wxAuiNotebookEvent& event)
|
||||||
ResizeConsole();
|
ResizeConsole();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CFrame::ShowResizePane()
|
||||||
|
{
|
||||||
|
if (!m_LogWindow) return;
|
||||||
|
|
||||||
|
// Make sure the size is sane
|
||||||
|
if (m_LogWindow->x > GetClientRect().GetWidth())
|
||||||
|
m_LogWindow->x = GetClientRect().GetWidth() / 2;
|
||||||
|
if (m_LogWindow->y > GetClientRect().GetHeight())
|
||||||
|
m_LogWindow->y = GetClientRect().GetHeight() / 2;
|
||||||
|
|
||||||
|
wxAuiPaneInfo &pane = m_Mgr->GetPane(wxT("Pane 1"));
|
||||||
|
|
||||||
|
// Hide first otherwise a resize doesn't work
|
||||||
|
pane.Hide();
|
||||||
|
m_Mgr->Update();
|
||||||
|
|
||||||
|
pane.BestSize(m_LogWindow->x, m_LogWindow->y)
|
||||||
|
.MinSize(m_LogWindow->x, m_LogWindow->y)
|
||||||
|
.Direction(m_LogWindow->winpos).Show();
|
||||||
|
m_Mgr->Update();
|
||||||
|
|
||||||
|
// Reset the minimum size of the pane
|
||||||
|
pane.MinSize(-1, -1);
|
||||||
|
m_Mgr->Update();
|
||||||
|
}
|
||||||
|
|
||||||
void CFrame::TogglePane()
|
void CFrame::TogglePane()
|
||||||
{
|
{
|
||||||
// Get the first notebook
|
// Get the first notebook
|
||||||
|
@ -391,22 +428,11 @@ void CFrame::TogglePane()
|
||||||
{
|
{
|
||||||
if (NB->GetPageCount() == 0)
|
if (NB->GetPageCount() == 0)
|
||||||
{
|
{
|
||||||
m_LogWindow->x = m_Mgr->GetPane(_T("Pane 1")).rect.GetWidth();
|
|
||||||
m_LogWindow->y = m_Mgr->GetPane(_T("Pane 1")).rect.GetHeight();
|
|
||||||
m_LogWindow->winpos = m_Mgr->GetPane(_T("Pane 1")).dock_direction;
|
|
||||||
m_Mgr->GetPane(_T("Pane 1")).Hide();
|
m_Mgr->GetPane(_T("Pane 1")).Hide();
|
||||||
|
m_Mgr->Update();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
ShowResizePane();
|
||||||
m_Mgr->GetPane(_T("Pane 1")).BestSize(m_LogWindow->x, m_LogWindow->y)
|
|
||||||
.MinSize(m_LogWindow->x, m_LogWindow->y)
|
|
||||||
.Direction(m_LogWindow->winpos).Show();
|
|
||||||
m_Mgr->Update();
|
|
||||||
|
|
||||||
// Reset the minimum size of the pane
|
|
||||||
m_Mgr->GetPane(_T("Pane 1")).MinSize(-1, -1);
|
|
||||||
}
|
|
||||||
m_Mgr->Update();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,6 @@ BEGIN_EVENT_TABLE(CLogWindow, wxPanel)
|
||||||
EVT_CHOICE(IDM_FONT, CLogWindow::OnFontChange)
|
EVT_CHOICE(IDM_FONT, CLogWindow::OnFontChange)
|
||||||
EVT_CHECKBOX(IDM_WRAPLINE, CLogWindow::OnWrapLineCheck)
|
EVT_CHECKBOX(IDM_WRAPLINE, CLogWindow::OnWrapLineCheck)
|
||||||
EVT_TIMER(IDTM_UPDATELOG, CLogWindow::OnLogTimer)
|
EVT_TIMER(IDTM_UPDATELOG, CLogWindow::OnLogTimer)
|
||||||
EVT_SIZE(CLogWindow::OnSize)
|
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
CLogWindow::CLogWindow(CFrame *parent, wxWindowID id, const wxPoint& pos,
|
CLogWindow::CLogWindow(CFrame *parent, wxWindowID id, const wxPoint& pos,
|
||||||
|
@ -172,18 +171,6 @@ void CLogWindow::OnClose(wxCloseEvent& event)
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CLogWindow::OnSize(wxSizeEvent& event)
|
|
||||||
{
|
|
||||||
if (!Parent->g_pCodeWindow &&
|
|
||||||
Parent->m_Mgr->GetPane(wxT("Pane 1")).IsShown())
|
|
||||||
{
|
|
||||||
x = Parent->m_Mgr->GetPane(wxT("Pane 1")).rect.GetWidth();
|
|
||||||
y = Parent->m_Mgr->GetPane(wxT("Pane 1")).rect.GetHeight();
|
|
||||||
winpos = Parent->m_Mgr->GetPane(wxT("Pane 1")).dock_direction;
|
|
||||||
}
|
|
||||||
event.Skip();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CLogWindow::SaveSettings()
|
void CLogWindow::SaveSettings()
|
||||||
{
|
{
|
||||||
IniFile ini;
|
IniFile ini;
|
||||||
|
|
|
@ -83,7 +83,6 @@ private:
|
||||||
void PopulateBottom();
|
void PopulateBottom();
|
||||||
void UnPopulateBottom();
|
void UnPopulateBottom();
|
||||||
void OnClose(wxCloseEvent& event);
|
void OnClose(wxCloseEvent& event);
|
||||||
void OnSize(wxSizeEvent& event);
|
|
||||||
void OnSubmit(wxCommandEvent& event);
|
void OnSubmit(wxCommandEvent& event);
|
||||||
void OnFontChange(wxCommandEvent& event);
|
void OnFontChange(wxCommandEvent& event);
|
||||||
void OnWrapLineCheck(wxCommandEvent& event);
|
void OnWrapLineCheck(wxCommandEvent& event);
|
||||||
|
|
|
@ -80,7 +80,7 @@ void VideoConfig::Load(const char *main_ini_file, bool filecheck_passed, const c
|
||||||
SET_STATE(iniFile.Get("Settings", "AnaglyphStereo", &bAnaglyphStereo, false), bAnaglyphStereo);
|
SET_STATE(iniFile.Get("Settings", "AnaglyphStereo", &bAnaglyphStereo, false), bAnaglyphStereo);
|
||||||
SET_STATE(iniFile.Get("Settings", "AnaglyphStereoSeparation", &iAnaglyphStereoSeparation, 200), iAnaglyphStereoSeparation);
|
SET_STATE(iniFile.Get("Settings", "AnaglyphStereoSeparation", &iAnaglyphStereoSeparation, 200), iAnaglyphStereoSeparation);
|
||||||
SET_STATE(iniFile.Get("Settings", "AnaglyphFocalAngle", &iAnaglyphFocalAngle, 0), iAnaglyphFocalAngle);
|
SET_STATE(iniFile.Get("Settings", "AnaglyphFocalAngle", &iAnaglyphFocalAngle, 0), iAnaglyphFocalAngle);
|
||||||
SET_STATE(iniFile.Get("Settings", "EnablePixelLigting", &bEnablePixelLighting, false), bEnablePixelLighting);
|
SET_STATE(iniFile.Get("Settings", "EnablePixelLighting", &bEnablePixelLighting, false), bEnablePixelLighting);
|
||||||
SET_STATE(iniFile.Get("Settings", "EnablePerPixelDepth", &bEnablePerPixelDepth, false), bEnablePerPixelDepth);
|
SET_STATE(iniFile.Get("Settings", "EnablePerPixelDepth", &bEnablePerPixelDepth, false), bEnablePerPixelDepth);
|
||||||
|
|
||||||
SET_STATE(iniFile.Get("Settings", "ShowShaderErrors", &bShowShaderErrors, false), bShowShaderErrors);
|
SET_STATE(iniFile.Get("Settings", "ShowShaderErrors", &bShowShaderErrors, false), bShowShaderErrors);
|
||||||
|
@ -170,7 +170,7 @@ void VideoConfig::GameIniLoad(const char *ini_file)
|
||||||
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "AnaglyphStereoSeparation", &iAnaglyphStereoSeparation), iAnaglyphStereoSeparation);
|
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "AnaglyphStereoSeparation", &iAnaglyphStereoSeparation), iAnaglyphStereoSeparation);
|
||||||
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "AnaglyphFocalAngle", &iAnaglyphFocalAngle), iAnaglyphFocalAngle);
|
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "AnaglyphFocalAngle", &iAnaglyphFocalAngle), iAnaglyphFocalAngle);
|
||||||
|
|
||||||
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "EnablePixelLigting", &bEnablePixelLighting), bEnablePixelLighting);
|
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "EnablePixelLighting", &bEnablePixelLighting), bEnablePixelLighting);
|
||||||
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "EnablePerPixelDepth", &bEnablePerPixelDepth), bEnablePerPixelDepth);
|
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "EnablePerPixelDepth", &bEnablePerPixelDepth), bEnablePerPixelDepth);
|
||||||
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "ShowShaderErrors", &bShowShaderErrors), bShowShaderErrors);
|
SET_UISTATE(iniFile.GetIfExists("Video_Settings", "ShowShaderErrors", &bShowShaderErrors), bShowShaderErrors);
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ void VideoConfig::Save(const char *ini_file)
|
||||||
iniFile.Set("Settings", "AnaglyphStereo", bAnaglyphStereo);
|
iniFile.Set("Settings", "AnaglyphStereo", bAnaglyphStereo);
|
||||||
iniFile.Set("Settings", "AnaglyphStereoSeparation", iAnaglyphStereoSeparation);
|
iniFile.Set("Settings", "AnaglyphStereoSeparation", iAnaglyphStereoSeparation);
|
||||||
iniFile.Set("Settings", "AnaglyphFocalAngle", iAnaglyphFocalAngle);
|
iniFile.Set("Settings", "AnaglyphFocalAngle", iAnaglyphFocalAngle);
|
||||||
iniFile.Set("Settings", "EnablePixelLigting", bEnablePixelLighting);
|
iniFile.Set("Settings", "EnablePixelLighting", bEnablePixelLighting);
|
||||||
iniFile.Set("Settings", "EnablePerPixelDepth", bEnablePerPixelDepth);
|
iniFile.Set("Settings", "EnablePerPixelDepth", bEnablePerPixelDepth);
|
||||||
|
|
||||||
|
|
||||||
|
@ -338,7 +338,7 @@ void VideoConfig::GameIniSave(const char* default_ini, const char* game_ini)
|
||||||
CHECK_UISTATE("Video_Settings", "AnaglyphStereo", bAnaglyphStereo);
|
CHECK_UISTATE("Video_Settings", "AnaglyphStereo", bAnaglyphStereo);
|
||||||
CHECK_UISTATE("Video_Settings", "AnaglyphStereoSeparation", iAnaglyphStereoSeparation);
|
CHECK_UISTATE("Video_Settings", "AnaglyphStereoSeparation", iAnaglyphStereoSeparation);
|
||||||
CHECK_UISTATE("Video_Settings", "AnaglyphFocalAngle", iAnaglyphFocalAngle);
|
CHECK_UISTATE("Video_Settings", "AnaglyphFocalAngle", iAnaglyphFocalAngle);
|
||||||
CHECK_UISTATE("Video_Settings", "EnablePixelLigting", bEnablePixelLighting);
|
CHECK_UISTATE("Video_Settings", "EnablePixelLighting", bEnablePixelLighting);
|
||||||
CHECK_UISTATE("Video_Settings", "EnablePerPixelDepth", bEnablePerPixelDepth);
|
CHECK_UISTATE("Video_Settings", "EnablePerPixelDepth", bEnablePerPixelDepth);
|
||||||
|
|
||||||
CHECK_UISTATE("Video_Settings", "ShowShaderErrors", bShowShaderErrors);
|
CHECK_UISTATE("Video_Settings", "ShowShaderErrors", bShowShaderErrors);
|
||||||
|
|
|
@ -1571,7 +1571,7 @@ bool Renderer::SaveScreenshot(const std::string &filename, const TargetRectangle
|
||||||
{
|
{
|
||||||
u32 W = back_rc.GetWidth();
|
u32 W = back_rc.GetWidth();
|
||||||
u32 H = back_rc.GetHeight();
|
u32 H = back_rc.GetHeight();
|
||||||
u8 *data = new u8[3 * W * H]; // TODO: possible memleak, and new'd data is given to wxImage which requires malloc
|
u8 *data = (u8 *)malloc((sizeof(u8) * 3 * W * H));
|
||||||
glPixelStorei(GL_PACK_ALIGNMENT, 1);
|
glPixelStorei(GL_PACK_ALIGNMENT, 1);
|
||||||
|
|
||||||
glReadPixels(back_rc.left, back_rc.bottom, W, H, GL_RGB, GL_UNSIGNED_BYTE, data);
|
glReadPixels(back_rc.left, back_rc.bottom, W, H, GL_RGB, GL_UNSIGNED_BYTE, data);
|
||||||
|
@ -1579,6 +1579,7 @@ bool Renderer::SaveScreenshot(const std::string &filename, const TargetRectangle
|
||||||
// Show failure message
|
// Show failure message
|
||||||
if (GL_REPORT_ERROR() != GL_NO_ERROR)
|
if (GL_REPORT_ERROR() != GL_NO_ERROR)
|
||||||
{
|
{
|
||||||
|
free(data);
|
||||||
OSD::AddMessage("Error capturing or saving screenshot.", 2000);
|
OSD::AddMessage("Error capturing or saving screenshot.", 2000);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1608,7 +1609,7 @@ bool Renderer::SaveScreenshot(const std::string &filename, const TargetRectangle
|
||||||
|
|
||||||
#else
|
#else
|
||||||
bool result = SaveTGA(filename.c_str(), W, H, data);
|
bool result = SaveTGA(filename.c_str(), W, H, data);
|
||||||
delete[] data;
|
free(data);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
Loading…
Reference in New Issue