aboutsummaryrefslogtreecommitdiff
path: root/sp/src/utils/common/consolewnd.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /sp/src/utils/common/consolewnd.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/utils/common/consolewnd.cpp')
-rw-r--r--sp/src/utils/common/consolewnd.cpp666
1 files changed, 333 insertions, 333 deletions
diff --git a/sp/src/utils/common/consolewnd.cpp b/sp/src/utils/common/consolewnd.cpp
index 8802e39e..6201409a 100644
--- a/sp/src/utils/common/consolewnd.cpp
+++ b/sp/src/utils/common/consolewnd.cpp
@@ -1,333 +1,333 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#include <windows.h>
-#include "consolewnd.h"
-
-
-#pragma warning( disable : 4311 ) // warning C4311: 'reinterpret_cast' : pointer truncation from 'CConsoleWnd *const ' to 'LONG'
-#pragma warning( disable : 4312 ) // warning C4312: 'type cast' : conversion from 'LONG' to 'CConsoleWnd *' of greater size
-
-#define EDITCONTROL_BORDER_SIZE 5
-
-
-// ------------------------------------------------------------------------------------------------ //
-// Functions to manage the console window.
-// ------------------------------------------------------------------------------------------------ //
-
-class CConsoleWnd : public IConsoleWnd
-{
-public:
- CConsoleWnd();
- ~CConsoleWnd();
-
- bool Init( void *hInstance, int dialogResourceID, int editControlID, bool bVisible );
- void Term();
-
- virtual void Release();
-
- virtual void SetVisible( bool bVisible );
- virtual bool IsVisible() const;
-
- virtual void PrintToConsole( const char *pMsg );
- virtual void SetTitle( const char *pTitle );
-
- virtual void SetDeleteOnClose( bool bDelete );
-
-
-private:
-
- int WindowProc(
- HWND hwndDlg, // handle to dialog box
- UINT uMsg, // message
- WPARAM wParam, // first message parameter
- LPARAM lParam // second message parameter
- );
-
- static int CALLBACK StaticWindowProc(
- HWND hwndDlg, // handle to dialog box
- UINT uMsg, // message
- WPARAM wParam, // first message parameter
- LPARAM lParam // second message parameter
- );
-
- void RepositionEditControl();
-
-
-private:
-
- HWND m_hWnd;
- HWND m_hEditControl;
- bool m_bVisible;
- bool m_bDeleteOnClose;
- int m_nCurrentChars;
-};
-
-
-CConsoleWnd::CConsoleWnd()
-{
- m_hWnd = m_hEditControl = NULL;
- m_bVisible = false;
- m_bDeleteOnClose = false;
- m_nCurrentChars = 0;
-}
-
-
-CConsoleWnd::~CConsoleWnd()
-{
- Term();
-}
-
-bool CConsoleWnd::Init( void *hInstance, int dialogResourceID, int editControlID, bool bVisible )
-{
- // Create the window.
- m_hWnd = CreateDialog(
- (HINSTANCE)hInstance,
- MAKEINTRESOURCE( dialogResourceID ),
- NULL,
- &CConsoleWnd::StaticWindowProc );
-
- if ( !m_hWnd )
- return false;
-
- SetWindowLong( m_hWnd, GWL_USERDATA, reinterpret_cast< LONG >( this ) );
- if ( bVisible )
- ShowWindow( m_hWnd, SW_SHOW );
-
- // Get a handle to the edit control.
- m_hEditControl = GetDlgItem( m_hWnd, editControlID );
- if ( !m_hEditControl )
- return false;
-
- RepositionEditControl();
-
- m_bVisible = bVisible;
- return true;
-}
-
-
-void CConsoleWnd::Term()
-{
- if ( m_hWnd )
- {
- DestroyWindow( m_hWnd );
- m_hWnd = NULL;
- }
-}
-
-
-void CConsoleWnd::Release()
-{
- delete this;
-}
-
-
-void CConsoleWnd::SetVisible( bool bVisible )
-{
- ShowWindow( m_hWnd, bVisible ? SW_RESTORE : SW_HIDE );
-
- if ( bVisible )
- {
- ShowWindow( m_hWnd, SW_SHOW );
- SetWindowPos( m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE );
- UpdateWindow( m_hWnd );
-
- int nLen = (int)SendMessage( m_hEditControl, EM_GETLIMITTEXT, 0, 0 );
- SendMessage( m_hEditControl, EM_SETSEL, nLen, nLen );
- }
- else
- {
- SetWindowPos( m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_HIDEWINDOW | SWP_NOOWNERZORDER );
- }
-
- m_bVisible = bVisible;
-}
-
-
-bool CConsoleWnd::IsVisible() const
-{
- return m_bVisible;
-}
-
-
-void CConsoleWnd::PrintToConsole( const char *pMsg )
-{
- if ( m_nCurrentChars >= 16*1024 )
- {
- // Clear the edit control otherwise it'll stop outputting anything.
- m_nCurrentChars = 0;
-
- int nLen = (int)SendMessage( m_hEditControl, EM_GETLIMITTEXT, 0, 0 );
- SendMessage( m_hEditControl, EM_SETSEL, 0, nLen );
- SendMessage( m_hEditControl, EM_REPLACESEL, FALSE, (LPARAM)"" );
- }
-
- FormatAndSendToEditControl( m_hEditControl, pMsg );
- m_nCurrentChars += (int)strlen( pMsg );
-}
-
-
-void CConsoleWnd::SetTitle( const char *pTitle )
-{
- SetWindowText( m_hWnd, pTitle );
-}
-
-
-int CConsoleWnd::WindowProc(
- HWND hwndDlg, // handle to dialog box
- UINT uMsg, // message
- WPARAM wParam, // first message parameter
- LPARAM lParam // second message parameter
- )
-{
- lParam = lParam; // avoid compiler warning
-
- if ( hwndDlg != m_hWnd )
- return false;
-
- switch ( uMsg )
- {
- case WM_SYSCOMMAND:
- {
- if ( wParam == SC_CLOSE )
- {
- if ( m_bDeleteOnClose )
- {
- Release();
- }
- else
- {
- SetVisible( false );
- return true;
- }
- }
- }
- break;
-
- case WM_SHOWWINDOW:
- {
- m_bVisible = (wParam != 0);
- }
- break;
-
- case WM_SIZE:
- case WM_INITDIALOG:
- {
- RepositionEditControl();
- }
- break;
- }
-
- return false;
-}
-
-
-int CConsoleWnd::StaticWindowProc(
- HWND hwndDlg, // handle to dialog box
- UINT uMsg, // message
- WPARAM wParam, // first message parameter
- LPARAM lParam // second message parameter
- )
-{
- CConsoleWnd *pDlg = (CConsoleWnd*)GetWindowLong( hwndDlg, GWL_USERDATA );
- if ( pDlg )
- return pDlg->WindowProc( hwndDlg, uMsg, wParam, lParam );
- else
- return false;
-}
-
-
-void CConsoleWnd::RepositionEditControl()
-{
- RECT rcMain;
- GetClientRect( m_hWnd, &rcMain );
-
- RECT rcNew;
- rcNew.left = rcMain.left + EDITCONTROL_BORDER_SIZE;
- rcNew.right = rcMain.right - EDITCONTROL_BORDER_SIZE;
- rcNew.top = rcMain.top + EDITCONTROL_BORDER_SIZE;
- rcNew.bottom = rcMain.bottom - EDITCONTROL_BORDER_SIZE;
-
- SetWindowPos(
- m_hEditControl,
- NULL,
- rcNew.left,
- rcNew.top,
- rcNew.right - rcNew.left,
- rcNew.bottom - rcNew.top,
- SWP_NOZORDER );
-}
-
-
-void CConsoleWnd::SetDeleteOnClose( bool bDelete )
-{
- m_bDeleteOnClose = bDelete;
-}
-
-
-// ------------------------------------------------------------------------------------ //
-// Module interface.
-// ------------------------------------------------------------------------------------ //
-
-void SendToEditControl( HWND hEditControl, const char *pText )
-{
- int nLen = (int)SendMessage( hEditControl, EM_GETLIMITTEXT, 0, 0 );
- SendMessage( hEditControl, EM_SETSEL, nLen, nLen );
- SendMessage( hEditControl, EM_REPLACESEL, FALSE, (LPARAM)pText );
-}
-
-
-void FormatAndSendToEditControl( void *hWnd, const char *pText )
-{
- HWND hEditControl = (HWND)hWnd;
-
- // Translate \n to \r\n.
- char outMsg[1024];
- const char *pIn = pText;
- char *pOut = outMsg;
- while ( *pIn )
- {
- if ( *pIn == '\n' )
- {
- *pOut = '\r';
- pOut++;
- }
- *pOut = *pIn;
-
- ++pIn;
- ++pOut;
-
- if ( pOut - outMsg >= 1020 )
- {
- *pOut = 0;
- SendToEditControl( hEditControl, outMsg );
- pOut = outMsg;
- }
- }
- *pOut = 0;
- SendToEditControl( hEditControl, outMsg );
-}
-
-
-IConsoleWnd* CreateConsoleWnd( void *hInstance, int dialogResourceID, int editControlID, bool bVisible )
-{
- CConsoleWnd *pWnd = new CConsoleWnd;
-
- if ( pWnd->Init( hInstance, dialogResourceID, editControlID, bVisible ) )
- {
- return pWnd;
- }
- else
- {
- pWnd->Release();
- return NULL;
- }
-}
-
-
-
-
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#include <windows.h>
+#include "consolewnd.h"
+
+
+#pragma warning( disable : 4311 ) // warning C4311: 'reinterpret_cast' : pointer truncation from 'CConsoleWnd *const ' to 'LONG'
+#pragma warning( disable : 4312 ) // warning C4312: 'type cast' : conversion from 'LONG' to 'CConsoleWnd *' of greater size
+
+#define EDITCONTROL_BORDER_SIZE 5
+
+
+// ------------------------------------------------------------------------------------------------ //
+// Functions to manage the console window.
+// ------------------------------------------------------------------------------------------------ //
+
+class CConsoleWnd : public IConsoleWnd
+{
+public:
+ CConsoleWnd();
+ ~CConsoleWnd();
+
+ bool Init( void *hInstance, int dialogResourceID, int editControlID, bool bVisible );
+ void Term();
+
+ virtual void Release();
+
+ virtual void SetVisible( bool bVisible );
+ virtual bool IsVisible() const;
+
+ virtual void PrintToConsole( const char *pMsg );
+ virtual void SetTitle( const char *pTitle );
+
+ virtual void SetDeleteOnClose( bool bDelete );
+
+
+private:
+
+ int WindowProc(
+ HWND hwndDlg, // handle to dialog box
+ UINT uMsg, // message
+ WPARAM wParam, // first message parameter
+ LPARAM lParam // second message parameter
+ );
+
+ static int CALLBACK StaticWindowProc(
+ HWND hwndDlg, // handle to dialog box
+ UINT uMsg, // message
+ WPARAM wParam, // first message parameter
+ LPARAM lParam // second message parameter
+ );
+
+ void RepositionEditControl();
+
+
+private:
+
+ HWND m_hWnd;
+ HWND m_hEditControl;
+ bool m_bVisible;
+ bool m_bDeleteOnClose;
+ int m_nCurrentChars;
+};
+
+
+CConsoleWnd::CConsoleWnd()
+{
+ m_hWnd = m_hEditControl = NULL;
+ m_bVisible = false;
+ m_bDeleteOnClose = false;
+ m_nCurrentChars = 0;
+}
+
+
+CConsoleWnd::~CConsoleWnd()
+{
+ Term();
+}
+
+bool CConsoleWnd::Init( void *hInstance, int dialogResourceID, int editControlID, bool bVisible )
+{
+ // Create the window.
+ m_hWnd = CreateDialog(
+ (HINSTANCE)hInstance,
+ MAKEINTRESOURCE( dialogResourceID ),
+ NULL,
+ &CConsoleWnd::StaticWindowProc );
+
+ if ( !m_hWnd )
+ return false;
+
+ SetWindowLong( m_hWnd, GWL_USERDATA, reinterpret_cast< LONG >( this ) );
+ if ( bVisible )
+ ShowWindow( m_hWnd, SW_SHOW );
+
+ // Get a handle to the edit control.
+ m_hEditControl = GetDlgItem( m_hWnd, editControlID );
+ if ( !m_hEditControl )
+ return false;
+
+ RepositionEditControl();
+
+ m_bVisible = bVisible;
+ return true;
+}
+
+
+void CConsoleWnd::Term()
+{
+ if ( m_hWnd )
+ {
+ DestroyWindow( m_hWnd );
+ m_hWnd = NULL;
+ }
+}
+
+
+void CConsoleWnd::Release()
+{
+ delete this;
+}
+
+
+void CConsoleWnd::SetVisible( bool bVisible )
+{
+ ShowWindow( m_hWnd, bVisible ? SW_RESTORE : SW_HIDE );
+
+ if ( bVisible )
+ {
+ ShowWindow( m_hWnd, SW_SHOW );
+ SetWindowPos( m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE );
+ UpdateWindow( m_hWnd );
+
+ int nLen = (int)SendMessage( m_hEditControl, EM_GETLIMITTEXT, 0, 0 );
+ SendMessage( m_hEditControl, EM_SETSEL, nLen, nLen );
+ }
+ else
+ {
+ SetWindowPos( m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_HIDEWINDOW | SWP_NOOWNERZORDER );
+ }
+
+ m_bVisible = bVisible;
+}
+
+
+bool CConsoleWnd::IsVisible() const
+{
+ return m_bVisible;
+}
+
+
+void CConsoleWnd::PrintToConsole( const char *pMsg )
+{
+ if ( m_nCurrentChars >= 16*1024 )
+ {
+ // Clear the edit control otherwise it'll stop outputting anything.
+ m_nCurrentChars = 0;
+
+ int nLen = (int)SendMessage( m_hEditControl, EM_GETLIMITTEXT, 0, 0 );
+ SendMessage( m_hEditControl, EM_SETSEL, 0, nLen );
+ SendMessage( m_hEditControl, EM_REPLACESEL, FALSE, (LPARAM)"" );
+ }
+
+ FormatAndSendToEditControl( m_hEditControl, pMsg );
+ m_nCurrentChars += (int)strlen( pMsg );
+}
+
+
+void CConsoleWnd::SetTitle( const char *pTitle )
+{
+ SetWindowText( m_hWnd, pTitle );
+}
+
+
+int CConsoleWnd::WindowProc(
+ HWND hwndDlg, // handle to dialog box
+ UINT uMsg, // message
+ WPARAM wParam, // first message parameter
+ LPARAM lParam // second message parameter
+ )
+{
+ lParam = lParam; // avoid compiler warning
+
+ if ( hwndDlg != m_hWnd )
+ return false;
+
+ switch ( uMsg )
+ {
+ case WM_SYSCOMMAND:
+ {
+ if ( wParam == SC_CLOSE )
+ {
+ if ( m_bDeleteOnClose )
+ {
+ Release();
+ }
+ else
+ {
+ SetVisible( false );
+ return true;
+ }
+ }
+ }
+ break;
+
+ case WM_SHOWWINDOW:
+ {
+ m_bVisible = (wParam != 0);
+ }
+ break;
+
+ case WM_SIZE:
+ case WM_INITDIALOG:
+ {
+ RepositionEditControl();
+ }
+ break;
+ }
+
+ return false;
+}
+
+
+int CConsoleWnd::StaticWindowProc(
+ HWND hwndDlg, // handle to dialog box
+ UINT uMsg, // message
+ WPARAM wParam, // first message parameter
+ LPARAM lParam // second message parameter
+ )
+{
+ CConsoleWnd *pDlg = (CConsoleWnd*)GetWindowLong( hwndDlg, GWL_USERDATA );
+ if ( pDlg )
+ return pDlg->WindowProc( hwndDlg, uMsg, wParam, lParam );
+ else
+ return false;
+}
+
+
+void CConsoleWnd::RepositionEditControl()
+{
+ RECT rcMain;
+ GetClientRect( m_hWnd, &rcMain );
+
+ RECT rcNew;
+ rcNew.left = rcMain.left + EDITCONTROL_BORDER_SIZE;
+ rcNew.right = rcMain.right - EDITCONTROL_BORDER_SIZE;
+ rcNew.top = rcMain.top + EDITCONTROL_BORDER_SIZE;
+ rcNew.bottom = rcMain.bottom - EDITCONTROL_BORDER_SIZE;
+
+ SetWindowPos(
+ m_hEditControl,
+ NULL,
+ rcNew.left,
+ rcNew.top,
+ rcNew.right - rcNew.left,
+ rcNew.bottom - rcNew.top,
+ SWP_NOZORDER );
+}
+
+
+void CConsoleWnd::SetDeleteOnClose( bool bDelete )
+{
+ m_bDeleteOnClose = bDelete;
+}
+
+
+// ------------------------------------------------------------------------------------ //
+// Module interface.
+// ------------------------------------------------------------------------------------ //
+
+void SendToEditControl( HWND hEditControl, const char *pText )
+{
+ int nLen = (int)SendMessage( hEditControl, EM_GETLIMITTEXT, 0, 0 );
+ SendMessage( hEditControl, EM_SETSEL, nLen, nLen );
+ SendMessage( hEditControl, EM_REPLACESEL, FALSE, (LPARAM)pText );
+}
+
+
+void FormatAndSendToEditControl( void *hWnd, const char *pText )
+{
+ HWND hEditControl = (HWND)hWnd;
+
+ // Translate \n to \r\n.
+ char outMsg[1024];
+ const char *pIn = pText;
+ char *pOut = outMsg;
+ while ( *pIn )
+ {
+ if ( *pIn == '\n' )
+ {
+ *pOut = '\r';
+ pOut++;
+ }
+ *pOut = *pIn;
+
+ ++pIn;
+ ++pOut;
+
+ if ( pOut - outMsg >= 1020 )
+ {
+ *pOut = 0;
+ SendToEditControl( hEditControl, outMsg );
+ pOut = outMsg;
+ }
+ }
+ *pOut = 0;
+ SendToEditControl( hEditControl, outMsg );
+}
+
+
+IConsoleWnd* CreateConsoleWnd( void *hInstance, int dialogResourceID, int editControlID, bool bVisible )
+{
+ CConsoleWnd *pWnd = new CConsoleWnd;
+
+ if ( pWnd->Init( hInstance, dialogResourceID, editControlID, bVisible ) )
+ {
+ return pWnd;
+ }
+ else
+ {
+ pWnd->Release();
+ return NULL;
+ }
+}
+
+
+
+