From e9232ecf9583f8fdcbcdbeaaa3ca26e82c84d0d5 Mon Sep 17 00:00:00 2001 From: hyperiris Date: Mon, 30 Mar 2009 13:21:22 +0000 Subject: [PATCH] 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 --- .../Plugin_DSP_LLE_Test.vcproj | 12 +++ .../Src/debugger/Debugger.cpp | 73 +++++++++++++++++++ .../Src/debugger/Debugger.h | 63 ++++++++++++++++ .../Plugin_DSP_LLE-testing/Src/main.cpp | 18 +++++ 4 files changed, 166 insertions(+) create mode 100644 Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.cpp create mode 100644 Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.h 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 @@ > + + + + + + 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 // System +#include +#include + +#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 +#include + +#ifndef WX_PRECOMP +#include +#include +#else +#include +#endif + +#include +#include +#include +#include +#include // for the timestamps + +#include +#include +#include +#include +#include + +//#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 }