UBrowser
Class UBrowserEditFavoriteCW

source: e:\games\UnrealTournament\UBrowser\Classes\UBrowserEditFavoriteCW.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowClientWindow
            |
            +--UWindow.UWindowDialogClientWindow
               |
               +--UBrowser.UBrowserEditFavoriteCW
Direct Known Subclasses:UBrowserNewFavoriteCW

class UBrowserEditFavoriteCW
extends UWindow.UWindowDialogClientWindow


Variables
 UWindowEditControl DescriptionEdit
 string DescriptionText
 UWindowEditControl GamePortEdit
 string GamePortText
 UWindowEditControl IPEdit
 string IPText
 UWindowEditControl QueryPortEdit
 string QueryPortText
 UWindowCheckbox UpdateDescriptionCheck
 string UpdateDescriptionText


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



Source Code


00001	class UBrowserEditFavoriteCW expands UWindowDialogClientWindow;
00002	
00003	var UWindowEditControl	DescriptionEdit;
00004	var localized string	DescriptionText;
00005	
00006	var UWindowCheckbox		UpdateDescriptionCheck;
00007	var localized string	UpdateDescriptionText;
00008	
00009	var UWindowEditControl	IPEdit;
00010	var localized string	IPText;
00011	
00012	var UWindowEditControl	GamePortEdit;
00013	var localized string	GamePortText;
00014	
00015	var UWindowEditControl	QueryPortEdit;
00016	var localized string	QueryPortText;
00017	
00018	function Created()
00019	{
00020		local float ControlOffset, CenterPos, CenterWidth;
00021	
00022		Super.Created();
00023		
00024		DescriptionEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', 10, 10, 220, 1));
00025		DescriptionEdit.SetText(DescriptionText);
00026		DescriptionEdit.SetFont(F_Normal);
00027		DescriptionEdit.SetNumericOnly(False);
00028		DescriptionEdit.SetMaxLength(300);
00029		DescriptionEdit.EditBoxWidth = 100;
00030	
00031		UpdateDescriptionCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', 10, 30, 136, 1));
00032		UpdateDescriptionCheck.SetText(UpdateDescriptionText);
00033		UpdateDescriptionCheck.SetFont(F_Normal);
00034	
00035		IPEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', 10, 50, 220, 1));
00036		IPEdit.SetText(IPText);
00037		IPEdit.SetFont(F_Normal);
00038		IPEdit.SetNumericOnly(False);
00039		IPEdit.SetMaxLength(40);
00040		IPEdit.EditBoxWidth = 100;
00041		
00042		GamePortEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', 10, 70, 160, 1));
00043		GamePortEdit.SetText(GamePortText);
00044		GamePortEdit.SetFont(F_Normal);
00045		GamePortEdit.SetNumericOnly(True);
00046		GamePortEdit.SetMaxLength(5);
00047		GamePortEdit.EditBoxWidth = 40;
00048	
00049		QueryPortEdit = UWindowEditControl(CreateControl(class'UWindowEditControl', 10, 90, 160, 1));
00050		QueryPortEdit.SetText(QueryPortText);
00051		QueryPortEdit.SetFont(F_Normal);
00052		QueryPortEdit.SetNumericOnly(True);
00053		QueryPortEdit.SetMaxLength(5);
00054		QueryPortEdit.EditBoxWidth = 40;
00055	
00056		DescriptionEdit.BringToFront();
00057		LoadCurrentValues();
00058	}
00059	
00060	function LoadCurrentValues()
00061	{
00062		local UBrowserServerList L;
00063	
00064		L = UBrowserRightClickMenu(ParentWindow.OwnerWindow).List;
00065	
00066		DescriptionEdit.SetValue(L.HostName);
00067		UpdateDescriptionCheck.bChecked = !L.bKeepDescription;
00068		IPEdit.SetValue(L.IP);
00069		GamePortEdit.SetValue(string(L.GamePort));
00070		QueryPortEdit.SetValue(string(L.QueryPort));
00071	}
00072	
00073	function BeforePaint(Canvas C, float X, float Y)
00074	{
00075		Super.BeforePaint(C, X, Y);
00076	
00077		DescriptionEdit.WinWidth = WinWidth - 20;
00078		DescriptionEdit.EditBoxWidth = WinWidth - 140;
00079	}
00080	
00081	function Notify(UWindowDialogControl C, byte E)
00082	{
00083		Super.Notify(C, E);
00084	
00085		if((C == UBrowserEditFavoriteWindow(ParentWindow).OKButton && E == DE_Click))
00086			OKPressed();
00087	}
00088	
00089	function OKPressed()
00090	{
00091		local UBrowserServerList L;
00092	
00093		L = UBrowserRightClickMenu(ParentWindow.OwnerWindow).List;
00094	
00095		L.HostName = DescriptionEdit.GetValue();
00096		L.bKeepDescription = !UpdateDescriptionCheck.bChecked;
00097		L.IP = IPEdit.GetValue();
00098		L.GamePort = Int(GamePortEdit.GetValue());
00099		L.QueryPort = Int(QueryPortEdit.GetValue());
00100		
00101		UBrowserFavoritesFact(UBrowserFavoriteServers(UBrowserRightClickMenu(ParentWindow.OwnerWindow).Grid.GetParent(class'UBrowserFavoriteServers')).Factories[0]).SaveFavorites();
00102		L.PingServer(False, True, True);
00103	
00104		ParentWindow.Close();
00105	}
00106	
00107	defaultproperties
00108	{
00109	     DescriptionText="Description"
00110	     UpdateDescriptionText="Auto-Update Description"
00111	     IPText="Server IP Address"
00112	     GamePortText="Server Port Number"
00113	     QueryPortText="Query Port Number"
00114	}

End Source Code