UBrowser
Class UBrowserIRCUserListBox

source: e:\games\UnrealTournament\UBrowser\Classes\UBrowserIRCUserListBox.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowDialogControl
            |
            +--UWindow.UWindowListControl
               |
               +--UWindow.UWindowListBox
                  |
                  +--UBrowser.UBrowserIRCUserListBox
Direct Known Subclasses:None

class UBrowserIRCUserListBox
extends UWindow.UWindowListBox



Function Summary
 void AddUser(string NickName)
 void ChangeNick(string OldNick, string NewNick)
 void ChangeOp(string Nick, bool bOp)
 void ChangeVoice(string Nick, bool bVoice)
 void Created()
 void DoubleClickItem(UWindowListBoxItem I)
 void DrawItem(Canvas C, UWindowList Item, float X, float Y, float W, float H)
 UBrowserIRCUserList FindNick(string NickName)
 void RemoveUser(string NickName)



Source Code


00001	class UBrowserIRCUserListBox expands UWindowListBox;
00002	
00003	function Created()
00004	{
00005		Super.Created();
00006	}
00007	
00008	function AddUser(string NickName)
00009	{
00010		local UBrowserIRCUserList NewUser;
00011	
00012		if(FindNick(NickName) == None)
00013		{
00014			NewUser = UBrowserIRCUserList(Items.Append(ListClass));
00015			NewUser.NickName = NickName;
00016			Items.MoveItemSorted(NewUser);
00017		}
00018	}
00019	
00020	function RemoveUser(string NickName)
00021	{
00022		local UBrowserIRCUserList User;
00023		User = FindNick(NickName);
00024		if(User != None)
00025			User.Remove();
00026	}
00027	
00028	function ChangeNick(string OldNick, string NewNick)
00029	{
00030		local UBrowserIRCUserList User;
00031		User = FindNick(OldNick);
00032		if(User != None)
00033			User.NickName = NewNick;
00034	
00035		Sort();
00036	}
00037	
00038	function UBrowserIRCUserList FindNick(string NickName)
00039	{
00040		local UBrowserIRCUserList User;
00041	
00042		for(User=UBrowserIRCUserList(Items.Next);User != None; User=UBrowserIRCUserList(User.Next))
00043			if(User.NickName == NickName)
00044				return User;
00045	
00046		return None;	
00047	}
00048	
00049	function DrawItem(Canvas C, UWindowList Item, float X, float Y, float W, float H)
00050	{
00051		local string Prefix;
00052	
00053		if(SelectedItem == Item)
00054		{
00055			C.DrawColor.r = 0;
00056			C.DrawColor.g = 0;
00057			C.DrawColor.b = 128;
00058			DrawStretchedTexture(C, X, Y, W, H-1, Texture'WhiteTexture');
00059		}
00060	
00061		C.DrawColor.r = 255;
00062		C.DrawColor.g = 255;
00063		C.DrawColor.b = 255;
00064		
00065		C.Font = Root.Fonts[F_Normal];
00066	
00067		if(UBrowserIRCUserList(Item).bChOp)
00068			Prefix = "@";
00069		else if(UBrowserIRCUserList(Item).bVoice)
00070			Prefix = "+";
00071		else
00072			Prefix = "";
00073	
00074		ClipText(C, X, Y, Prefix$UBrowserIRCUserList(Item).NickName);
00075	}
00076	
00077	function ChangeOp(string Nick, bool bOp)
00078	{
00079		local UBrowserIRCUserList User;
00080	
00081		User = FindNick(Nick);
00082		if(User != None)
00083		{
00084			User.bChOp = bOp;
00085			Items.MoveItemSorted(User);
00086		}
00087	}
00088	
00089	function ChangeVoice(string Nick, bool bVoice)
00090	{
00091		local UBrowserIRCUserList User;
00092	
00093		User = FindNick(Nick);
00094		if(User != None)
00095		{
00096			User.bVoice = bVoice;
00097			Items.MoveItemSorted(User);
00098		}
00099	}
00100	
00101	function DoubleClickItem(UWindowListBoxItem I)
00102	{
00103		UBrowserIRCChannelPage(OwnerWindow).SystemPage.FindPrivateWindow(UBrowserIRCUserList(I).NickName);
00104	}
00105	
00106	defaultproperties
00107	{
00108	     ItemHeight=13.000000
00109	     ListClass=Class'UBrowser.UBrowserIRCUserList'
00110	}

End Source Code