You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.9 KiB
71 lines
1.9 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef MEDIABROWSERDIALOG_H |
|
#define MEDIABROWSERDIALOG_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include <vgui_controls/Frame.h> |
|
#include <vgui_controls/ImageList.h> |
|
#include <vgui_controls/SectionedListPanel.h> |
|
#include <vgui_controls/PHandle.h> |
|
#include <FileSystem.h> |
|
#include "vgui/mousecode.h" |
|
#include "vgui/IScheme.h" |
|
#include "configs.h" |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Main dialog for media browser |
|
//----------------------------------------------------------------------------- |
|
class CSDKLauncherDialog : public vgui::Frame |
|
{ |
|
typedef vgui::Frame BaseClass; |
|
|
|
public: |
|
DECLARE_CLASS_SIMPLE( CSDKLauncherDialog, vgui::Frame ); |
|
|
|
CSDKLauncherDialog(vgui::Panel *parent, const char *name); |
|
virtual ~CSDKLauncherDialog(); |
|
|
|
void PopulateCurrentGameCombo( bool bSelectLast ); |
|
void PopulateCurrentEngineCombo( bool bSelectLast ); |
|
void Launch( int hActiveListItem, bool bForce ); |
|
void RefreshConfigs( void ); |
|
void SetCurrentGame( const char* pcCurrentGame ); |
|
|
|
protected: |
|
|
|
virtual void OnClose(); |
|
virtual void OnCommand( const char *command ); |
|
|
|
private: |
|
|
|
void ResetConfigs( void ); |
|
bool ParseConfigs( CUtlVector<CGameConfig*> &configs ); |
|
void PopulateMediaList(); |
|
void GetEngineVersion(char* pcEngineVer, int nSize); |
|
void SetEngineVersion(const char *pcEngineVer); |
|
|
|
MESSAGE_FUNC_INT( OnItemDoubleLeftClick, "ItemDoubleLeftClick", itemID ); |
|
MESSAGE_FUNC_INT( OnItemContextMenu, "ItemContextMenu", itemID ); |
|
MESSAGE_FUNC_PARAMS( OnTextChanged, "TextChanged", pkv ); |
|
|
|
private: |
|
|
|
vgui::ImageList *m_pImageList; |
|
vgui::SectionedListPanel *m_pMediaList; |
|
vgui::Menu *m_pContextMenu; |
|
vgui::ComboBox *m_pCurrentGameCombo; |
|
vgui::ComboBox *m_pCurrentEngineCombo; |
|
}; |
|
|
|
|
|
extern CSDKLauncherDialog *g_pSDKLauncherDialog; |
|
|
|
|
|
#endif // MEDIABROWSERDIALOG_H
|
|
|