//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //============================================================================= #ifndef GAMEPANELINFO_H #define GAMEPANELINFO_H #ifdef _WIN32 #pragma once #endif //#include #include #include #include #include #include #include #include #undef PropertySheet #include #include "BanContextMenu.h" #include "chatpanel.h" #include "rawlogpanel.h" #include "serverconfigpanel.h" #include "playerpanel.h" #include "banpanel.h" #include "graphpanel.h" #include "serverinfopanel.h" #define PASSWORD_LEN 64 #define MOD_LEN 64 #include "imanageserver.h" // IManageServer interface class CBudgetPanelContainer; //----------------------------------------------------------------------------- // Purpose: Dialog for displaying information about a game server //----------------------------------------------------------------------------- class CGamePanelInfo : public vgui::Frame, public IManageServer { DECLARE_CLASS_SIMPLE( CGamePanelInfo, vgui::Frame ); public: CGamePanelInfo(vgui::Panel *parent, const char *name, const char *mod); ~CGamePanelInfo(); // IManageServer interface extras void ShowPage() { Activate(); } void AddToConsole(const char *msg); void SetAsRemoteServer(bool remote); protected: // message handlers void OnStop(); MESSAGE_FUNC( OnHelp, "Help" ); void OnMasterRequestRestart(); void OnMasterOutOfDate( const char *msg); MESSAGE_FUNC( OnRestartServer, "RestartServer" ); MESSAGE_FUNC( OnUpdateTitle, "UpdateTitle" ); void SetNewTitle(bool connectionFailed, const char *additional_text); // sets the windows title // vgui overrides virtual void OnTick(); virtual void OnClose(); virtual void PerformLayout(); virtual void ActivateBuildMode(); virtual void OnCommand(const char *command); private: // methods vgui::ComboBox *m_pViewCombo; vgui::AnimatingImagePanel *m_pAnimImagePanel; // GUI pabels // main property sheet vgui::PropertySheet *m_pDetailsSheet; // panels in the sheet CPlayerPanel *m_pPlayerListPanel; CBanPanel *m_pBanListPanel; CRawLogPanel *m_pServerLogPanel; CChatPanel *m_pServerChatPanel; CServerConfigPanel *m_pServerConfigPanel; CGraphPanel *m_pGraphsPanel; CServerInfoPanel *m_pServerInfoPanel; CBudgetPanelContainer *m_pBudgetPanel; // state bool m_bRemoteServer; bool m_bShuttingDown; vgui::DHANDLE m_hRestartQueryBox; vgui::DHANDLE m_hOutOfDateQueryBox; }; #endif // GAMEPANELINFO_H