UWindow
Class UWindowPageControl

source: e:\games\UnrealTournament\UWindow\Classes\UWindowPageControl.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowDialogControl
            |
            +--UWindow.UWindowListControl
               |
               +--UWindow.UWindowTabControl
                  |
                  +--UWindow.UWindowPageControl
Direct Known Subclasses:UMenuPageControl

class UWindowPageControl
extends UWindow.UWindowTabControl



Function Summary
 void BeforePaint(Canvas C, float X, float Y)
 void Close(optional bool)
 void DeletePage(UWindowPageControlPage P)
 UWindowPageControlPage FirstPage()
 void GetDesiredDimensions(out float, out float)
 UWindowPageControlPage GetPage(string Caption)
 void GotoTab(UWindowTabControlItem NewSelected, optional bool)
 void NotifyAfterLevelChange()
 void NotifyBeforeLevelChange()
 void NotifyQuitUnreal()
 void Paint(Canvas C, float X, float Y)
 void ResolutionChanged(float W, float H)



Source Code


00001	class UWindowPageControl extends UWindowTabControl;
00002	
00003	function ResolutionChanged(float W, float H)
00004	{
00005		local UWindowPageControlPage I;
00006	
00007		for(I = UWindowPageControlPage(Items.Next); I != None; I = UWindowPageControlPage(I.Next))
00008			if(I.Page != None && I != SelectedTab )
00009				I.Page.ResolutionChanged(W, H);
00010		
00011		if(SelectedTab != None)
00012			UWindowPageControlPage(SelectedTab).Page.ResolutionChanged(W, H);
00013	}
00014	
00015	function NotifyQuitUnreal()
00016	{
00017		local UWindowPageControlPage I;
00018	
00019		for(I = UWindowPageControlPage(Items.Next); I != None; I = UWindowPageControlPage(I.Next))
00020			if(I.Page != None)
00021				I.Page.NotifyQuitUnreal();
00022	}
00023	
00024	function NotifyBeforeLevelChange()
00025	{
00026		local UWindowPageControlPage I;
00027	
00028		for(I = UWindowPageControlPage(Items.Next); I != None; I = UWindowPageControlPage(I.Next))
00029			if(I.Page != None)
00030				I.Page.NotifyBeforeLevelChange();
00031	}
00032	
00033	function NotifyAfterLevelChange()
00034	{
00035		local UWindowPageControlPage I;
00036	
00037		for(I = UWindowPageControlPage(Items.Next); I != None; I = UWindowPageControlPage(I.Next))
00038			if(I.Page != None)
00039				I.Page.NotifyAfterLevelChange();
00040	}
00041	
00042	function GetDesiredDimensions(out float W, out float H)
00043	{
00044		local float MaxW, MaxH, TW, TH;
00045		local UWindowPageControlPage I;
00046		
00047		MaxW = 0;
00048		MaxH = 0;
00049	
00050		for(I = UWindowPageControlPage(Items.Next); I != None; I = UWindowPageControlPage(I.Next))
00051		{
00052			if(I.Page != None)
00053				I.Page.GetDesiredDimensions(TW, TH);
00054	
00055			if(TW > MaxW) MaxW = TW;
00056			if(TH > MaxH) MaxH = TH;
00057		}
00058		W = MaxW;
00059		H = MaxH + TabArea.WinHeight;
00060	}
00061	
00062	
00063	function BeforePaint(Canvas C, float X, float Y)
00064	{
00065		local float OldWinHeight;
00066		local UWindowPageControlPage I;
00067	
00068		OldWinHeight = WinHeight;
00069		Super.BeforePaint(C, X, Y);
00070		WinHeight = OldWinHeight;
00071	
00072		for(I = UWindowPageControlPage(Items.Next); I != None; I = UWindowPageControlPage(I.Next))
00073			LookAndFeel.Tab_SetTabPageSize(Self, I.Page);
00074	}
00075	
00076	function Paint(Canvas C, float X, float Y)
00077	{
00078		Super.Paint(C, X, Y);
00079		LookAndFeel.Tab_DrawTabPageArea(Self, C, UWindowPageControlPage(SelectedTab).Page);
00080	}
00081	
00082	function UWindowPageControlPage AddPage(string Caption, class<UWindowPageWindow> PageClass, optional name ObjectName)
00083	{
00084		local UWindowPageControlPage P;
00085		P = UWindowPageControlPage(AddTab(Caption));
00086		P.Page = UWindowPageWindow(CreateWindow(PageClass, 0, 
00087					TabArea.WinHeight-(LookAndFeel.TabSelectedM.H-LookAndFeel.TabUnselectedM.H), 
00088					WinWidth, WinHeight-(TabArea.WinHeight-(LookAndFeel.TabSelectedM.H-LookAndFeel.TabUnselectedM.H)),,,ObjectName));
00089		P.Page.OwnerTab = P;
00090	
00091		if(P != SelectedTab) 
00092			P.Page.HideWindow();
00093		else
00094		if(UWindowPageControlPage(SelectedTab) != None && WindowIsVisible())
00095		{
00096			UWindowPageControlPage(SelectedTab).Page.ShowWindow();
00097			UWindowPageControlPage(SelectedTab).Page.BringToFront();
00098		}
00099	
00100		return P;
00101	}
00102	
00103	function UWindowPageControlPage InsertPage(UWindowPageControlPage BeforePage, string Caption, class<UWindowPageWindow> PageClass, optional name ObjectName)
00104	{
00105		local UWindowPageControlPage P;
00106	
00107		if(BeforePage == None)
00108			return AddPage(Caption, PageClass);
00109	
00110		P = UWindowPageControlPage(InsertTab(BeforePage, Caption));
00111		P.Page = UWindowPageWindow(CreateWindow(PageClass, 0, 
00112					TabArea.WinHeight-(LookAndFeel.TabSelectedM.H-LookAndFeel.TabUnselectedM.H), 
00113					WinWidth, WinHeight-(TabArea.WinHeight-(LookAndFeel.TabSelectedM.H-LookAndFeel.TabUnselectedM.H)),,,ObjectName));
00114		P.Page.OwnerTab = P;
00115	
00116		if(P != SelectedTab) 
00117			P.Page.HideWindow();
00118		else
00119		if(UWindowPageControlPage(SelectedTab) != None && WindowIsVisible())
00120		{
00121			UWindowPageControlPage(SelectedTab).Page.ShowWindow();
00122			UWindowPageControlPage(SelectedTab).Page.BringToFront();
00123		}
00124	
00125		return P;
00126	}
00127	
00128	function UWindowPageControlPage GetPage(string Caption)
00129	{
00130		return UWindowPageControlPage(GetTab(Caption));
00131	}
00132	
00133	function DeletePage(UWindowPageControlPage P)
00134	{
00135		P.Page.Close(True);
00136		P.Page.HideWindow();
00137		DeleteTab(P);
00138	}
00139	
00140	function Close(optional bool bByParent)
00141	{
00142		local UWindowPageControlPage I;
00143	
00144		for(I = UWindowPageControlPage(Items.Next); I != None; I = UWindowPageControlPage(I.Next))
00145			if(I.Page != None)
00146				I.Page.Close(True);
00147	
00148		Super.Close(bByParent);
00149	}
00150	
00151	function GotoTab(UWindowTabControlItem NewSelected, optional bool bByUser)
00152	{
00153		local UWindowPageControlPage I;
00154	
00155		Super.GotoTab(NewSelected, bByUser);
00156	
00157		for(I = UWindowPageControlPage(Items.Next);I != None;I = UWindowPageControlPage(I.Next))
00158		{
00159			if(I != NewSelected)
00160				I.Page.HideWindow();			
00161		}
00162	
00163		if(UWindowPageControlPage(NewSelected) != None)
00164			UWindowPageControlPage(NewSelected).Page.ShowWindow();
00165	}
00166	
00167	function UWindowPageControlPage FirstPage()
00168	{
00169		return UWindowPageControlPage(Items.Next);
00170	}
00171	
00172	defaultproperties
00173	{
00174	     ListClass=Class'UWindow.UWindowPageControlPage'
00175	}

End Source Code