mirror of https://github.com/PCSX2/pcsx2.git
GSDump: very early draft of the UI
This commit is contained in:
parent
0dffc13e49
commit
794ef66392
|
@ -600,6 +600,7 @@ set(pcsx2GuiSources
|
|||
gui/ConsoleLogger.cpp
|
||||
gui/CpuUsageProvider.cpp
|
||||
gui/Dialogs/AboutBoxDialog.cpp
|
||||
gui/Dialogs/GSDumpDialog.cpp
|
||||
gui/Dialogs/AssertionDialog.cpp
|
||||
gui/Dialogs/BaseConfigurationDialog.cpp
|
||||
gui/Dialogs/ConfirmationDialogs.cpp
|
||||
|
|
|
@ -122,6 +122,7 @@ enum MenuIdentifiers
|
|||
MenuId_GameSettingsSubMenu,
|
||||
MenuId_EnablePatches,
|
||||
MenuId_EnableCheats,
|
||||
MenuId_GSDump,
|
||||
MenuId_EnableWideScreenPatches,
|
||||
MenuId_EnableInputRecording,
|
||||
MenuId_EnableLuaTools,
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
/* PCSX2 - PS2 Emulator for PCs
|
||||
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
||||
*
|
||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with PCSX2.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "PrecompiledHeader.h"
|
||||
#include "App.h"
|
||||
#include "AppCommon.h"
|
||||
#include "MSWstuff.h"
|
||||
|
||||
#include "Dialogs/ModalPopups.h"
|
||||
|
||||
#include <wx/mstream.h>
|
||||
#include <wx/listctrl.h>
|
||||
#include <wx/filepicker.h>
|
||||
#include <wx/radiobut.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/treectrl.h>
|
||||
#include <wx/checkbox.h>
|
||||
|
||||
using namespace pxSizerFlags;
|
||||
|
||||
// --------------------------------------------------------------------------------------
|
||||
// GSDumpDialog Implementation
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
Dialogs::GSDumpDialog::GSDumpDialog(wxWindow* parent)
|
||||
: wxDialogWithHelpers(parent, _("GSDumpGov"), pxDialogFlags())
|
||||
{
|
||||
const float scale = MSW_GetDPIScale();
|
||||
SetMinWidth(scale * 460);
|
||||
|
||||
#ifdef _WIN32
|
||||
const int padding = 15;
|
||||
#else
|
||||
const int padding = 8;
|
||||
#endif
|
||||
|
||||
|
||||
wxFlexGridSizer& general(*new wxFlexGridSizer(2, StdPadding, StdPadding));
|
||||
wxBoxSizer& dump_info(*new wxBoxSizer(wxVERTICAL));
|
||||
wxFlexGridSizer& debugger(*new wxFlexGridSizer(2, StdPadding, StdPadding));
|
||||
wxBoxSizer& dbg_tree(*new wxBoxSizer(wxVERTICAL));
|
||||
wxBoxSizer& dbg_actions(*new wxBoxSizer(wxVERTICAL));
|
||||
wxBoxSizer& gif(*new wxBoxSizer(wxVERTICAL));
|
||||
|
||||
// dump list
|
||||
//general += new wxListView(this, wxID_ANY);
|
||||
|
||||
// dump directory
|
||||
//general += new wxDirPickerCtrl(this, wxID_ANY);
|
||||
//general += padding;
|
||||
|
||||
// renderer override
|
||||
dump_info += new wxRadioButton(this, wxID_ANY, _("None"));
|
||||
dump_info += new wxRadioButton(this, wxID_ANY, _("D3D11 HW"));
|
||||
dump_info += new wxRadioButton(this, wxID_ANY, _("OGL HW"));
|
||||
dump_info += new wxRadioButton(this, wxID_ANY, _("OGL SW"));
|
||||
dump_info += padding;
|
||||
|
||||
// dump screenshot
|
||||
//
|
||||
// wxImage img = EmbeddedImage<res_Logo>().Get();
|
||||
// img.Rescale(img.GetWidth() * scale, img.GetHeight() * scale, wxIMAGE_QUALITY_HIGH);
|
||||
// auto bitmap_logo = new wxStaticBitmap(this, wxID_ANY, wxBitmap(img));
|
||||
|
||||
// launch dump
|
||||
dump_info += new wxButton(this, wxID_ANY, _("Run"));
|
||||
dump_info += padding;
|
||||
|
||||
|
||||
|
||||
// debugger
|
||||
dbg_tree += new wxStaticText(this, wxID_ANY, _("GIF Packets"));
|
||||
dbg_tree += new wxTreeCtrl(this, wxID_ANY, wxDefaultPosition, wxSize(250, 200));
|
||||
dbg_actions += new wxCheckBox(this, wxID_ANY, _("Debug Mode"));
|
||||
dbg_actions += new wxButton(this, wxID_ANY, _("Go to Start"));
|
||||
dbg_actions += new wxButton(this, wxID_ANY, _("Step"));
|
||||
dbg_actions += new wxButton(this, wxID_ANY, _("Run to Selection"));
|
||||
dbg_actions += new wxButton(this, wxID_ANY, _("Go to next VSync"));
|
||||
|
||||
// gif
|
||||
gif += new wxStaticText(this, wxID_ANY, _("Packet Content"));
|
||||
gif += new wxTreeCtrl(this, wxID_ANY, wxDefaultPosition, wxSize(250, 200));
|
||||
|
||||
|
||||
debugger += dbg_tree;
|
||||
debugger += dbg_actions;
|
||||
|
||||
general += new wxListView(this, wxID_ANY);
|
||||
general += dump_info;
|
||||
general += debugger;
|
||||
general += gif;
|
||||
|
||||
*this += general;
|
||||
|
||||
SetSizerAndFit(GetSizer());
|
||||
}
|
|
@ -26,48 +26,58 @@ class FirstTimeWizard : public wxWizard
|
|||
typedef wxWizard _parent;
|
||||
|
||||
protected:
|
||||
wxWizardPageSimple& m_page_intro;
|
||||
wxWizardPageSimple& m_page_plugins;
|
||||
wxWizardPageSimple& m_page_bios;
|
||||
wxWizardPageSimple& m_page_intro;
|
||||
wxWizardPageSimple& m_page_plugins;
|
||||
wxWizardPageSimple& m_page_bios;
|
||||
|
||||
wxPanelWithHelpers& m_panel_Intro;
|
||||
Panels::PluginSelectorPanel& m_panel_PluginSel;
|
||||
Panels::BiosSelectorPanel& m_panel_BiosSel;
|
||||
wxPanelWithHelpers& m_panel_Intro;
|
||||
Panels::PluginSelectorPanel& m_panel_PluginSel;
|
||||
Panels::BiosSelectorPanel& m_panel_BiosSel;
|
||||
|
||||
public:
|
||||
FirstTimeWizard( wxWindow* parent );
|
||||
FirstTimeWizard(wxWindow* parent);
|
||||
virtual ~FirstTimeWizard() = default;
|
||||
|
||||
wxWizardPage *GetFirstPage() const { return &m_page_intro; }
|
||||
wxWizardPage* GetFirstPage() const { return &m_page_intro; }
|
||||
|
||||
void ForceEnumPlugins()
|
||||
{
|
||||
m_panel_PluginSel.OnShown();
|
||||
}
|
||||
|
||||
|
||||
int ShowModal();
|
||||
|
||||
protected:
|
||||
virtual void OnPageChanging( wxWizardEvent& evt );
|
||||
virtual void OnPageChanged( wxWizardEvent& evt );
|
||||
virtual void OnDoubleClicked( wxCommandEvent& evt );
|
||||
virtual void OnPageChanging(wxWizardEvent& evt);
|
||||
virtual void OnPageChanged(wxWizardEvent& evt);
|
||||
virtual void OnDoubleClicked(wxCommandEvent& evt);
|
||||
|
||||
void OnRestartWizard( wxCommandEvent& evt );
|
||||
void OnRestartWizard(wxCommandEvent& evt);
|
||||
};
|
||||
|
||||
|
||||
namespace Dialogs
|
||||
{
|
||||
class AboutBoxDialog: public wxDialogWithHelpers
|
||||
class AboutBoxDialog : public wxDialogWithHelpers
|
||||
{
|
||||
public:
|
||||
AboutBoxDialog( wxWindow* parent=NULL );
|
||||
AboutBoxDialog(wxWindow* parent = NULL);
|
||||
virtual ~AboutBoxDialog() = default;
|
||||
|
||||
static wxString GetNameStatic() { return L"AboutBox"; }
|
||||
wxString GetDialogName() const { return GetNameStatic(); }
|
||||
};
|
||||
|
||||
class GSDumpDialog : public wxDialogWithHelpers
|
||||
{
|
||||
public:
|
||||
GSDumpDialog(wxWindow* parent = NULL);
|
||||
virtual ~GSDumpDialog() = default;
|
||||
|
||||
static wxString GetNameStatic() { return L"AboutBox"; }
|
||||
wxString GetDialogName() const { return GetNameStatic(); }
|
||||
};
|
||||
|
||||
|
||||
class PickUserModeDialog : public BaseApplicableDialog
|
||||
{
|
||||
|
@ -76,29 +86,29 @@ namespace Dialogs
|
|||
Panels::LanguageSelectionPanel* m_panel_langsel;
|
||||
|
||||
public:
|
||||
PickUserModeDialog( wxWindow* parent );
|
||||
PickUserModeDialog(wxWindow* parent);
|
||||
virtual ~PickUserModeDialog() = default;
|
||||
|
||||
protected:
|
||||
void OnOk_Click( wxCommandEvent& evt );
|
||||
void OnOk_Click(wxCommandEvent& evt);
|
||||
};
|
||||
|
||||
|
||||
class ImportSettingsDialog : public wxDialogWithHelpers
|
||||
{
|
||||
public:
|
||||
ImportSettingsDialog( wxWindow* parent );
|
||||
ImportSettingsDialog(wxWindow* parent);
|
||||
virtual ~ImportSettingsDialog() = default;
|
||||
|
||||
protected:
|
||||
void OnImport_Click( wxCommandEvent& evt );
|
||||
void OnOverwrite_Click( wxCommandEvent& evt );
|
||||
void OnImport_Click(wxCommandEvent& evt);
|
||||
void OnOverwrite_Click(wxCommandEvent& evt);
|
||||
};
|
||||
|
||||
class AssertionDialog : public wxDialogWithHelpers
|
||||
{
|
||||
public:
|
||||
AssertionDialog( const wxString& text, const wxString& stacktrace );
|
||||
AssertionDialog(const wxString& text, const wxString& stacktrace);
|
||||
virtual ~AssertionDialog() = default;
|
||||
};
|
||||
|
||||
|
@ -112,7 +122,7 @@ namespace Dialogs
|
|||
static wxString GetNameStatic() { return L"IPCSettings"; }
|
||||
wxString GetDialogName() const { return GetNameStatic(); }
|
||||
};
|
||||
}
|
||||
} // namespace Dialogs
|
||||
|
||||
wxWindowID pxIssueConfirmation( wxDialogWithHelpers& confirmDlg, const MsgButtons& buttons );
|
||||
wxWindowID pxIssueConfirmation( wxDialogWithHelpers& confirmDlg, const MsgButtons& buttons, const wxString& disablerKey );
|
||||
wxWindowID pxIssueConfirmation(wxDialogWithHelpers& confirmDlg, const MsgButtons& buttons);
|
||||
wxWindowID pxIssueConfirmation(wxDialogWithHelpers& confirmDlg, const MsgButtons& buttons, const wxString& disablerKey);
|
||||
|
|
|
@ -299,6 +299,7 @@ void MainEmuFrame::ConnectMenus()
|
|||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_Github, this, MenuId_Help_Github);
|
||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_Wiki, this, MenuId_Help_Wiki);
|
||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_ShowAboutBox, this, MenuId_About);
|
||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_ShowGSDump, this, MenuId_GSDump);
|
||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_ChangeLang, this, MenuId_ChangeLang);
|
||||
|
||||
// Debug
|
||||
|
@ -478,6 +479,7 @@ void MainEmuFrame::CreateConfigMenu()
|
|||
m_menuConfig.Append(MenuId_Config_DEV9, _("&Network and HDD Settings..."));
|
||||
m_menuConfig.Append(MenuId_Config_USB, _("&USB Settings..."));
|
||||
m_menuConfig.Append(MenuId_Config_PAD, _("&GamePad Settings..."));
|
||||
m_menuConfig.Append(MenuId_GSDump, _("&GS Dump"));
|
||||
|
||||
m_menuConfig.AppendSeparator();
|
||||
|
||||
|
|
|
@ -256,6 +256,7 @@ protected:
|
|||
void Menu_Github(wxCommandEvent& event);
|
||||
void Menu_Wiki(wxCommandEvent& event);
|
||||
void Menu_ShowAboutBox(wxCommandEvent& event);
|
||||
void Menu_ShowGSDump(wxCommandEvent& event);
|
||||
|
||||
void Menu_Capture_Video_ToggleCapture_Click(wxCommandEvent& event);
|
||||
void Menu_Capture_Video_IncludeAudio_Click(wxCommandEvent& event);
|
||||
|
|
|
@ -906,6 +906,11 @@ void MainEmuFrame::Menu_ShowAboutBox(wxCommandEvent& event)
|
|||
AppOpenDialog<AboutBoxDialog>(this);
|
||||
}
|
||||
|
||||
void MainEmuFrame::Menu_ShowGSDump(wxCommandEvent& event)
|
||||
{
|
||||
AppOpenDialog<GSDumpDialog>(this);
|
||||
}
|
||||
|
||||
void MainEmuFrame::Menu_Capture_Video_ToggleCapture_Click(wxCommandEvent& event)
|
||||
{
|
||||
ScopedCoreThreadPause paused_core;
|
||||
|
|
Loading…
Reference in New Issue