79 lines
1.8 KiB
Ucode
79 lines
1.8 KiB
Ucode
// ====================================================================
|
|
// Class: XInterface.moCheckBox
|
|
// Combines a label and check box button.
|
|
// ====================================================================
|
|
|
|
class moCheckBox extends GUIMenuOption;
|
|
|
|
var(Option) string CheckStyleName;
|
|
var(Option) noexport editconst GUICheckBoxButton MyCheckBox;
|
|
var(Option) noexport editconst deprecated bool bChecked;
|
|
|
|
function InitComponent(GUIController MyController, GUIComponent MyOwner)
|
|
{
|
|
local GUIStyles S;
|
|
Super.Initcomponent(MyController, MyOwner);
|
|
|
|
MyCheckBox = GUICheckBoxButton(MyComponent);
|
|
MyCheckBox.OnChange = ButtonChecked;
|
|
MyCheckBox.OnClick = InternalClick;
|
|
|
|
S = Controller.GetStyle(CheckStyleName,MyCheckBox.FontScale);
|
|
if ( S != none )
|
|
MyCheckBox.Graphic = S.Images[0];
|
|
}
|
|
|
|
function SetComponentValue(coerce string NewValue, optional bool bNoChange)
|
|
{
|
|
if ( bNoChange )
|
|
bIgnoreChange = True;
|
|
|
|
Checked(NewValue);
|
|
bIgnoreChange = False;
|
|
}
|
|
|
|
function string GetComponentValue()
|
|
{
|
|
return string(IsChecked());
|
|
}
|
|
|
|
function ResetComponent()
|
|
{
|
|
MyCheckBox.SetChecked(False);
|
|
}
|
|
|
|
function bool IsChecked()
|
|
{
|
|
return MyCheckBox.bChecked;
|
|
}
|
|
|
|
function bool Checked(coerce bool C)
|
|
{
|
|
MyCheckBox.SetChecked(C);
|
|
return true;
|
|
}
|
|
|
|
function ButtonChecked(GUIComponent Sender)
|
|
{
|
|
if ( Sender == MyCheckBox )
|
|
InternalOnChange(Self);
|
|
}
|
|
|
|
private function bool InternalClick(GUIComponent Sender)
|
|
{
|
|
if ( bValueReadOnly )
|
|
return true;
|
|
|
|
return MyCheckBox.InternalOnClick(Sender);
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
ComponentClassName="XInterface.GUICheckBoxButton"
|
|
bSquare=True
|
|
ComponentJustification=TXTA_Right
|
|
LabelJustification=TXTA_Left
|
|
ComponentWidth=-1
|
|
CaptionWidth=0.8
|
|
}
|