GUI make logwindow into a panel TODO: figure out how to make it

floatable


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4228 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
nakeee 2009-09-07 21:37:27 +00:00
parent 5a99432f1b
commit a9c9e9fa46
4 changed files with 12 additions and 24 deletions

View File

@ -975,7 +975,7 @@ void CFrame::ListTopWindows()
for (i = wxTopLevelWindows.begin(); i != end; ++i) for (i = wxTopLevelWindows.begin(); i != end; ++i)
{ {
wxTopLevelWindow * const Win = wx_static_cast(wxTopLevelWindow *, *i); wxTopLevelWindow * const Win = wx_static_cast(wxTopLevelWindow *, *i);
NOTICE_LOG(CONSOLE, "%i: %i %s", j, Win, Win->GetTitle().mb_str()); NOTICE_LOG(CONSOLE, "%i: %i %s", j, Win, (const char *)Win->GetTitle().mb_str());
/* /*
if ( win->ShouldPreventAppExit() ) if ( win->ShouldPreventAppExit() )
{ {

View File

@ -104,19 +104,11 @@ void CFrame::ToggleLogWindow(bool bShow, int i)
if (bShow) if (bShow)
{ {
if (!m_LogWindow) m_LogWindow = new CLogWindow(this, IDM_LOGWINDOW); if (!m_LogWindow) m_LogWindow = new CLogWindow(this, IDM_LOGWINDOW);
#ifdef _WIN32
DoAddPage(m_LogWindow, i, wxT("Log"), bFloatLogWindow); DoAddPage(m_LogWindow, i, wxT("Log"), bFloatLogWindow);
#else
m_LogWindow->Show();
#endif
} }
else else
{ {
#ifdef _WIN32
DoRemovePage(m_LogWindow); DoRemovePage(m_LogWindow);
#else
if (m_LogWindow) m_LogWindow->Show();
#endif
} }
// Hide pane // Hide pane

View File

@ -29,7 +29,7 @@
// Milliseconds between msgQueue flushes to wxTextCtrl // Milliseconds between msgQueue flushes to wxTextCtrl
#define UPDATETIME 200 #define UPDATETIME 200
BEGIN_EVENT_TABLE(CLogWindow, wxDialog) BEGIN_EVENT_TABLE(CLogWindow, wxPanel)
EVT_CLOSE(CLogWindow::OnClose) EVT_CLOSE(CLogWindow::OnClose)
EVT_TEXT_ENTER(IDM_SUBMITCMD, CLogWindow::OnSubmit) EVT_TEXT_ENTER(IDM_SUBMITCMD, CLogWindow::OnSubmit)
EVT_BUTTON(IDM_CLEARLOG, CLogWindow::OnClear) EVT_BUTTON(IDM_CLEARLOG, CLogWindow::OnClear)
@ -45,7 +45,7 @@ BEGIN_EVENT_TABLE(CLogWindow, wxDialog)
END_EVENT_TABLE() END_EVENT_TABLE()
CLogWindow::CLogWindow(CFrame *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style) CLogWindow::CLogWindow(CFrame *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)
, Parent(parent), m_LogSection(1), m_Log(NULL), m_cmdline(NULL), m_FontChoice(NULL) , Parent(parent), m_LogSection(1), m_Log(NULL), m_cmdline(NULL), m_FontChoice(NULL)
, m_LogAccess(true) , m_LogAccess(true)
{ {
@ -80,9 +80,9 @@ void CLogWindow::CreateGUIControls()
m_FontChoice->Append(wxT("Monospaced font")); m_FontChoice->Append(wxT("Monospaced font"));
m_FontChoice->Append(wxT("Selected font")); m_FontChoice->Append(wxT("Selected font"));
m_FontChoice->SetSelection(0); m_FontChoice->SetSelection(0);
wxTextCtrl *Tmp = CreateTextCtrl(this); // wxTextCtrl *Tmp = CreateTextCtrl(this);
DefaultFont = Tmp->GetFont(); // DefaultFont = Tmp->GetFont();
Tmp->Destroy(); // Tmp->Destroy();
MonoSpaceFont.SetNativeFontInfoUserDesc(wxString::FromAscii("lucida console windows-1252")); MonoSpaceFont.SetNativeFontInfoUserDesc(wxString::FromAscii("lucida console windows-1252"));
Font.push_back(DefaultFont); Font.push_back(DefaultFont);
Font.push_back(MonoSpaceFont); Font.push_back(MonoSpaceFont);
@ -132,7 +132,7 @@ void CLogWindow::CreateGUIControls()
this->SetSizer(sUber); this->SetSizer(sUber);
// Settings // Settings
SetAffirmativeId(IDM_SUBMITCMD); // SetAffirmativeId(IDM_SUBMITCMD);
UpdateChecks(); UpdateChecks();
m_cmdline->SetFocus(); m_cmdline->SetFocus();
@ -302,7 +302,7 @@ void CLogWindow::PopulateRight()
this->Layout(); this->Layout();
} }
wxTextCtrl* CLogWindow::CreateTextCtrl(wxDialog* parent, wxWindowID id, long Style) wxTextCtrl* CLogWindow::CreateTextCtrl(wxPanel* parent, wxWindowID id, long Style)
{ {
wxTextCtrl* TC = new wxTextCtrl(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, Style); wxTextCtrl* TC = new wxTextCtrl(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, Style);
TC->SetBackgroundColour(*wxBLACK); TC->SetBackgroundColour(*wxBLACK);

View File

@ -49,7 +49,7 @@ class wxString;
class CFrame; class CFrame;
// Uses multiple inheritance - only sane because LogListener is a pure virtual interface. // Uses multiple inheritance - only sane because LogListener is a pure virtual interface.
class CLogWindow : public wxDialog, LogListener class CLogWindow : public wxPanel, LogListener
{ {
public: public:
CLogWindow(CFrame *parent, CLogWindow(CFrame *parent,
@ -57,11 +57,7 @@ public:
const wxString& title = wxT("Log"), const wxString& title = wxT("Log"),
const wxPoint& pos = wxPoint(100, 700), const wxPoint& pos = wxPoint(100, 700),
const wxSize& size = wxSize(800, 270), const wxSize& size = wxSize(800, 270),
#ifdef _WIN32
long style = wxNO_BORDER); long style = wxNO_BORDER);
#else
long style = wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE);
#endif
~CLogWindow(); ~CLogWindow();
void NotifyUpdate(); void NotifyUpdate();
@ -92,7 +88,7 @@ private:
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
wxTextCtrl * CreateTextCtrl(wxDialog* parent, wxWindowID id = wxID_ANY, long Style = NULL); wxTextCtrl * CreateTextCtrl(wxPanel* parent, wxWindowID id = wxID_ANY, long Style = NULL);
void CreateGUIControls(); void CreateGUIControls();
void PopulateRight(); void UnPopulateRight(); void PopulateRight(); void UnPopulateRight();
void OnClose(wxCloseEvent& event); void OnClose(wxCloseEvent& event);