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.
131 lines
3.2 KiB
131 lines
3.2 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include "DialogKickPlayer.h"
|
||
|
|
||
|
#include <VGUI_Button.h>
|
||
|
#include <VGUI_KeyValues.h>
|
||
|
#include <VGUI_Label.h>
|
||
|
#include <VGUI_TextEntry.h>
|
||
|
|
||
|
#include <VGUI_Controls.h>
|
||
|
#include <VGUI_ISurface.h>
|
||
|
|
||
|
using namespace vgui;
|
||
|
|
||
|
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: Constructor
|
||
|
//-----------------------------------------------------------------------------
|
||
|
CDialogKickPlayer::CDialogKickPlayer() : Frame(NULL, "DialogKickPlayer")
|
||
|
{
|
||
|
SetSize(320, 200);
|
||
|
|
||
|
m_pInfoLabel = new Label(this, "InfoLabel", "Kick Player?");
|
||
|
m_pPlayerLabel = new Label(this, "PlayerLabel", "<player name>");
|
||
|
m_pOkayButton = new Button(this, "OkayButton", "&Okay");
|
||
|
|
||
|
LoadControlSettings("Admin\\DialogKickPlayer.res");
|
||
|
|
||
|
SetTitle("Kick/Ban/Status Player", true);
|
||
|
|
||
|
// set our initial position in the middle of the workspace
|
||
|
MoveToCenterOfScreen();
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: Destructor
|
||
|
//-----------------------------------------------------------------------------
|
||
|
CDialogKickPlayer::~CDialogKickPlayer()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: initializes the dialog and brings it to the foreground
|
||
|
//-----------------------------------------------------------------------------
|
||
|
void CDialogKickPlayer::Activate(const char *playerName,const char *question,const char *type)
|
||
|
{
|
||
|
m_pPlayerLabel->SetText(playerName);
|
||
|
m_pInfoLabel->SetText(question);
|
||
|
m_pInfoLabel->SizeToContents();
|
||
|
|
||
|
// SetSize(
|
||
|
int wide,tall;
|
||
|
m_pInfoLabel->GetSize(wide,tall);
|
||
|
|
||
|
SetWide(max(wide+50,GetWide()));
|
||
|
|
||
|
m_cType=type;
|
||
|
|
||
|
m_pOkayButton->SetAsDefaultButton(true);
|
||
|
MakePopup();
|
||
|
MoveToFront();
|
||
|
|
||
|
RequestFocus();
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose:
|
||
|
// Input : *command -
|
||
|
//-----------------------------------------------------------------------------
|
||
|
void CDialogKickPlayer::OnCommand(const char *command)
|
||
|
{
|
||
|
bool bClose = false;
|
||
|
|
||
|
if (!stricmp(command, "Okay"))
|
||
|
{
|
||
|
KeyValues *msg = new KeyValues("KickPlayer");
|
||
|
char buf[64];
|
||
|
m_pPlayerLabel->GetText(buf,64);
|
||
|
msg->SetString("player", buf );
|
||
|
msg->SetString("type",m_cType);
|
||
|
|
||
|
PostActionSignal(msg);
|
||
|
|
||
|
bClose = true;
|
||
|
}
|
||
|
else if (!stricmp(command, "Close"))
|
||
|
{
|
||
|
bClose = true;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
BaseClass::OnCommand(command);
|
||
|
}
|
||
|
|
||
|
if (bClose)
|
||
|
{
|
||
|
PostMessage(this, new KeyValues("Close"));
|
||
|
MarkForDeletion();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose:
|
||
|
//-----------------------------------------------------------------------------
|
||
|
void CDialogKickPlayer::PerformLayout()
|
||
|
{
|
||
|
BaseClass::PerformLayout();
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: deletes the dialog on close
|
||
|
//-----------------------------------------------------------------------------
|
||
|
void CDialogKickPlayer::OnClose()
|
||
|
{
|
||
|
BaseClass::OnClose();
|
||
|
MarkForDeletion();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|