summaryrefslogtreecommitdiff
path: root/tracker/AdminServer/DialogKickPlayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tracker/AdminServer/DialogKickPlayer.cpp')
-rw-r--r--tracker/AdminServer/DialogKickPlayer.cpp130
1 files changed, 130 insertions, 0 deletions
diff --git a/tracker/AdminServer/DialogKickPlayer.cpp b/tracker/AdminServer/DialogKickPlayer.cpp
new file mode 100644
index 0000000..2d55b92
--- /dev/null
+++ b/tracker/AdminServer/DialogKickPlayer.cpp
@@ -0,0 +1,130 @@
+//========= 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();
+}
+
+
+
+