Core.Object | +--UWindow.UWindowBase | +--UWindow.UWindowWindow | +--UWindow.UWindowClientWindow | +--UWindow.UWindowDialogClientWindow | +--UBrowser.UBrowserEditFavoriteCW
UWindowEditControl
DescriptionEdit
string
DescriptionText
GamePortEdit
GamePortText
IPEdit
IPText
QueryPortEdit
QueryPortText
UWindowCheckbox
UpdateDescriptionCheck
UpdateDescriptionText
void
BeforePaint(Canvas C, float X, float Y)
Created()
LoadCurrentValues()
Notify(UWindowDialogControl C, byte E)
OKPressed()
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 }