UTMenu
Class UTServerSetupPage

source: e:\games\UnrealTournament\UTMenu\Classes\UTServerSetupPage.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowClientWindow
            |
            +--UWindow.UWindowDialogClientWindow
               |
               +--UWindow.UWindowPageWindow
                  |
                  +--UMenu.UMenuPageWindow
                     |
                     +--UMenu.UMenuServerSetupPage
                        |
                        +--UTMenu.UTServerSetupPage
Direct Known Subclasses:None

class UTServerSetupPage
extends UMenu.UMenuServerSetupPage


Variables
 UWindowEditControl AdminPasswordEdit
 string AdminPasswordHelp
 string AdminPasswordText
 UWindowCheckbox EnableWebserverCheck
 string EnableWebserverHelp
 string EnableWebserverText
 UWindowEditControl GamePasswordEdit
 string GamePasswordHelp
 string GamePasswordText
 UWindowEditControl ListenPortEdit
 string ListenPortHelp
 string ListenPortText
 UWindowEditControl WebAdminPasswordEdit
 string WebAdminPasswordHelp
 string WebAdminPasswordText
 UWindowEditControl WebAdminUsernameEdit
 string WebAdminUsernameHelp
 string WebAdminUsernameText
 bool bInitialized


Function Summary
 void BeforePaint(Canvas C, float X, float Y)
 void Created()
 void Notify(UWindowDialogControl C, byte E)



Source Code


