From 539a35fe803dc7f1c05256e91663b54dfebbb727 Mon Sep 17 00:00:00 2001 From: "Jake.Stine" Date: Thu, 16 Jul 2009 13:44:40 +0000 Subject: [PATCH] wxgui [Linux]: Updated project files, fixed docking logic. git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1532 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Linux/pcsx2.cbp | 39 +++---------------------------------- pcsx2/gui/App.h | 6 +++--- pcsx2/gui/ConsoleLogger.cpp | 12 +++++++----- pcsx2/gui/MainFrame.cpp | 32 +++++++++++++++++------------- pcsx2/x86/microVU_Log.inl | 14 +++++++------ 5 files changed, 40 insertions(+), 63 deletions(-) diff --git a/pcsx2/Linux/pcsx2.cbp b/pcsx2/Linux/pcsx2.cbp index 74c6bd11a9..c2e987a620 100644 --- a/pcsx2/Linux/pcsx2.cbp +++ b/pcsx2/Linux/pcsx2.cbp @@ -215,7 +215,6 @@ - @@ -231,7 +230,6 @@ - @@ -251,8 +249,6 @@ - - @@ -260,16 +256,16 @@ + + + - - - @@ -290,7 +286,6 @@ - @@ -339,9 +334,6 @@ - - - @@ -357,33 +349,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pcsx2/gui/App.h b/pcsx2/gui/App.h index a1787ea579..1ab74ff172 100644 --- a/pcsx2/gui/App.h +++ b/pcsx2/gui/App.h @@ -51,7 +51,7 @@ protected: { return m_table[(int)coloridx]; } - + void SetFont( const wxFont& font ); const wxTextAttr& Default() { return m_table[0]; } }; @@ -60,7 +60,7 @@ protected: wxTextCtrl& m_TextCtrl; ColorArray m_ColorTable; Console::Colors m_curcolor; - + public: // ctor & dtor ConsoleLogFrame(MainEmuFrame *pParent, const wxString& szTitle); @@ -75,7 +75,7 @@ protected: virtual void OnClose(wxMenuEvent& event); virtual void OnSave (wxMenuEvent& event); virtual void OnClear(wxMenuEvent& event); - + void OnWrite( wxCommandEvent& event ); void OnNewline( wxCommandEvent& event ); void OnSetTitle( wxCommandEvent& event ); diff --git a/pcsx2/gui/ConsoleLogger.cpp b/pcsx2/gui/ConsoleLogger.cpp index 95ce12e870..7b29fe29d8 100644 --- a/pcsx2/gui/ConsoleLogger.cpp +++ b/pcsx2/gui/ConsoleLogger.cpp @@ -130,9 +130,9 @@ ConsoleLogFrame::ConsoleLogFrame(MainEmuFrame *parent, const wxString& title) : // status bar for menu prompts CreateStatusBar(); ClearColor(); - + // Sync with configuration settings: - + wxASSERT_MSG( g_Conf != NULL, L"Console Log Frames must be created AFTER the configuration has been loaded" ); if( g_Conf != NULL ) { @@ -150,7 +150,7 @@ ConsoleLogFrame::ConsoleLogFrame(MainEmuFrame *parent, const wxString& title) : Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler(ConsoleLogFrame::OnCloseWindow) ); Connect( wxEVT_MOVE, wxMoveEventHandler(ConsoleLogFrame::OnMoveAround) ); Connect( wxEVT_SIZE, wxSizeEventHandler(ConsoleLogFrame::OnResize) ); - + Connect( wxEVT_LOG_Write, wxCommandEventHandler(ConsoleLogFrame::OnWrite) ); Connect( wxEVT_LOG_Newline, wxCommandEventHandler(ConsoleLogFrame::OnNewline) ); Connect( wxEVT_SetTitleText, wxCommandEventHandler(ConsoleLogFrame::OnSetTitle) ); @@ -170,6 +170,7 @@ void ConsoleLogFrame::OnMoveAround( wxMoveEvent& evt ) wxRect snapzone( topright - wxSize( 8,8 ), wxSize( 16,16 ) ); g_Conf->ConLogBox.AutoDock = snapzone.Contains( GetPosition() ); + Console::WriteLn( "DockCheck: %d", params g_Conf->ConLogBox.AutoDock ); if( g_Conf->ConLogBox.AutoDock ) { SetPosition( topright + wxSize( 1,0 ) ); @@ -201,9 +202,9 @@ void ConsoleLogFrame::OnOpen(wxMenuEvent& WXUNUSED(event)) void ConsoleLogFrame::OnClose( wxMenuEvent& event ) { - DoClose(); } + void ConsoleLogFrame::OnCloseWindow(wxCloseEvent& event) { if( event.CanVeto() ) @@ -256,7 +257,7 @@ void ConsoleLogFrame::ClearColor() void ConsoleLogFrame::OnWrite( wxCommandEvent& event ) { Colors color = (Colors)event.GetExtraLong(); - + if( color != m_curcolor ) m_TextCtrl.SetDefaultStyle( m_ColorTable[m_curcolor=color] ); @@ -275,6 +276,7 @@ void ConsoleLogFrame::OnSetTitle( wxCommandEvent& event ) void ConsoleLogFrame::OnDockedMove( wxCommandEvent& event ) { + Console::Error( "Dock Message: %d, %d", params g_Conf->ConLogBox.DisplayPosition.x, g_Conf->ConLogBox.DisplayPosition.y ); if( g_Conf != NULL ) SetPosition( g_Conf->ConLogBox.DisplayPosition ); } diff --git a/pcsx2/gui/MainFrame.cpp b/pcsx2/gui/MainFrame.cpp index a02237d4a9..f861b28739 100644 --- a/pcsx2/gui/MainFrame.cpp +++ b/pcsx2/gui/MainFrame.cpp @@ -83,7 +83,7 @@ wxMenu* MainEmuFrame::MakeIsoMenu() // Add in the recent files! /*const StringListNode* cruise = g_Conf->RecentIsos; - + int i = 0; int threshold = 15; while( cruise != NULL && (--threshold >= 0) ) @@ -95,7 +95,7 @@ wxMenu* MainEmuFrame::MakeIsoMenu() // Ellipsize it! wxFileName src( *cruise->item ); ellipsized = src.GetVolume() + wxFileName::GetVolumeSeparator() + wxFileName::GetPathSeparator() + L"..."; - + const wxArrayString& dirs( src.GetDirs() ); int totalLen = ellipsized.Length(); int i=dirs.Count()-1; @@ -116,7 +116,7 @@ wxMenu* MainEmuFrame::MakeIsoMenu() mnuIso->Append( Menu_Iso_Recent+i, Path::GetFilename( ellipsized ), *cruise->item ); }*/ - + if( g_RecentIsoList != NULL ) { g_RecentIsoList->UseMenu( mnuIso ); @@ -174,17 +174,23 @@ void MainEmuFrame::OnCloseWindow(wxCloseEvent& evt) void MainEmuFrame::OnMoveAround( wxMoveEvent& evt ) { + // wxGTK note: X sends gratuitous amounts of OnMove messages for various crap actions + // like selecting or deselecting a window, which muck up docking logic. We filter them + // out using 'lastpos' here. :) + + static wxPoint lastpos( wxDefaultCoord, wxDefaultCoord ); + + if( lastpos == evt.GetPosition() ) return; + lastpos = evt.GetPosition(); if( g_Conf->ConLogBox.AutoDock ) { g_Conf->ConLogBox.DisplayPosition = GetRect().GetTopRight(); - - // Send the move event our window ID, which allows the logbox to know that this - // move event comes from us, and needs a special handler. - wxCommandEvent evt( wxEVT_DockConsole ); - wxGetApp().ConsoleLog_PostEvent( evt ); + wxCommandEvent conevt( wxEVT_DockConsole ); + wxGetApp().ProgramLog_PostEvent( conevt ); } - - g_Conf->MainGuiPosition = GetPosition(); + + Console::Error( "XWindows Messages Suck: %d, %d", params GetPosition().x, GetPosition().y ); + g_Conf->MainGuiPosition = evt.GetPosition(); //evt.Skip(); } @@ -203,7 +209,7 @@ void MainEmuFrame::ConnectMenus() ConnectMenu( Menu_Config_Settings, Menu_ConfigSettings_Click ); ConnectMenu( Menu_RunWithoutDisc, Menu_RunWithoutDisc_Click ); - + ConnectMenu( Menu_IsoBrowse, Menu_IsoBrowse_Click ); Connect( wxID_FILE1, wxID_FILE1+20, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainEmuFrame::Menu_IsoRecent_Click) ); @@ -390,7 +396,7 @@ MainEmuFrame::MainEmuFrame(wxWindow* parent, int id, const wxString& title, cons m_menuDebug.Append(Menu_Debug_Logging, _T("Logging..."), wxEmptyString, wxITEM_NORMAL); m_MenuItem_Console.Check( g_Conf->ConLogBox.Visible ); - + ConnectMenus(); Connect( wxEVT_MOVE, wxMoveEventHandler (MainEmuFrame::OnMoveAround) ); Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler(MainEmuFrame::OnCloseWindow) ); @@ -470,7 +476,7 @@ void MainEmuFrame::Menu_Debug_Logging_Click(wxCommandEvent &event) void MainEmuFrame::Menu_ShowConsole(wxCommandEvent &event) { // Use messages to relay open/close commands (thread-safe) - + g_Conf->ConLogBox.Visible = event.IsChecked(); wxCommandEvent evt( wxEVT_COMMAND_MENU_SELECTED, g_Conf->ConLogBox.Visible ? wxID_OPEN : wxID_CLOSE ); wxGetApp().ProgramLog_PostEvent( evt ); diff --git a/pcsx2/x86/microVU_Log.inl b/pcsx2/x86/microVU_Log.inl index 171f4ec340..dfb6178144 100644 --- a/pcsx2/x86/microVU_Log.inl +++ b/pcsx2/x86/microVU_Log.inl @@ -5,12 +5,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * 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 for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA @@ -47,10 +47,12 @@ microVUx(void) __mVUdumpProgram(int progIndex) { int bCode = mVU->code; int bPC = iPC; mVUbranch = 0; + + // fixme: This needs recdone using wxFile and wxString - sprintf(str, "%s\\microVU%d prog - %02d.html", LOGS_DIR, vuIndex, progIndex); + sprintf(str, "%s\\microVU%d prog - %02d.html", "logs", vuIndex, progIndex); mVU->logFile = fopen(str, "w"); - + mVUlog("\n"); mVUlog("microVU%d MicroProgram Log\n", vuIndex); mVUlog("\n"); @@ -90,8 +92,8 @@ microVUx(void) __mVUdumpProgram(int progIndex) { mVUlog("[%04x] (%08x) ", i*4, mVU->code); mVUopU(mVU, 2); - if (bitX[5]) { - mVUlog(" ("); + if (bitX[5]) { + mVUlog(" ("); if (bitX[0]) { mVUlog("I"); bitX[6] = 1; } if (bitX[1]) { commaIf(); mVUlog("E"); bitX[6] = 1; } if (bitX[2]) { commaIf(); mVUlog("M"); bitX[6] = 1; }