Core.Object | +--UWindow.UWindowBase | +--UWindow.UWindowWindow | +--UWindow.UWindowClientWindow | +--UWindow.UWindowDialogClientWindow | +--UBrowser.UBrowserOpenCW
UWindowComboControl
OpenCombo
string
OpenHelp
OpenHistory[10]
OpenText
void
BeforePaint(Canvas C, float X, float Y)
Created()
Notify(UWindowDialogControl C, byte E)
OpenURL()
00001 class UBrowserOpenCW expands UWindowDialogClientWindow; 00002 00003 var UWindowComboControl OpenCombo; 00004 var localized string OpenText; 00005 var localized string OpenHelp; 00006 00007 var config string OpenHistory[10]; 00008 00009 function Created() 00010 { 00011 local float EditWidth; 00012 local int i; 00013 local Color TC; 00014 00015 Super.Created(); 00016 00017 EditWidth = WinWidth - 140; 00018 OpenCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', 20, 20, EditWidth, 1)); 00019 OpenCombo.SetText(OpenText); 00020 OpenCombo.SetHelpText(OpenHelp); 00021 OpenCombo.SetFont(F_Normal); 00022 OpenCombo.SetEditable(True); 00023 for (i=0; i<10; i++) 00024 if (OpenHistory[i] != "") 00025 OpenCombo.AddItem(OpenHistory[i]); 00026 } 00027 00028 function BeforePaint(Canvas C, float X, float Y) 00029 { 00030 local float EditWidth; 00031 local float XL, YL; 00032 00033 C.Font = Root.Fonts[OpenCombo.Font]; 00034 TextSize(C, OpenCombo.Text, XL, YL); 00035 00036 EditWidth = WinWidth - 50; 00037 00038 OpenCombo.WinLeft = (WinWidth - EditWidth) / 2; 00039 OpenCombo.WinTop = (WinHeight-OpenCombo.WinHeight) / 2; 00040 OpenCombo.SetSize(EditWidth, OpenCombo.WinHeight); 00041 OpenCombo.EditBoxWidth = OpenCombo.WinWidth - XL - 20; 00042 00043 Super.BeforePaint(C, X, Y); 00044 } 00045 00046 function Notify(UWindowDialogControl C, byte E) 00047 { 00048 Super.Notify(C, E); 00049 00050 if((C == OpenCombo && E == DE_EnterPressed) || 00051 (C == UBrowserOpenWindow(ParentWindow).OKButton && E == DE_Click)) 00052 OpenURL(); 00053 } 00054 00055 function OpenURL() 00056 { 00057 local int i; 00058 local bool HistoryItem; 00059 local UWindowComboListItem Item; 00060 local string URL; 00061 00062 URL = OpenCombo.GetValue(); 00063 if(URL == "") 00064 { 00065 OpenCombo.BringToFront(); 00066 return; 00067 } 00068 00069 for (i=0; i<10; i++) 00070 { 00071 if (OpenHistory[i] ~= URL) 00072 HistoryItem = True; 00073 } 00074 if (!HistoryItem) 00075 { 00076 OpenCombo.InsertItem(URL); 00077 while(OpenCombo.List.Items.Count() > 10) 00078 OpenCombo.List.Items.Last.Remove(); 00079 00080 Item = UWindowComboListItem(OpenCombo.List.Items.Next); 00081 for (i=0; i<10; i++) 00082 { 00083 if(Item != None) 00084 { 00085 OpenHistory[i] = Item.Value; 00086 Item = UWindowComboListItem(Item.Next); 00087 } 00088 else 00089 OpenHistory[i] = ""; 00090 } 00091 } 00092 SaveConfig(); 00093 00094 OpenCombo.ClearValue(); 00095 GetParent(class'UWindowFramedWindow').Close(); 00096 UBrowserMainWindow(ParentWindow.OwnerWindow).OpenURL(URL); 00097 } 00098 00099 defaultproperties 00100 { 00101 OpenText="Open:" 00102 OpenHelp="Enter a standard URL, or select one from the URL history. Press Enter to activate." 00103 }