mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-27 00:26:50 +00:00
89 lines
2.8 KiB
C++
89 lines
2.8 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#if defined( REPLAY_ENABLED )
|
|
|
|
#ifndef REPLAYBROWSER_MAIN_PANEL_H
|
|
#define REPLAYBROWSER_MAIN_PANEL_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "vgui_controls/PropertyDialog.h"
|
|
#include "replay/replayhandle.h"
|
|
#include "GameEventListener.h"
|
|
#include "replaybrowseritemmanager.h"
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class CReplayBrowserBasePage;
|
|
class CConfirmDeleteDialog;
|
|
class CExButton;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class CReplayBrowserPanel : public vgui::PropertyDialog,
|
|
public CGameEventListener
|
|
{
|
|
DECLARE_CLASS_SIMPLE( CReplayBrowserPanel, vgui::PropertyDialog );
|
|
public:
|
|
CReplayBrowserPanel( Panel *parent );
|
|
virtual ~CReplayBrowserPanel();
|
|
|
|
void OnSaveReplay( ReplayHandle_t hNewReplay );
|
|
void OnDeleteReplay( ReplayHandle_t hDeletedReplay );
|
|
|
|
void DeleteReplay( ReplayHandle_t hReplay );
|
|
|
|
virtual void CleanupUIForReplayItem( ReplayItemHandle_t hReplay ); // After a replay has been deleted - deletes all UI (thumbnail, but maybe also row and/or collection as well)
|
|
|
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
|
virtual void PerformLayout( void );
|
|
virtual void OnCommand( const char *command );
|
|
virtual void ShowPanel( bool bShow, ReplayHandle_t hReplayDetails = REPLAY_HANDLE_INVALID, int iPerformance = -1 );
|
|
virtual void OnKeyCodeTyped(vgui::KeyCode code);
|
|
virtual void OnKeyCodePressed(vgui::KeyCode code);
|
|
|
|
virtual void FireGameEvent( IGameEvent *event );
|
|
|
|
MESSAGE_FUNC_PARAMS( OnConfirmDelete, "ConfirmDlgResult", data );
|
|
|
|
void AttemptToDeleteReplayItem( Panel *pHandler, ReplayItemHandle_t hReplayItem, IReplayItemManager *pItemManager, int iPerformance );
|
|
|
|
CReplayBrowserBasePage *m_pReplaysPage;
|
|
CConfirmDeleteDialog *m_pConfirmDeleteDialog;
|
|
|
|
struct DeleteInfo_t
|
|
{
|
|
ReplayItemHandle_t m_hReplayItem;
|
|
IReplayItemManager *m_pItemManager;
|
|
vgui::VPANEL m_hHandler;
|
|
int m_iPerformance;
|
|
};
|
|
|
|
DeleteInfo_t m_DeleteInfo;
|
|
|
|
float GetTimeOpened( void ){ return m_flTimeOpened; }
|
|
|
|
private:
|
|
void ShowDeleteReplayDenialDlg();
|
|
void ConfirmReplayItemDelete( Panel *pHandler, ReplayItemHandle_t hReplayItem, IReplayItemManager *pItemManager, int iPerformance );
|
|
|
|
float m_flTimeOpened;
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
CReplayBrowserPanel *ReplayUI_GetBrowserPanel();
|
|
void ReplayUI_ReloadBrowser( ReplayHandle_t hReplay = REPLAY_HANDLE_INVALID, int iPerformance = -1 );
|
|
void ReplayUI_CloseReplayBrowser();
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#endif // REPLAYBROWSER_MAIN_PANEL_H
|
|
|
|
#endif |