rott/kf_sources/XInterface/Classes/GUIFormatNumEdit.uc
2026-07-14 20:27:09 +07:00

74 lines
1.5 KiB
Ucode

//==============================================================================
// NumericEdit component with custom formatting
//
// Written by Michiel Hendriks
// (c) 2003, 2004, Epic Games, Inc. All Rights Reserved
//==============================================================================
class GUIFormatNumEdit extends GUINumericEdit;
var protected bool bUnformated;
delegate string FormatValue(int NewValue)
{
return "$ "$NewValue; // test
}
function InitComponent(GUIController MyController, GUIComponent MyOwner)
{
Super.InitComponent(MyController, MyOwner);
MyEditBox.OnActivate = FormatToValue;
MyEditBox.OnDeActivate = ValueToFormat;
MySpinner.bNeverFocus = false;
MySpinner.FocusInstead = none;
}
function CalcMaxLen(); // don't limit size
function EditOnChange(GUIComponent Sender); // no longer needed
function ValidateValue();
function ValueToFormat()
{
if (!bUnformated) return;
SetValue(int(MyEditBox.GetText()));
}
function FormatToValue()
{
MyEditBox.SetText(Value);
bUnformated = true;
}
function SetValue(int V)
{
if (v<MinValue)
v=MinValue;
if (v>MaxValue)
v=MaxValue;
Value = string(V);
MyEditBox.SetText(FormatValue(int(Value)));
bUnformated = false;
OnChange(Self);
}
function bool SpinnerPlusClick(GUIComponent Sender)
{
local int v;
v = int(Value) + Step;
SetValue(v);
return true;
}
function bool SpinnerMinusClick(GUIComponent Sender)
{
local int v;
v = int(Value) - Step;
SetValue(v);
return true;
}