diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/client/replay/vgui/replayperformancesavedlg.cpp | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/client/replay/vgui/replayperformancesavedlg.cpp')
| -rw-r--r-- | mp/src/game/client/replay/vgui/replayperformancesavedlg.cpp | 520 |
1 files changed, 260 insertions, 260 deletions
diff --git a/mp/src/game/client/replay/vgui/replayperformancesavedlg.cpp b/mp/src/game/client/replay/vgui/replayperformancesavedlg.cpp index f7352a77..e7efa0c1 100644 --- a/mp/src/game/client/replay/vgui/replayperformancesavedlg.cpp +++ b/mp/src/game/client/replay/vgui/replayperformancesavedlg.cpp @@ -1,261 +1,261 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-//=======================================================================================//
-
-#include "cbase.h"
-
-#if defined( REPLAY_ENABLED )
-
-#include "replayperformancesavedlg.h"
-#include "replay/performance.h"
-#include "replay/ireplaymanager.h"
-#include "replay/ireplayperformancecontroller.h"
-#include "replay/replay.h"
-#include "econ/confirm_dialog.h"
-#include "vgui_controls/EditablePanel.h"
-#include "vgui_controls/TextEntry.h"
-#include "vgui_controls/TextImage.h"
-#include "vgui/ISurface.h"
-#include "replay/replaycamera.h"
-#include "replayperformanceeditor.h"
-
-//-----------------------------------------------------------------------------
-
-using namespace vgui;
-
-//-----------------------------------------------------------------------------
-// Purpose: Player input dialog for a replay
-//-----------------------------------------------------------------------------
-class CReplayPerformanceSaveDlg : public EditablePanel
-{
-private:
- DECLARE_CLASS_SIMPLE( CReplayPerformanceSaveDlg, EditablePanel );
-
-public:
- CReplayPerformanceSaveDlg( Panel *pParent, const char *pName,
- OnConfirmSaveCallback pfnCallback, void *pContext, CReplay *pReplay, bool bExitEditorWhenDone );
- ~CReplayPerformanceSaveDlg();
-
- static void Show( OnConfirmSaveCallback pfnCallback, void *pContext, CReplay *pReplay,
- bool bExitEditorWhenDone );
-
- virtual void ApplySchemeSettings( IScheme *pScheme );
- virtual void PerformLayout();
- virtual void OnCommand( const char *command );
- virtual void OnKeyCodePressed( KeyCode code );
- virtual void OnKeyCodeTyped( KeyCode code );
-
- bool ConfirmOverwriteOrSaveNow();
- void CloseWindow();
-
- static void OnConfirmOverwrite( bool bConfirm, void *pContext );
-
- MESSAGE_FUNC( OnSetFocus, "SetFocus" );
-
- static vgui::DHANDLE< CReplayPerformanceSaveDlg > ms_hDlg;
-
-private:
- OnConfirmSaveCallback m_pfnCallback;
- void *m_pContext;
- Panel *m_pDlg;
- CReplay *m_pReplay;
- TextEntry *m_pTitleEntry;
- bool m_bExitEditorWhenDone;
- wchar_t m_wszTitle[ MAX_TAKE_TITLE_LENGTH ];
-};
-
-vgui::DHANDLE< CReplayPerformanceSaveDlg > CReplayPerformanceSaveDlg::ms_hDlg;
-
-//-----------------------------------------------------------------------------
-// Purpose: CReplayPerformanceSaveDlg implementation
-//-----------------------------------------------------------------------------
-CReplayPerformanceSaveDlg::CReplayPerformanceSaveDlg( Panel *pParent, const char *pName,
- OnConfirmSaveCallback pfnCallback, void *pContext,
- CReplay *pReplay, bool bExitEditorWhenDone )
-: BaseClass( pParent, pName ),
- m_pfnCallback( pfnCallback ),
- m_pContext( pContext ),
- m_pReplay( pReplay ),
- m_bExitEditorWhenDone( bExitEditorWhenDone ),
- m_pDlg( NULL ),
- m_pTitleEntry( NULL )
-{
- Assert( m_pContext );
-
- SetScheme( "ClientScheme" );
- SetProportional( true );
-}
-
-CReplayPerformanceSaveDlg::~CReplayPerformanceSaveDlg()
-{
- ms_hDlg = NULL;
-}
-
-/*static*/ void CReplayPerformanceSaveDlg::Show( OnConfirmSaveCallback pfnCallback, void *pContext, CReplay *pReplay,
- bool bExitEditorWhenDone )
-{
- Assert( !ms_hDlg.Get() );
-
- ms_hDlg = vgui::SETUP_PANEL( new CReplayPerformanceSaveDlg( NULL, "ReplayInputPanel", pfnCallback, pContext, pReplay, bExitEditorWhenDone ) );
- ms_hDlg->SetVisible( true );
- ms_hDlg->MakePopup();
- ms_hDlg->MoveToFront();
- ms_hDlg->SetKeyBoardInputEnabled(true);
- ms_hDlg->SetMouseInputEnabled(true);
- TFModalStack()->PushModal( ms_hDlg );
- engine->ClientCmd_Unrestricted( "gameui_hide" );
-
- ReplayCamera()->EnableInput( false );
-}
-
-void CReplayPerformanceSaveDlg::ApplySchemeSettings( IScheme *pScheme )
-{
- BaseClass::ApplySchemeSettings( pScheme );
-
- LoadControlSettings( "resource/ui/replayperformanceeditor/savedlg.res", "GAME" );
-
- // Cache off the dlg pointer
- m_pDlg = FindChildByName( "Dlg" );
-
- CExButton *pDiscardButton;
- pDiscardButton = dynamic_cast< CExButton * >( m_pDlg->FindChildByName( "DiscardButton" ) );
- SetXToRed( pDiscardButton );
-
- // Setup some action sigs
- m_pDlg->FindChildByName( "SaveButton" )->AddActionSignalTarget( this );
- m_pDlg->FindChildByName( "CancelButton" )->AddActionSignalTarget( this );
- pDiscardButton->AddActionSignalTarget( this );
-
- m_pTitleEntry = static_cast< TextEntry * >( m_pDlg->FindChildByName( "TitleInput" ) );
- m_pTitleEntry->SelectAllOnFocusAlways( true );
- m_pTitleEntry->SetSelectionBgColor( GetSchemeColor( "Yellow", Color( 255, 255, 255, 255), pScheme ) );
- m_pTitleEntry->SetSelectionTextColor( Color( 255, 255, 255, 255 ) );
- m_pTitleEntry->SetText( L"" );
-}
-
-void CReplayPerformanceSaveDlg::PerformLayout()
-{
- BaseClass::PerformLayout();
-
- SetWide( ScreenWidth() );
- SetTall( ScreenHeight() );
-
- // Center
- m_pDlg->SetPos( ( ScreenWidth() - m_pDlg->GetWide() ) / 2, ( ScreenHeight() - m_pDlg->GetTall() ) / 2 );
-}
-
-void CReplayPerformanceSaveDlg::OnKeyCodeTyped( KeyCode code )
-{
- if ( code == KEY_ESCAPE )
- {
- surface()->PlaySound( "replay\\record_fail.wav" );
- return;
- }
-
- BaseClass::OnKeyCodeTyped( code );
-}
-
-void CReplayPerformanceSaveDlg::OnKeyCodePressed( KeyCode code )
-{
- if ( code == KEY_ENTER )
- {
- OnCommand( "save" );
- }
-
- BaseClass::OnKeyCodePressed( code );
-}
-
-void CReplayPerformanceSaveDlg::OnSetFocus()
-{
- m_pTitleEntry->RequestFocus();
-}
-
-/*static*/ void CReplayPerformanceSaveDlg::OnConfirmOverwrite( bool bConfirm, void *pContext )
-{
- CReplayPerformanceSaveDlg *pThis = (CReplayPerformanceSaveDlg *)pContext;
- pThis->m_pfnCallback( bConfirm, pThis->m_wszTitle, pThis->m_pContext );
- pThis->CloseWindow();
-}
-
-bool CReplayPerformanceSaveDlg::ConfirmOverwriteOrSaveNow()
-{
- // Using the same title as an existing performance?
- CReplayPerformance *pExistingPerformance = m_pReplay->GetPerformanceWithTitle( m_wszTitle );
- if ( pExistingPerformance )
- {
- ShowConfirmDialog( "#Replay_OverwriteDlgTitle", "#Replay_OverwriteDlgText",
- "#Replay_ConfirmOverwrite", "#Replay_Cancel", OnConfirmOverwrite, NULL, this );
- return false;
- }
-
- m_pfnCallback( true, m_wszTitle, m_pContext );
-
- return true;
-}
-
-void CReplayPerformanceSaveDlg::OnCommand( const char *command )
-{
- bool bCloseWindow = false;
-
- extern IReplayPerformanceController *g_pReplayPerformanceController;
-
- if ( !Q_strnicmp( command, "save", 4 ) )
- {
- // Get the text and save the replay/performance immediately
- m_pTitleEntry->GetText( m_wszTitle, MAX_TAKE_TITLE_LENGTH );
-
- // If we aren't overwriting an existing performance, this func will return true.
- bCloseWindow = ConfirmOverwriteOrSaveNow();
- }
- else if ( !Q_strnicmp( command, "cancel", 6 ) )
- {
- bCloseWindow = true;
- }
-
- // Close the window?
- if ( bCloseWindow )
- {
- CloseWindow();
- }
-
- BaseClass::OnCommand( command );
-}
-
-void CReplayPerformanceSaveDlg::CloseWindow()
-{
- SetVisible( false );
- MarkForDeletion();
- TFModalStack()->PopModal( ms_hDlg.Get() );
- ReplayCamera()->EnableInput( true );
-
- CReplayPerformanceEditorPanel *pEditor = ReplayUI_GetPerformanceEditor();
- if ( m_bExitEditorWhenDone && pEditor )
- {
- pEditor->Exit();
- }
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void ReplayUI_ShowPerformanceSaveDlg( OnConfirmSaveCallback pfnCallback,
- void *pContext, CReplay *pReplay,
- bool bExitEditorWhenDone )
-{
- CReplayPerformanceSaveDlg::Show( pfnCallback, pContext, pReplay, bExitEditorWhenDone );
-}
-
-bool ReplayUI_IsPerformanceSaveDlgOpen()
-{
- return CReplayPerformanceSaveDlg::ms_hDlg.Get() != NULL;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose: Test the replay input dialog
-//-----------------------------------------------------------------------------
-CON_COMMAND_F( replay_test_take_save_dlg, "Open replay save take dlg", FCVAR_NONE )
-{
- ReplayUI_ShowPerformanceSaveDlg( NULL, NULL, NULL, false );
-}
-
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +//=======================================================================================// + +#include "cbase.h" + +#if defined( REPLAY_ENABLED ) + +#include "replayperformancesavedlg.h" +#include "replay/performance.h" +#include "replay/ireplaymanager.h" +#include "replay/ireplayperformancecontroller.h" +#include "replay/replay.h" +#include "econ/confirm_dialog.h" +#include "vgui_controls/EditablePanel.h" +#include "vgui_controls/TextEntry.h" +#include "vgui_controls/TextImage.h" +#include "vgui/ISurface.h" +#include "replay/replaycamera.h" +#include "replayperformanceeditor.h" + +//----------------------------------------------------------------------------- + +using namespace vgui; + +//----------------------------------------------------------------------------- +// Purpose: Player input dialog for a replay +//----------------------------------------------------------------------------- +class CReplayPerformanceSaveDlg : public EditablePanel +{ +private: + DECLARE_CLASS_SIMPLE( CReplayPerformanceSaveDlg, EditablePanel ); + +public: + CReplayPerformanceSaveDlg( Panel *pParent, const char *pName, + OnConfirmSaveCallback pfnCallback, void *pContext, CReplay *pReplay, bool bExitEditorWhenDone ); + ~CReplayPerformanceSaveDlg(); + + static void Show( OnConfirmSaveCallback pfnCallback, void *pContext, CReplay *pReplay, + bool bExitEditorWhenDone ); + + virtual void ApplySchemeSettings( IScheme *pScheme ); + virtual void PerformLayout(); + virtual void OnCommand( const char *command ); + virtual void OnKeyCodePressed( KeyCode code ); + virtual void OnKeyCodeTyped( KeyCode code ); + + bool ConfirmOverwriteOrSaveNow(); + void CloseWindow(); + + static void OnConfirmOverwrite( bool bConfirm, void *pContext ); + + MESSAGE_FUNC( OnSetFocus, "SetFocus" ); + + static vgui::DHANDLE< CReplayPerformanceSaveDlg > ms_hDlg; + +private: + OnConfirmSaveCallback m_pfnCallback; + void *m_pContext; + Panel *m_pDlg; + CReplay *m_pReplay; + TextEntry *m_pTitleEntry; + bool m_bExitEditorWhenDone; + wchar_t m_wszTitle[ MAX_TAKE_TITLE_LENGTH ]; +}; + +vgui::DHANDLE< CReplayPerformanceSaveDlg > CReplayPerformanceSaveDlg::ms_hDlg; + +//----------------------------------------------------------------------------- +// Purpose: CReplayPerformanceSaveDlg implementation +//----------------------------------------------------------------------------- +CReplayPerformanceSaveDlg::CReplayPerformanceSaveDlg( Panel *pParent, const char *pName, + OnConfirmSaveCallback pfnCallback, void *pContext, + CReplay *pReplay, bool bExitEditorWhenDone ) +: BaseClass( pParent, pName ), + m_pfnCallback( pfnCallback ), + m_pContext( pContext ), + m_pReplay( pReplay ), + m_bExitEditorWhenDone( bExitEditorWhenDone ), + m_pDlg( NULL ), + m_pTitleEntry( NULL ) +{ + Assert( m_pContext ); + + SetScheme( "ClientScheme" ); + SetProportional( true ); +} + +CReplayPerformanceSaveDlg::~CReplayPerformanceSaveDlg() +{ + ms_hDlg = NULL; +} + +/*static*/ void CReplayPerformanceSaveDlg::Show( OnConfirmSaveCallback pfnCallback, void *pContext, CReplay *pReplay, + bool bExitEditorWhenDone ) +{ + Assert( !ms_hDlg.Get() ); + + ms_hDlg = vgui::SETUP_PANEL( new CReplayPerformanceSaveDlg( NULL, "ReplayInputPanel", pfnCallback, pContext, pReplay, bExitEditorWhenDone ) ); + ms_hDlg->SetVisible( true ); + ms_hDlg->MakePopup(); + ms_hDlg->MoveToFront(); + ms_hDlg->SetKeyBoardInputEnabled(true); + ms_hDlg->SetMouseInputEnabled(true); + TFModalStack()->PushModal( ms_hDlg ); + engine->ClientCmd_Unrestricted( "gameui_hide" ); + + ReplayCamera()->EnableInput( false ); +} + +void CReplayPerformanceSaveDlg::ApplySchemeSettings( IScheme *pScheme ) +{ + BaseClass::ApplySchemeSettings( pScheme ); + + LoadControlSettings( "resource/ui/replayperformanceeditor/savedlg.res", "GAME" ); + + // Cache off the dlg pointer + m_pDlg = FindChildByName( "Dlg" ); + + CExButton *pDiscardButton; + pDiscardButton = dynamic_cast< CExButton * >( m_pDlg->FindChildByName( "DiscardButton" ) ); + SetXToRed( pDiscardButton ); + + // Setup some action sigs + m_pDlg->FindChildByName( "SaveButton" )->AddActionSignalTarget( this ); + m_pDlg->FindChildByName( "CancelButton" )->AddActionSignalTarget( this ); + pDiscardButton->AddActionSignalTarget( this ); + + m_pTitleEntry = static_cast< TextEntry * >( m_pDlg->FindChildByName( "TitleInput" ) ); + m_pTitleEntry->SelectAllOnFocusAlways( true ); + m_pTitleEntry->SetSelectionBgColor( GetSchemeColor( "Yellow", Color( 255, 255, 255, 255), pScheme ) ); + m_pTitleEntry->SetSelectionTextColor( Color( 255, 255, 255, 255 ) ); + m_pTitleEntry->SetText( L"" ); +} + +void CReplayPerformanceSaveDlg::PerformLayout() +{ + BaseClass::PerformLayout(); + + SetWide( ScreenWidth() ); + SetTall( ScreenHeight() ); + + // Center + m_pDlg->SetPos( ( ScreenWidth() - m_pDlg->GetWide() ) / 2, ( ScreenHeight() - m_pDlg->GetTall() ) / 2 ); +} + +void CReplayPerformanceSaveDlg::OnKeyCodeTyped( KeyCode code ) +{ + if ( code == KEY_ESCAPE ) + { + surface()->PlaySound( "replay\\record_fail.wav" ); + return; + } + + BaseClass::OnKeyCodeTyped( code ); +} + +void CReplayPerformanceSaveDlg::OnKeyCodePressed( KeyCode code ) +{ + if ( code == KEY_ENTER ) + { + OnCommand( "save" ); + } + + BaseClass::OnKeyCodePressed( code ); +} + +void CReplayPerformanceSaveDlg::OnSetFocus() +{ + m_pTitleEntry->RequestFocus(); +} + +/*static*/ void CReplayPerformanceSaveDlg::OnConfirmOverwrite( bool bConfirm, void *pContext ) +{ + CReplayPerformanceSaveDlg *pThis = (CReplayPerformanceSaveDlg *)pContext; + pThis->m_pfnCallback( bConfirm, pThis->m_wszTitle, pThis->m_pContext ); + pThis->CloseWindow(); +} + +bool CReplayPerformanceSaveDlg::ConfirmOverwriteOrSaveNow() +{ + // Using the same title as an existing performance? + CReplayPerformance *pExistingPerformance = m_pReplay->GetPerformanceWithTitle( m_wszTitle ); + if ( pExistingPerformance ) + { + ShowConfirmDialog( "#Replay_OverwriteDlgTitle", "#Replay_OverwriteDlgText", + "#Replay_ConfirmOverwrite", "#Replay_Cancel", OnConfirmOverwrite, NULL, this ); + return false; + } + + m_pfnCallback( true, m_wszTitle, m_pContext ); + + return true; +} + +void CReplayPerformanceSaveDlg::OnCommand( const char *command ) +{ + bool bCloseWindow = false; + + extern IReplayPerformanceController *g_pReplayPerformanceController; + + if ( !Q_strnicmp( command, "save", 4 ) ) + { + // Get the text and save the replay/performance immediately + m_pTitleEntry->GetText( m_wszTitle, MAX_TAKE_TITLE_LENGTH ); + + // If we aren't overwriting an existing performance, this func will return true. + bCloseWindow = ConfirmOverwriteOrSaveNow(); + } + else if ( !Q_strnicmp( command, "cancel", 6 ) ) + { + bCloseWindow = true; + } + + // Close the window? + if ( bCloseWindow ) + { + CloseWindow(); + } + + BaseClass::OnCommand( command ); +} + +void CReplayPerformanceSaveDlg::CloseWindow() +{ + SetVisible( false ); + MarkForDeletion(); + TFModalStack()->PopModal( ms_hDlg.Get() ); + ReplayCamera()->EnableInput( true ); + + CReplayPerformanceEditorPanel *pEditor = ReplayUI_GetPerformanceEditor(); + if ( m_bExitEditorWhenDone && pEditor ) + { + pEditor->Exit(); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void ReplayUI_ShowPerformanceSaveDlg( OnConfirmSaveCallback pfnCallback, + void *pContext, CReplay *pReplay, + bool bExitEditorWhenDone ) +{ + CReplayPerformanceSaveDlg::Show( pfnCallback, pContext, pReplay, bExitEditorWhenDone ); +} + +bool ReplayUI_IsPerformanceSaveDlgOpen() +{ + return CReplayPerformanceSaveDlg::ms_hDlg.Get() != NULL; +} + +//----------------------------------------------------------------------------- +// Purpose: Test the replay input dialog +//----------------------------------------------------------------------------- +CON_COMMAND_F( replay_test_take_save_dlg, "Open replay save take dlg", FCVAR_NONE ) +{ + ReplayUI_ShowPerformanceSaveDlg( NULL, NULL, NULL, false ); +} + #endif
\ No newline at end of file |