Some work on cleaning up the FrameAui code. Primarily this fixes the debugger windows for the audio and video plugins. They are now all subclasses of a wxPanel, instead of a mix of wxFrames and wxDialogs. This makes them work correctly in linux, windows (they really didn't before), and most likely on MacOSX too!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5913 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Glenn Rice
2010-07-19 02:09:34 +00:00
parent 3457ead880
commit b175397cb7
28 changed files with 506 additions and 545 deletions

View File

@ -32,7 +32,7 @@
void Host_NotifyMapLoaded() {}
void Host_UpdateBreakPointView() {}
BEGIN_EVENT_TABLE(DSPDebuggerLLE, wxFrame)
BEGIN_EVENT_TABLE(DSPDebuggerLLE, wxPanel)
EVT_CLOSE(DSPDebuggerLLE::OnClose)
EVT_MENU_RANGE(ID_RUNTOOL, ID_STEPTOOL, DSPDebuggerLLE::OnChangeState)
EVT_MENU(ID_SHOWPCTOOL, DSPDebuggerLLE::OnShowPC)
@ -42,9 +42,8 @@ END_EVENT_TABLE()
DSPDebuggerLLE::DSPDebuggerLLE(wxWindow* parent)
: wxFrame(parent, wxID_ANY, _("DSP LLE Debugger"),
wxDefaultPosition, wxSize(700, 800),
wxDEFAULT_FRAME_STYLE)
: wxPanel(parent, wxID_ANY, wxDefaultPosition, wxSize(700, 800),
wxTAB_TRAVERSAL, _("Sound"))
, m_CachedStepCounter(-1)
{
// notify wxAUI which frame to use

View File

@ -48,7 +48,7 @@ class DSPRegisterView;
class CCodeView;
class CMemoryView;
class DSPDebuggerLLE : public wxFrame
class DSPDebuggerLLE : public wxPanel
{
public:
DSPDebuggerLLE(wxWindow *parent);

View File

@ -201,16 +201,24 @@ void EmuStateChange(PLUGIN_EMUSTATE newState)
DSP_ClearAudioBuffer((newState == PLUGIN_EMUSTATE_PLAY) ? false : true);
}
void DllDebugger(HWND _hParent, bool Show)
void DllDebugger(void *_hParent, bool Show)
{
#if defined(HAVE_WX) && HAVE_WX
if (!m_DebuggerFrame)
m_DebuggerFrame = new DSPDebuggerLLE(GetParentedWxWindow(_hParent));
if (Show)
{
if (!m_DebuggerFrame)
m_DebuggerFrame = new DSPDebuggerLLE((wxWindow *)_hParent);
m_DebuggerFrame->Show();
}
else
m_DebuggerFrame->Hide();
{
if (m_DebuggerFrame)
{
m_DebuggerFrame->Close();
m_DebuggerFrame->Destroy();
m_DebuggerFrame = NULL;
}
}
#endif
}