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.
78 lines
2.2 KiB
78 lines
2.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//============================================================================= |
|
|
|
#ifndef BANPANEL_H |
|
#define BANPANEL_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include <KeyValues.h> |
|
|
|
#include <vgui_controls/Frame.h> |
|
#include <vgui_controls/PHandle.h> |
|
#include <vgui_controls/ListPanel.h> |
|
#include <vgui_controls/PropertyPage.h> |
|
#include "utlvector.h" |
|
|
|
#include "BanContextMenu.h" |
|
#include "RemoteServer.h" |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Dialog for displaying information about a game server |
|
//----------------------------------------------------------------------------- |
|
class CBanPanel : public vgui::PropertyPage, public IServerDataResponse |
|
{ |
|
DECLARE_CLASS_SIMPLE( CBanPanel, vgui::PropertyPage ); |
|
public: |
|
CBanPanel(vgui::Panel *parent, const char *name); |
|
~CBanPanel(); |
|
|
|
virtual void OnResetData(); |
|
|
|
protected: |
|
// property page handlers |
|
virtual void OnPageShow(); |
|
|
|
virtual void OnThink(); |
|
|
|
// server response on user data |
|
virtual void OnServerDataResponse(const char *value, const char *response); |
|
virtual void OnKeyCodeTyped(vgui::KeyCode code); |
|
|
|
private: |
|
MESSAGE_FUNC( AddBan, "addban" ); |
|
MESSAGE_FUNC( RemoveBan, "removeban" ); |
|
MESSAGE_FUNC( ChangeBan, "changeban" ); |
|
|
|
MESSAGE_FUNC_CHARPTR( RemoveBanByID, "removebanbyid", id ); |
|
MESSAGE_FUNC_CHARPTR_CHARPTR( ChangeBanTimeByID, "AddBanValue", id, time ); |
|
MESSAGE_FUNC_PARAMS( OnCvarChangeValue, "CvarChangeValue", kv ); |
|
|
|
// returns true if the id string is an IP address, false if it's a WON or STEAM ID |
|
bool IsIPAddress(const char *id); |
|
|
|
// msg handlers |
|
MESSAGE_FUNC_INT( OnOpenContextMenu, "OpenContextMenu", itemID ); |
|
void OnEffectPlayer(KeyValues *data); |
|
MESSAGE_FUNC( OnItemSelected, "ItemSelected" ); |
|
|
|
MESSAGE_FUNC( ImportBanList, "importban" ); |
|
MESSAGE_FUNC_CHARPTR( OnFileSelected, "FileSelected", fullpath ); |
|
|
|
vgui::ListPanel *m_pBanListPanel; |
|
vgui::Button *m_pAddButton; |
|
vgui::Button *m_pRemoveButton; |
|
vgui::Button *m_pChangeButton; |
|
vgui::Button *m_pImportButton; |
|
|
|
CBanContextMenu *m_pBanContextMenu; |
|
float m_flUpdateTime; |
|
bool m_bPageViewed; |
|
}; |
|
|
|
#endif // BANPANEL_H
|