00001	class UTServerSetupPage extends UMenuServerSetupPage;
00002	
00003	var UWindowEditControl GamePasswordEdit;
00004	var localized string GamePasswordText;
00005	var localized string GamePasswordHelp;
00006	
00007	var UWindowEditControl AdminPasswordEdit;
00008	var localized string AdminPasswordText;
00009	var localized string AdminPasswordHelp;
00010	
00011	var UWindowCheckbox EnableWebserverCheck;
00012	var localized string EnableWebserverText;
00013	var localized string EnableWebserverHelp;
00014	
00015	var UWindowEditControl WebAdminUsernameEdit;
00016	var localized string WebAdminUsernameText;
00017	var localized string WebAdminUsernameHelp;
00018	
00019	var UWindowEditControl WebAdminPasswordEdit;
00020	var localized string WebAdminPasswordText;
00021	var localized string WebAdminPasswordHelp;
00022	
00023	var UWindowEditControl ListenPortEdit;
00024	var localized string ListenPortText;
00025	var localized string ListenPortHelp;
00026	
00027	var bool bInitialized;
00028	
00029	function Created()
00030	{
00031		local int ControlWidth, ControlLeft, ControlRight;
00032		local int CenterWidth, CenterPos;
00033	
00034		ControlOffset = 20;
00035		bInitialized = False;
00036	
00037		Super.Created();
00038	
00039		ControlWidth = WinWidth/2.5;
00040		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00041		ControlRight = WinWidth/2 + ControlLeft;
00042	
00043		CenterWidth = (WinWidth/4)*3;
00044		CenterPos = (WinWidth - CenterWidth)/2;
00045	
00046		GamePasswordEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', CenterPos, ControlOffset, CenterWidth, 1));
00047		GamePasswordEdit.SetText(GamePasswordText);
00048		GamePasswordEdit.SetHelpText(GamePasswordHelp);
00049		GamePasswordEdit.SetFont(F_Normal);
00050		GamePasswordEdit.SetNumericOnly(False);
00051		GamePasswordEdit.SetMaxLength(16);
00052		GamePasswordEdit.SetDelayedNotify(True);
00053		GamePasswordEdit.SetValue(GetPlayerOwner().ConsoleCommand("get engine.gameinfo GamePassword"));
00054		ControlOffset += 20;
00055	
00056		AdminPasswordEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', CenterPos, ControlOffset, CenterWidth, 1));
00057		AdminPasswordEdit.SetText(AdminPasswordText);
00058		AdminPasswordEdit.SetHelpText(AdminPasswordHelp);
00059		AdminPasswordEdit.SetFont(F_Normal);
00060		AdminPasswordEdit.SetNumericOnly(False);
00061		AdminPasswordEdit.SetMaxLength(16);
00062		AdminPasswordEdit.SetDelayedNotify(True);
00063		AdminPasswordEdit.SetValue(GetPlayerOwner().ConsoleCommand("get engine.gameinfo AdminPassword"));
00064		ControlOffset += 20;
00065	
00066		EnableWebserverCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00067		EnableWebserverCheck.SetText(EnableWebserverText);
00068		EnableWebserverCheck.SetHelpText(EnableWebserverHelp);
00069		EnableWebserverCheck.SetFont(F_Normal);
00070		EnableWebserverCheck.Align = TA_Left;
00071		EnableWebserverCheck.bChecked = class'WebServer'.default.bEnabled;
00072		ControlOffset += 20;
00073	
00074		WebAdminUsernameEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', CenterPos, ControlOffset, CenterWidth, 1));
00075		WebAdminUsernameEdit.SetText(WebAdminUsernameText);
00076		WebAdminUsernameEdit.SetHelpText(WebAdminUsernameHelp);
00077		WebAdminUsernameEdit.SetFont(F_Normal);
00078		WebAdminUsernameEdit.SetNumericOnly(False);
00079		WebAdminUsernameEdit.SetMaxLength(16);
00080		WebAdminUsernameEdit.SetDelayedNotify(True);
00081		WebAdminUsernameEdit.SetValue(class'UTServerAdmin'.default.AdminUsername);
00082		ControlOffset += 20;
00083	
00084		WebAdminPasswordEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', CenterPos, ControlOffset, CenterWidth, 1));
00085		WebAdminPasswordEdit.SetText(WebAdminPasswordText);
00086		WebAdminPasswordEdit.SetHelpText(WebAdminPasswordHelp);
00087		WebAdminPasswordEdit.SetFont(F_Normal);
00088		WebAdminPasswordEdit.SetNumericOnly(False);
00089		WebAdminPasswordEdit.SetMaxLength(16);
00090		WebAdminPasswordEdit.SetDelayedNotify(True);
00091		WebAdminPasswordEdit.SetValue(class'UTServerAdmin'.default.AdminPassword);
00092		ControlOffset += 20;
00093	
00094		ListenPortEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', CenterPos, ControlOffset, CenterWidth, 1));
00095		ListenPortEdit.SetText(ListenPortText);
00096		ListenPortEdit.SetHelpText(ListenPortHelp);
00097		ListenPortEdit.SetFont(F_Normal);
00098		ListenPortEdit.SetNumericOnly(True);
00099		ListenPortEdit.SetMaxLength(16);
00100		ListenPortEdit.SetDelayedNotify(True);
00101		ListenPortEdit.SetValue(string(class'WebServer'.default.ListenPort));
00102		ControlOffset += 20;
00103	
00104		bInitialized = True;
00105	}
00106	
00107	function Notify(UWindowDialogControl C, byte E)
00108	{
00109		if(bInitialized)
00110		{
00111			switch(E)
00112			{
00113			case DE_Change:
00114				switch(C)
00115				{
00116				case GamePasswordEdit:
00117					GetPlayerOwner().ConsoleCommand("set engine.gameinfo GamePassword "$GamePasswordEdit.GetValue());
00118					break;
00119				case AdminPasswordEdit:
00120					GetPlayerOwner().ConsoleCommand("set engine.gameinfo AdminPassword "$AdminPasswordEdit.GetValue());
00121					break;
00122				case EnableWebserverCheck:
00123					class'WebServer'.default.bEnabled = EnableWebserverCheck.bChecked;
00124					class'WebServer'.static.StaticSaveConfig();
00125					break;
00126				case WebAdminUsernameEdit:
00127					class'UTServerAdmin'.default.AdminUsername = WebAdminUsernameEdit.GetValue();
00128					class'UTServerAdmin'.static.StaticSaveConfig();
00129					break;
00130				case WebAdminPasswordEdit:
00131					class'UTServerAdmin'.default.AdminPassword = WebAdminPasswordEdit.GetValue();
00132					class'UTServerAdmin'.static.StaticSaveConfig();
00133					break;
00134				case ListenPortEdit:
00135					class'WebServer'.default.ListenPort = Int(ListenPortEdit.GetValue());
00136					class'WebServer'.static.StaticSaveConfig();
00137					break;
00138				}
00139			}
00140		}
00141		Super.Notify(C, E);
00142	}
00143	
00144	function BeforePaint(Canvas C, float X, float Y)
00145	{
00146		local int ControlWidth, ControlLeft, ControlRight;
00147		local int CenterWidth, CenterPos;
00148		local int EditWidth;
00149	
00150		Super.BeforePaint(C, X, Y);
00151	
00152		ControlWidth = WinWidth/2.5;
00153		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00154		ControlRight = WinWidth/2 + ControlLeft;
00155	
00156		CenterWidth = (WinWidth/7)*6;
00157		CenterPos = (WinWidth - CenterWidth)/2;
00158		
00159		EditWidth = CenterWidth - 100;
00160	
00161		GamePasswordEdit.SetSize(CenterWidth, 1);
00162		GamePasswordEdit.WinLeft = CenterPos;
00163		GamePasswordEdit.EditBoxWidth = EditWidth;
00164	
00165		AdminPasswordEdit.SetSize(CenterWidth, 1);
00166		AdminPasswordEdit.WinLeft = CenterPos;
00167		AdminPasswordEdit.EditBoxWidth = EditWidth;
00168	
00169		WebAdminPasswordEdit.SetSize(CenterWidth, 1);
00170		WebAdminPasswordEdit.WinLeft = CenterPos;
00171		WebAdminPasswordEdit.EditBoxWidth = EditWidth;
00172	
00173		WebAdminUsernameEdit.SetSize(CenterWidth, 1);
00174		WebAdminUsernameEdit.WinLeft = CenterPos;
00175		WebAdminUsernameEdit.EditBoxWidth = EditWidth;
00176	
00177		EnableWebserverCheck.SetSize(CenterWidth-EditWidth+16, 1);
00178		EnableWebserverCheck.WinLeft = CenterPos;
00179	
00180		ListenPortEdit.SetSize(CenterWidth-EditWidth+35, 1);
00181		ListenPortEdit.WinLeft = CenterPos;
00182		ListenPortEdit.EditBoxWidth = 35;
00183	}
00184	
00185	defaultproperties
00186	{
00187	     GamePasswordText="Game Password"
00188	     GamePasswordHelp="If this is set, a player needs use this password to be allowed to login to the server."
00189	     AdminPasswordText="Admin Password"
00190	     AdminPasswordHelp="If this is set, a player can join your server using this password and have access to admin-only console commands."
00191	     EnableWebserverText="WWW Remote Admin"
00192	     EnableWebserverHelp="If checked, you will be able to administer your UT server remotely using a web browser."
00193	     WebAdminUsernameText="WWW Username"
00194	     WebAdminUsernameHelp="The username needed to login to the WWW-based remote server administration."
00195	     WebAdminPasswordText="WWW Password"
00196	     WebAdminPasswordHelp="The password needed to login to the WWW-based remote server administration."
00197	     ListenPortText="Webserver Port No."
00198	     ListenPortHelp="The port number that the remote administration webserver will listen on for incoming connections."
00199	     bLanPlay=True
00200	}

End Source Code