Class KFGUI_Clickable extends KFGUI_Base abstract; var() int IntIndex; // More user variables. var() string ToolTip; var KFGUI_Tooltip ToolTipItem; var byte PressedDown[2]; var bool bPressedDown; function InitMenu() { Super.InitMenu(); bClickable = !bDisabled; } function MouseClick(bool bRight) { if (!bDisabled) { PressedDown[byte(bRight)] = 1; bPressedDown = true; } } function MouseRelease(bool bRight) { if (!bDisabled && PressedDown[byte(bRight)]==1) { PressedDown[byte(bRight)] = 0; bPressedDown = (PressedDown[0]!=0 || PressedDown[1]!=0); HandleMouseClick(bRight); } } function MouseLeave() { Super.MouseLeave(); if (!bDisabled) PlayMenuSound(MN_LostFocus); PressedDown[0] = 0; PressedDown[1] = 0; bPressedDown = false; } function MouseEnter() { Super.MouseEnter(); if (!bDisabled) PlayMenuSound(MN_Focus); } function SetDisabled(bool bDisable) { Super.SetDisabled(bDisable); bClickable = !bDisable; PressedDown[0] = 0; PressedDown[1] = 0; bPressedDown = false; } function NotifyMousePaused() { if (Owner.InputFocus==None && ToolTip!="") { if (ToolTipItem==None) { ToolTipItem = New(None)Class'KFGUI_Tooltip'; ToolTipItem.Owner = Owner; ToolTipItem.ParentComponent = Self; ToolTipItem.InitMenu(); ToolTipItem.SetText(ToolTip); } ToolTipItem.ShowMenu(); ToolTipItem.CompPos[0] = Owner.MousePosition.X; ToolTipItem.CompPos[1] = Owner.MousePosition.Y; ToolTipItem.GetInputFocus(); } } final function ChangeToolTip(string S) { if (ToolTipItem!=None) ToolTipItem.SetText(S); else ToolTip = S; } function HandleMouseClick(bool bRight); defaultproperties { }