summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorJohn Peterson <jpeterson57@gmail.com>2009-09-01 02:41:48 +0000
committerJohn Peterson <jpeterson57@gmail.com>2009-09-01 02:41:48 +0000
commitd50b4c2ffc7e8bee6f480e8f85536363fb8bfe9b (patch)
tree0247a16f905168fef3fa149a3f781122823f3eef /Source/Core
parenta1dc78d5a81fc97acfadb3a5f38c1580aa7e2a7f (diff)
GUI: Linux problem, wxAuiNotebook can't have wxFrame pages
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4133 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DebuggerWX/Src/BreakpointWindow.h4
-rw-r--r--Source/Core/DebuggerWX/Src/CodeWindow.cpp10
-rw-r--r--Source/Core/DebuggerWX/Src/CodeWindow.h10
-rw-r--r--Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp24
-rw-r--r--Source/Core/DebuggerWX/Src/JitWindow.h4
-rw-r--r--Source/Core/DebuggerWX/Src/MemoryWindow.h4
-rw-r--r--Source/Core/DebuggerWX/Src/RegisterWindow.cpp4
-rw-r--r--Source/Core/DebuggerWX/Src/RegisterWindow.h14
-rw-r--r--Source/Core/DolphinWX/Src/Frame.cpp6
-rw-r--r--Source/Core/DolphinWX/Src/FrameTools.cpp29
-rw-r--r--Source/Core/DolphinWX/Src/LogWindow.cpp8
-rw-r--r--Source/Core/DolphinWX/Src/LogWindow.h11
12 files changed, 82 insertions, 46 deletions
diff --git a/Source/Core/DebuggerWX/Src/BreakpointWindow.h b/Source/Core/DebuggerWX/Src/BreakpointWindow.h
index bc3f9cbf1c..e9fb6001f0 100644
--- a/Source/Core/DebuggerWX/Src/BreakpointWindow.h
+++ b/Source/Core/DebuggerWX/Src/BreakpointWindow.h
@@ -34,7 +34,11 @@ class CBreakPointWindow
CBreakPointWindow(CCodeWindow* _pCodeWindow, wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Breakpoints"),
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(400, 250),
+ #ifdef _WIN32
long style = wxNO_BORDER);
+ #else
+ long style = wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE);
+ #endif
virtual ~CBreakPointWindow();
diff --git a/Source/Core/DebuggerWX/Src/CodeWindow.cpp b/Source/Core/DebuggerWX/Src/CodeWindow.cpp
index 1b3588f263..60bdf715e8 100644
--- a/Source/Core/DebuggerWX/Src/CodeWindow.cpp
+++ b/Source/Core/DebuggerWX/Src/CodeWindow.cpp
@@ -149,13 +149,11 @@ END_EVENT_TABLE()
-// Class, input event handler and host message handler
-CCodeWindow::CCodeWindow(const SCoreStartupParameter& _LocalCoreStartupParameter, CFrame *ParentObject, wxWindow* Parent,
- wxWindowID Id)
- : wxPanel(Parent, Id, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxNO_BORDER, wxT("Dolphin-Debugger"))
+// Class
+CCodeWindow::CCodeWindow(const SCoreStartupParameter& _LocalCoreStartupParameter, CFrame *ParentObject, wxWindow* parent,
+ wxWindowID id, const wxPoint& position, const wxSize& size, long style, const wxString& name)
+ : wxPanel(parent, id, position, size, style, name)
, Parent(ParentObject)
- /* Remember to initialize potential new controls with NULL there, otherwise m_dialog = true and
- things may crash */
, m_RegisterWindow(NULL)
, m_BreakpointWindow(NULL)
, m_MemoryWindow(NULL)
diff --git a/Source/Core/DebuggerWX/Src/CodeWindow.h b/Source/Core/DebuggerWX/Src/CodeWindow.h
index 695c25f187..20d8686731 100644
--- a/Source/Core/DebuggerWX/Src/CodeWindow.h
+++ b/Source/Core/DebuggerWX/Src/CodeWindow.h
@@ -44,8 +44,14 @@ class CCodeWindow
{
public:
- CCodeWindow(const SCoreStartupParameter& _LocalCoreStartupParameter, CFrame *, wxWindow* parent,
- wxWindowID id = wxID_ANY);
+ CCodeWindow(const SCoreStartupParameter& _LocalCoreStartupParameter, CFrame *,
+ wxWindow* parent,
+ wxWindowID id = wxID_ANY,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxTAB_TRAVERSAL | wxNO_BORDER,
+ const wxString& name = wxT("Dolphin-Debugger")
+ );
/*
CCodeWindow(const SCoreStartupParameter& _LocalCoreStartupParameter, wxWindow* parent,
wxWindowID id = wxID_ANY,
diff --git a/Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp b/Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp
index f9f679c0ef..8e02edfc4c 100644
--- a/Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp
+++ b/Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp
@@ -365,10 +365,18 @@ void CCodeWindow::OnToggleBreakPointWindow(bool Show, int i)
if (Show)
{
if (!m_BreakpointWindow) m_BreakpointWindow = new CBreakPointWindow(this, Parent);
+ #ifdef _WIN32
Parent->DoAddPage(m_BreakpointWindow, i, "Breakpoints");
+ #else
+ m_BreakpointWindow->Show();
+ #endif
}
else // hide
+ #ifdef _WIN32
Parent->DoRemovePage(m_BreakpointWindow);
+ #else
+ if (m_BreakpointWindow) m_BreakpointWindow->Hide();
+ #endif
}
void CCodeWindow::OnToggleJitWindow(bool Show, int i)
@@ -376,10 +384,18 @@ void CCodeWindow::OnToggleJitWindow(bool Show, int i)
if (Show)
{
if (!m_JitWindow) m_JitWindow = new CJitWindow(Parent);
+ #ifdef _WIN32
Parent->DoAddPage(m_JitWindow, i, "JIT");
+ #else
+ m_JitWindow->Show();
+ #endif
}
else // hide
+ #ifdef _WIN32
Parent->DoRemovePage(m_JitWindow);
+ #else
+ if (m_JitWindow) m_JitWindow->Hide();
+ #endif
}
@@ -388,10 +404,18 @@ void CCodeWindow::OnToggleMemoryWindow(bool Show, int i)
if (Show)
{
if (!m_MemoryWindow) m_MemoryWindow = new CMemoryWindow(Parent);
+ #ifdef _WIN32
Parent->DoAddPage(m_MemoryWindow, i, "Memory");
+ #else
+ m_MemoryWindow->Show();
+ #endif
}
else // hide
+ #ifdef _WIN32
Parent->DoRemovePage(m_MemoryWindow);
+ #else
+ if (m_MemoryWindow) m_MemoryWindow->Hide();
+ #endif
}
//Toggle Sound Debugging Window
diff --git a/Source/Core/DebuggerWX/Src/JitWindow.h b/Source/Core/DebuggerWX/Src/JitWindow.h
index 50a2152fb7..b052617a28 100644
--- a/Source/Core/DebuggerWX/Src/JitWindow.h
+++ b/Source/Core/DebuggerWX/Src/JitWindow.h
@@ -49,7 +49,11 @@ public:
const wxString& title = _T("JIT block viewer"),
const wxPoint& pos = wxPoint(950, 100),
const wxSize& size = wxSize(400, 500),
+ #ifdef _WIN32
long style = wxNO_BORDER);
+ #else
+ long style = wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE);
+ #endif
~CJitWindow();
diff --git a/Source/Core/DebuggerWX/Src/MemoryWindow.h b/Source/Core/DebuggerWX/Src/MemoryWindow.h
index 29e241b5ee..b12d59937b 100644
--- a/Source/Core/DebuggerWX/Src/MemoryWindow.h
+++ b/Source/Core/DebuggerWX/Src/MemoryWindow.h
@@ -41,7 +41,11 @@ class CMemoryWindow
const wxString& title = _T("Dolphin-Memory"),
const wxPoint& pos = wxPoint(950, 100),
const wxSize& size = wxSize(400, 500),
+ #ifdef _WIN32
long style = wxNO_BORDER);
+ #else
+ long style = wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE);
+ #endif
~CMemoryWindow();
diff --git a/Source/Core/DebuggerWX/Src/RegisterWindow.cpp b/Source/Core/DebuggerWX/Src/RegisterWindow.cpp
index aa20f3697a..fdebddf8a1 100644
--- a/Source/Core/DebuggerWX/Src/RegisterWindow.cpp
+++ b/Source/Core/DebuggerWX/Src/RegisterWindow.cpp
@@ -22,13 +22,13 @@
extern const char* GetGRPName(unsigned int index);
-BEGIN_EVENT_TABLE(CRegisterWindow, wxDialog)
+BEGIN_EVENT_TABLE(CRegisterWindow, wxPanel)
EVT_CLOSE(CRegisterWindow::OnClose)
END_EVENT_TABLE()
CRegisterWindow::CRegisterWindow(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& position, const wxSize& size, long style)
- : wxDialog(parent, id, title, position, size, style)
+ : wxPanel(parent, id, position, size, style, title)
, m_GPRGridView(NULL)
{
CreateGUIControls();
diff --git a/Source/Core/DebuggerWX/Src/RegisterWindow.h b/Source/Core/DebuggerWX/Src/RegisterWindow.h
index dc5b2a6bd0..3006a276dd 100644
--- a/Source/Core/DebuggerWX/Src/RegisterWindow.h
+++ b/Source/Core/DebuggerWX/Src/RegisterWindow.h
@@ -22,14 +22,16 @@ class CRegisterView;
class IniFile;
class CRegisterWindow
- : public wxDialog
+ : public wxPanel
{
public:
- CRegisterWindow(wxWindow* parent, wxWindowID id = 1,
- const wxString& title = wxT("Registers"),
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxNO_BORDER);
+ CRegisterWindow(wxWindow* parent,
+ wxWindowID id = wxID_ANY,
+ const wxString& name = wxT("Registers"),
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxTAB_TRAVERSAL | wxNO_BORDER
+ );
virtual ~CRegisterWindow();
diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp
index 9961030e75..54fe878f90 100644
--- a/Source/Core/DolphinWX/Src/Frame.cpp
+++ b/Source/Core/DolphinWX/Src/Frame.cpp
@@ -336,10 +336,6 @@ CFrame::CFrame(bool showLogWindow,
#endif
{
- #ifndef _WIN32
- m_bLogWindow = false;
- #endif
-
// Give it a console
ConsoleListener *Console = LogManager::GetInstance()->getConsoleListener();
if (SConfig::GetInstance().m_InterfaceConsole) Console->Open();
@@ -558,6 +554,8 @@ void CFrame::OnClose(wxCloseEvent& event)
// Save GUI settings
if (UseDebugger) g_pCodeWindow->Save();
if (UseDebugger) Save();
+ // Uninit
+ m_Mgr->UnInit();
if (Core::GetState() != Core::CORE_UNINITIALIZED)
{
diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp
index 556f3d76a5..b4be64b692 100644
--- a/Source/Core/DolphinWX/Src/FrameTools.cpp
+++ b/Source/Core/DolphinWX/Src/FrameTools.cpp
@@ -200,9 +200,6 @@ void CFrame::CreateMenu()
viewMenu->Check(IDM_TOGGLE_STATUSBAR, SConfig::GetInstance().m_InterfaceStatusbar);
viewMenu->AppendCheckItem(IDM_LOGWINDOW, _T("Show &Logwindow"));
viewMenu->Check(IDM_LOGWINDOW, m_bLogWindow);
- #ifndef _WIN32
- viewMenu->Enable(IDM_LOGWINDOW, false);
- #endif
viewMenu->AppendCheckItem(IDM_CONSOLEWINDOW, _T("Show &Console"));
viewMenu->Check(IDM_CONSOLEWINDOW, SConfig::GetInstance().m_InterfaceConsole);
viewMenu->AppendSeparator();
@@ -319,22 +316,6 @@ void CFrame::RecreateToolbar()
ToolbarPane().Top().
LeftDockable(false).RightDockable(false).Floatable(false));
}
-
- //UpdateGUI();
-
- /*
- wxToolBarBase* ToolBar = GetToolBar();
- long style = ToolBar ? ToolBar->GetWindowStyle() : wxTB_FLAT | wxTB_DOCKABLE | wxTB_TEXT;
- delete ToolBar;
- SetToolBar(NULL);
-
- style &= ~(wxTB_HORIZONTAL | wxTB_VERTICAL | wxTB_BOTTOM | wxTB_RIGHT | wxTB_HORZ_LAYOUT | wxTB_TOP);
- m_ToolBar = CreateToolBar(style, ID_TOOLBAR);
-
- PopulateToolbar(m_ToolBar);
- SetToolBar(m_ToolBar);
- UpdateGUI();
- */
}
void CFrame::InitBitmaps()
@@ -1225,7 +1206,7 @@ void CFrame::DoRemovePage(wxWindow * Win, bool Hide)
{
// If m_dialog is NULL, then possibly the system didn't report the checked menu item status correctly.
// It should be true just after the menu item was selected, if there was no modeless dialog yet.
- wxASSERT(Win != NULL);
+ //wxASSERT(Win != NULL);
if (Win)
{
@@ -1282,11 +1263,19 @@ void CFrame::ToggleLogWindow(bool Show, int i)
if (Show)
{
if (!m_LogWindow) m_LogWindow = new CLogWindow(this);
+ #ifdef _WIN32
DoAddPage(m_LogWindow, i, "Log");
+ #else
+ m_LogWindow->Show();
+ #endif
}
else
{
+ #ifdef _WIN32
DoRemovePage(m_LogWindow);
+ #else
+ if (m_LogWindow) m_LogWindow->Show();
+ #endif
}
// Hide pane
diff --git a/Source/Core/DolphinWX/Src/LogWindow.cpp b/Source/Core/DolphinWX/Src/LogWindow.cpp
index 2235f0db3e..4171477e79 100644
--- a/Source/Core/DolphinWX/Src/LogWindow.cpp
+++ b/Source/Core/DolphinWX/Src/LogWindow.cpp
@@ -26,7 +26,7 @@
#include "LogWindow.h"
#include "Console.h"
-// milliseconds between msgQueue flushes to wxTextCtrl
+// Milliseconds between msgQueue flushes to wxTextCtrl
#define UPDATETIME 200
BEGIN_EVENT_TABLE(CLogWindow, wxDialog)
@@ -42,10 +42,8 @@ BEGIN_EVENT_TABLE(CLogWindow, wxDialog)
EVT_TIMER(IDTM_UPDATELOG, CLogWindow::OnLogTimer)
END_EVENT_TABLE()
-CLogWindow::CLogWindow(wxWindow* parent)
- : wxDialog(parent, wxID_ANY, wxT("Log"),
- wxPoint(100, 700), wxSize(800, 270),
- wxNO_BORDER)
+CLogWindow::CLogWindow(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style)
+ : wxDialog(parent, id, title, position, size, style)
, m_logSection(1)
{
m_logManager = LogManager::GetInstance();
diff --git a/Source/Core/DolphinWX/Src/LogWindow.h b/Source/Core/DolphinWX/Src/LogWindow.h
index 1bb5403116..1006232ea2 100644
--- a/Source/Core/DolphinWX/Src/LogWindow.h
+++ b/Source/Core/DolphinWX/Src/LogWindow.h
@@ -46,7 +46,16 @@ class wxString;
class CLogWindow : public wxDialog, LogListener
{
public:
- CLogWindow(wxWindow* parent);
+ CLogWindow(wxWindow* parent,
+ wxWindowID id = wxID_ANY,
+ const wxString& title = wxT("Log"),
+ const wxPoint& pos = wxPoint(100, 700),
+ const wxSize& size = wxSize(800, 270),
+ #ifdef _WIN32
+ long style = wxNO_BORDER);
+ #else
+ long style = wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE);
+ #endif
~CLogWindow();
void NotifyUpdate();