diff options
| author | hyperiris <hyperiris@gmail.com> | 2009-03-30 13:21:22 +0000 |
|---|---|---|
| committer | hyperiris <hyperiris@gmail.com> | 2009-03-30 13:21:22 +0000 |
| commit | e9232ecf9583f8fdcbcdbeaaa3ca26e82c84d0d5 (patch) | |
| tree | c1fc90b9b1d26df01af23e56887b763ea13b951c | |
| parent | 37d513c53bad6fe80b0120773da8be50248da3df (diff) | |
LLE debugger work in progress: 1%, just a begin
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2797 8ced0084-cf51-0410-be5f-012b33b47a6e
4 files changed, 166 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj b/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj index 997e4efb95..36719cae7c 100644 --- a/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj +++ b/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj @@ -897,6 +897,18 @@ >
</File>
</Filter>
+ <Filter
+ Name="Debugger"
+ >
+ <File
+ RelativePath=".\Src\debugger\Debugger.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Src\debugger\Debugger.h"
+ >
+ </File>
+ </Filter>
<File
RelativePath=".\Src\Config.cpp"
>
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.cpp b/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.cpp new file mode 100644 index 0000000000..c870d60f94 --- /dev/null +++ b/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.cpp @@ -0,0 +1,73 @@ +// Copyright (C) 2003-2008 Dolphin Project.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 2.0.
+
+// This program 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 2.0 for more details.
+
+// A copy of the GPL 2.0 should have been included with the program.
+// If not, see http://www.gnu.org/licenses/
+
+// Official SVN repository and contact information can be found at
+// http://code.google.com/p/dolphin-emu/
+
+#include "Common.h" // Common
+#include <iostream> // System
+#include <fstream>
+#include <sstream>
+
+#include "Debugger.h"
+
+// Event table and class
+BEGIN_EVENT_TABLE(CDebugger,wxDialog)
+ EVT_CLOSE(CDebugger::OnClose) // on close event
+
+ //EVT_RIGHT_DOWN(CDebugger::ScrollBlocks)
+ //EVT_LEFT_DOWN(CDebugger::ScrollBlocks)
+ //EVT_MOUSE_EVENTS(CDebugger::ScrollBlocks)
+ //EVT_MOTION(CDebugger::ScrollBlocks)
+ //EVT_SCROLL(CDebugger::ScrollBlocks)
+ //EVT_SCROLLWIN(CDebugger::ScrollBlocks)
+END_EVENT_TABLE()
+
+CDebugger::CDebugger(wxWindow *parent, wxWindowID id, const wxString &title,
+ const wxPoint &position, const wxSize& size, long style)
+ : wxDialog(parent, id, title, position, size, style)
+{
+ CreateGUIControls();
+}
+
+CDebugger::~CDebugger()
+{
+}
+
+void CDebugger::OnClose(wxCloseEvent& /*event*/)
+{
+ EndModal(0);
+}
+
+void CDebugger::DoHide()
+{
+ Hide();
+}
+
+void CDebugger::DoShow()
+{
+ Show();
+ //DoShowConsole(); // The console goes with the wx window
+}
+
+void CDebugger::CreateGUIControls()
+{
+ SetTitle(wxT("Sound Debugging"));
+
+ // Basic settings
+ SetIcon(wxNullIcon);
+ SetSize(8, 8, 200, 100); // These will become the minimin sizes allowed by resizing
+ Center();
+
+}
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.h b/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.h new file mode 100644 index 0000000000..d7079e47bc --- /dev/null +++ b/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.h @@ -0,0 +1,63 @@ +#pragma once
+
+#ifndef __CDebugger_h__
+#define __CDebugger_h__
+
+// general things
+#include <iostream>
+#include <vector>
+
+#ifndef WX_PRECOMP
+#include <wx/wx.h>
+#include <wx/dialog.h>
+#else
+#include <wx/wxprec.h>
+#endif
+
+#include <wx/button.h>
+#include <wx/stattext.h>
+#include <wx/statbox.h>
+#include <wx/statbmp.h>
+#include <wx/datetime.h> // for the timestamps
+
+#include <wx/sizer.h>
+#include <wx/notebook.h>
+#include <wx/filepicker.h>
+#include <wx/listctrl.h>
+#include <wx/imaglist.h>
+
+//#include "../Globals.h"
+
+//class CPBView;
+//class IniFile;
+
+// Window settings
+#undef CDebugger_STYLE
+#define CDebugger_STYLE wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE
+
+class CDebugger : public wxDialog
+{
+private:
+ DECLARE_EVENT_TABLE();
+
+public:
+ CDebugger(wxWindow *parent, wxWindowID id = 1, const wxString &title = _("Sound Debugger"),
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = CDebugger_STYLE);
+
+ virtual ~CDebugger();
+
+ void DoHide();
+ void DoShow();
+private:
+ // WARNING: Make sure these are not also elsewhere
+ enum
+ {
+ // = 2000,
+ };
+
+ void OnClose(wxCloseEvent& event);
+ void CreateGUIControls();
+};
+
+#endif
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Src/main.cpp b/Source/Plugins/Plugin_DSP_LLE-testing/Src/main.cpp index dbda183f6f..45e43a7f3d 100644 --- a/Source/Plugins/Plugin_DSP_LLE-testing/Src/main.cpp +++ b/Source/Plugins/Plugin_DSP_LLE-testing/Src/main.cpp @@ -34,6 +34,9 @@ #if defined(HAVE_WX) && HAVE_WX #include "DSPConfigDlgLLE.h" +#include "debugger/Debugger.h" +#include "Debugger/Debugger.h" // For the CDebugger class +CDebugger* m_frame = NULL; #endif PLUGIN_GLOBALS* globals = NULL; @@ -163,6 +166,21 @@ void DoState(unsigned char **ptr, int mode) void DllDebugger(HWND _hParent, bool Show) { +#if defined(HAVE_WX) && HAVE_WX + if (m_frame && Show) // if we have created it, let us show it again + { + m_frame->DoShow(); + } + else if (!m_frame && Show) + { + m_frame = new CDebugger(NULL); + m_frame->Show(); + } + else if (m_frame && !Show) + { + m_frame->DoHide(); + } +#endif } |
