Class UI_Window extends FloatingWindow; struct FComponentData { var GUIComponent Component; var string OldData; var byte Type; var bool bInstantUpdate,bLocked; }; var name WindowID; var array MyComponents; var UI_Replication RepNotify; var bool bSecureChanges; function InitComponent(GUIController MyController, GUIComponent MyOwner) { Super.InitComponent(MyController,MyOwner); if( Default.RepNotify!=None ) { Default.RepNotify.TempNewMenu = Self; Default.RepNotify = None; } } function HandleParameters(string Param1, string Param2) { t_WindowTitle.SetCaption(Param1); WindowName = Param1; } function Closed( GUIComponent Sender, bool bCancelled ) { if( RepNotify!=None ) RepNotify.WindowClosed(Self); RepNotify = None; Super.Closed(Sender, bCancelled); } final function InitFloatValue( moFloatEdit C, string V ) { local string S; local float FA,FB,FC; Divide(V,":",S,V); FA = float(S); Divide(V,":",S,V); FB = float(S); Divide(V,":",S,V); FC = float(S); C.Setup(FA,FB,FC); C.SetComponentValue(V,true); } final function InitIntValue( moNumericEdit C, string V ) { local string S; local int FA,FB,FC; Divide(V,":",S,V); FA = int(S); Divide(V,":",S,V); FB = int(S); Divide(V,":",S,V); FC = int(S); C.Setup(FA,FB,FC); C.SetComponentValue(V,true); } final function InitComboBox( moComboBox C, string V ) { local string S; local array AR; local int i; Divide(V,";",S,V); Split(V,":",AR); if( C.ItemCount()>0 ) C.ResetComponent(); for( i=0; i=3 ) { S = GetComponentData(i); if( S!=MyComponents[i].OldData ) { RepNotify.ServerSubmitValue(WindowID,i,S); MyComponents[i].OldData = S; } } } function bool InternalOnClick(GUIComponent Sender) { local int i; local string S; if( !bSecureChanges ) { for( i=0; i