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.
130 lines
3.2 KiB
130 lines
3.2 KiB
//========= 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(); |
|
} |
|
|
|
|
|
|
|
|
|
|