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
This commit is contained in:
John Peterson
2009-09-01 02:41:48 +00:00
parent a1dc78d5a8
commit d50b4c2ffc
14 changed files with 90 additions and 46 deletions

View File

@ -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)
{

View File

@ -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

View File

@ -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();

View File

@ -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();