UBrowser
Class UBrowserRightClickMenu

source: e:\games\UnrealTournament\UBrowser\Classes\UBrowserRightClickMenu.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowDialogControl
            |
            +--UWindow.UWindowListControl
               |
               +--UWindow.UWindowPulldownMenu
                  |
                  +--UWindow.UWindowRightClickMenu
                     |
                     +--UBrowser.UBrowserRightClickMenu
Direct Known Subclasses:UBrowserFavoritesMenu

class UBrowserRightClickMenu
extends UWindow.UWindowRightClickMenu


Variables
 string CopyName
 string FavoritesName
 UBrowserServerGrid Grid
 string InfoName
 UBrowserServerList List
 Favorites, OpenLocation
 string OpenLocationName
 string PingAllName
 string PlayName
 string RefreshName
 string RefreshServerName


Function Summary
 void AddFavoriteItems()
 void Created()
 void ExecuteItem(UWindowPulldownMenuItem I)
 void ShowWindow()



Source Code


00001	class UBrowserRightClickMenu extends UWindowRightClickMenu;
00002	
00003	var UWindowPulldownMenuItem Play, Copy, Refresh, RefreshServer, PingAll, Info, Favorites, OpenLocation;
00004	
00005	var localized string PlayName;
00006	var localized string RefreshName;
00007	var localized string InfoName;
00008	var localized string FavoritesName;
00009	var localized string RefreshServerName;
00010	var localized string PingAllName;
00011	var localized string OpenLocationName;
00012	var localized string CopyName;
00013	
00014	var UBrowserServerGrid	Grid;
00015	var UBrowserServerList	List;
00016	
00017	function Created()
00018	{
00019		Super.Created();
00020		
00021		Info = AddMenuItem(InfoName, None);
00022		Copy = AddMenuItem(CopyName, None);
00023		Play = AddMenuItem(PlayName, None);
00024		OpenLocation = AddMenuItem(OpenLocationName, None);
00025		AddMenuItem("-", None);
00026		AddFavoriteItems();
00027		AddMenuItem("-", None);
00028		RefreshServer = AddMenuItem(RefreshServerName, None);
00029		PingAll = AddMenuItem(PingAllName, None);
00030		Refresh = AddMenuItem(RefreshName, None);
00031	}
00032	
00033	function AddFavoriteItems()
00034	{
00035		Favorites = AddMenuItem(FavoritesName, None);
00036	}
00037	
00038	function ExecuteItem(UWindowPulldownMenuItem I) 
00039	{
00040		switch(I)
00041		{
00042		case Play:
00043			Grid.JoinServer(List);
00044			break;
00045		case Info:
00046			if(!Info.bDisabled) 
00047				Grid.ShowInfo(List);
00048			break;
00049		case Favorites:
00050			UBrowserServerListWindow(Grid.GetParent(class'UBrowserServerListWindow')).AddFavorite(List);
00051			break;
00052		case Refresh:
00053			Grid.Refresh();
00054			break;
00055		case PingAll:
00056			Grid.RePing();
00057			break;
00058		case RefreshServer:
00059			Grid.RefreshServer();
00060			break;
00061		case OpenLocation:
00062			UBrowserMainWindow(Grid.GetParent(class'UBrowserMainWindow')).ShowOpenWindow();
00063			break;
00064		case Copy:
00065			GetPlayerOwner().CopyToClipboard("unreal://"$List.IP$":"$string(List.GamePort));
00066			break;		
00067		}
00068	
00069		Super.ExecuteItem(I);
00070	}
00071	
00072	function ShowWindow()
00073	{
00074		Info.bDisabled = List == None || List.GamePort == 0;
00075		Play.bDisabled = List == None || List.GamePort == 0;
00076		Copy.bDisabled = List == None || List.GamePort == 0;
00077	
00078		Favorites.bDisabled = List == None;
00079		RefreshServer.bDisabled = List == None;
00080		Selected = None;
00081	
00082		Super.ShowWindow();
00083	}
00084	
00085	defaultproperties
00086	{
00087	     PlayName="&Play on This Server"
00088	     RefreshName="&Refresh All Servers"
00089	     InfoName="&Server and Player Info"
00090	     FavoritesName="Add to &Favorites"
00091	     RefreshServerName="P&ing This Server"
00092	     PingAllName="Ping &All Servers"
00093	     OpenLocationName="Open &Location"
00094	     CopyName="&Copy This Server Location"
00095	}

End Source Code