rott/kf_sources/XInterface/Classes/Browser_OpenIP.uc
2026-07-14 20:27:09 +07:00

126 lines
2.6 KiB
Ucode

class Browser_OpenIP extends UT2K3GUIPage;
var moEditBox MyIpAddress;
var Browser_ServerListPageFavorites MyFavoritesPage;
function InitComponent(GUIController pMyController, GUIComponent MyOwner)
{
Super.InitComponent(pMyController, MyOwner);
MyIpAddress = moEditBox(Controls[1]);
MyIpAddress.MyEditBox.AllowedCharSet="0123456789.:";
}
function bool InternalOnClick(GUIComponent Sender)
{
local GameInfo.ServerResponseLine S;
local string address, ipString, portString;
local int colonPos, portNum;
if(Sender == Controls[4])
{
address = MyIpAddress.GetText();
if(address == "")
return true;
// Parse text to find IP and possibly port number
colonPos = InStr(address, ":");
if(colonPos < 0)
{
// No colon
ipString = address;
portNum = 7777;
}
else
{
ipString = Left(address, colonPos);
portString = Mid(address, colonPos+1);
portNum = int(portString);
}
S.IP = ipString;
S.Port = portNum;
S.QueryPort = portNum+1;
S.ServerName = "Unknown";
MyFavoritesPage.MyAddFavorite(S);
}
Controller.CloseMenu(false);
return true;
}
defaultproperties
{
Begin Object Class=GUIButton name=VidOKBackground
WinWidth=1.0
WinHeight=1.0
WinTop=0
WinLeft=0
bAcceptsInput=false
bNeverFocus=true
StyleName="SquareBar"
bBoundToParent=true
bScaleToParent=true
End Object
Controls(0)=GUIButton'VidOKBackground'
// EditBox with Limited CharSet for IP address
Begin Object class=moEditBox Name=IpEntryBox
Caption="IP Address: "
LabelJustification=TXTA_Right
LabelFont="UT2SmallFont"
LabelColor=(R=255,G=255,B=255,A=255)
CaptionWidth=0.55
WinWidth=0.500000
WinHeight=0.050000
WinLeft=0.160000
WinTop=0.466667
End Object
Controls(1)=moEditBox'IpEntryBox'
Begin Object Class=GUIButton Name=CancelButton
Caption="CANCEL"
WinWidth=0.2
WinHeight=0.04
WinLeft=0.65
WinTop=0.75
bBoundToParent=true
OnClick=InternalOnClick
End Object
Controls(2)=GUIButton'CancelButton'
Begin Object class=GUILabel Name=OpenIPDesc
Caption="Enter New IP Address"
TextALign=TXTA_Center
TextColor=(R=230,G=200,B=0,A=255)
TextFont="UT2HeaderFont"
WinWidth=1
WinLeft=0
WinTop=0.4
WinHeight=32
End Object
Controls(3)=GUILabel'OpenIPDesc'
Begin Object Class=GUIButton Name=OkButton
Caption="OK"
WinWidth=0.2
WinHeight=0.04
WinLeft=0.125
WinTop=0.75
bBoundToParent=true
OnClick=InternalOnClick
End Object
Controls(4)=GUIButton'OkButton'
WinLeft=0
WinTop=0.375
WinWidth=1
WinHeight=0.25
}