RadioButton — Clickable on/off toggle button for radio boxes
RadioButton
( | string | label, |
| boolean | selected); |
Value
the state of the RadioButton ( on or off )
Label
the RadioButton's text
A radio button is not usefull alone. Radio buttons are group such that the user can select one radio button of a group. It is much like a selection box, but radio buttons can be dispersed over the dialog. Radio buttons must be contained in a RadioButtonGroup.
{
UI::OpenDialog(
`RadioButtonGroup(`id(`rb),
`VBox(
`Label("How do you want to crash?"),
`Left(`RadioButton(`id(0), "No&w")),
`Left(`RadioButton(`id(1), "&Every now and then" )),
`Left(`RadioButton(`id(2), "Every &five minutes", true)),
`Left(`RadioButton(`id(3), `opt(`boldFont), "Ne&ver", true )),
`HBox(
`PushButton(`id(`next), "&Next"),
`PushButton("&OK")
)
)
)
);
while (true)
{
any ret = UI::UserInput();
if (ret == `next)
{
integer current = (integer) UI::QueryWidget(`id(`rb), `CurrentButton);
current = (current + 1) % 4;
UI::ChangeWidget(`id(`rb), `CurrentButton, current);
}
else break;
}
UI::CloseDialog();
}
{
UI::OpenDialog(
`RadioButtonGroup(`id(`rb),
`VBox(
`Label("How do you want to crash?"),
`Left(`RadioButton(`id(0), `opt(`notify), "No&w")),
`Left(`RadioButton(`id(1), `opt(`notify), "&Every now an then" )),
`Left(`RadioButton(`id(2), `opt(`notify), "Every &five minutes")),
`Left(`RadioButton(`id(3), `opt(`notify), "Ne&ver", true )),
`HBox(
`PushButton(`id(`next), "&Next"),
`PushButton(`id(`close), "&Close")
)
)
)
);
while (true)
{
any ret = UI::UserInput();
if ( ret == `close ) break;
else if (ret == `next)
{
y2milestone("Hit next");
integer current = (integer) UI::QueryWidget(`id(`rb), `CurrentButton);
current = (current + 1) % 4;
UI::ChangeWidget(`id(`rb), `CurrentButton, current);
}
else
{
y2milestone("Hit RadioButton #%1", ret);
}
}
y2milestone("Terminating.");
UI::CloseDialog();
}
{
UI::OpenDialog( `VBox(
`Frame ( "CPU &Speed",
`RadioButtonGroup(
`VBox(
`Left(`RadioButton("Normal" )),
`Left(`RadioButton("Overclocked" )),
`Left(`RadioButton("Red Hot" )),
`Left(`RadioButton("Melting", true ))
)
)
),
`PushButton("&OK")
)
);
UI::UserInput();
UI::CloseDialog();
}
{
// Demo for shortcut checking:
// Deliberately generate a shortcut conflict.
UI::OpenDialog(
`VBox(
`RadioButtonGroup(
`VBox(
`Left( `RadioButton( "Instant &Play", true ) ),
`Left( `RadioButton( "Demo &Only" ) )
)
),
`Left( `ComboBox( "Game &Type:",
[ "Boring", "Full automatic", "Unplayable" ] ) ),
`TextEntry( "Nickname for &Player 1:" ),
`TextEntry( "Nickname for &Player 2:" ),
`IntField( "Maximum &Time:", 0, 100, 20 ),
`PushButton( "&OK" )
)
);
UI::UserInput();
UI::CloseDialog();
}