radio-box%
Implements: control<%>
A radio-box% control allows the user to select one of
number of mutually exclusive items. The items are displayed as a
vertical column or horizontal row of labelled radio
buttons. Unlike a list-control<%>, the set of items in a
radio-box% cannot be changed dynamically.
Whenever the user changes the selected radio button, the radio box's callback procedure is invoked. A callback procedure is provided as an initialization argument when each radio box is created.
( -> instantiate radio-box% () (label _) (choices _) (parent _) (callback _) [(style _)] [(enabled _)] [(vert-margin _)] [(horiz-margin _)] [(min-width _)] [(min-height _)] [(stretchable-width _)] [(stretchable-height _)])radio-box% object
label : string (up to 200 characters) or #f
choices : list of strings (up to 200 characters each) or bitmap% objects
parent : frame%, dialog%, panel%, or pane% object
callback : procedure of two arguments: a radio-box% object and a control-event% object
style = : list of symbols in '(vertical)'(horizontal vertical)
enabled = : boolean
#t
vert-margin = : exact integer in [0, 1000]
2
horiz-margin = : exact integer in [0, 1000]
2
min-width = : exact integer in [0, 10000]
0
min-height = : exact integer in [0, 10000]
0
stretchable-width = : boolean
#f
stretchable-height = : boolean#f
Creates a radio button set with string or bitmap labels. The
choices list specifies the radio button labels; the list of
choices must be homogenous, either all strings or all bitmaps.
If an ampersand (``&'') occurs in label, it
is specially parsed; under Windows and X, the character following an
ampersand is underlined in the displayed control to indicate a
keyboard mnemonic. (Under Mac OS, mnemonic underlines are not shown.)
The underlined mnemonic character must be a letter or a digit. The
user can move the keyboard focus to the radio box by typing the mnemonic when the control's
top-level-window contains the keyboard focus. The user must also hold
down the Meta or Alt key if the keyboard focus is currently in a
control that handles normal alphanumeric input. The ampersand itself
is removed from label before it is displayed for the control; a
double-ampersand in label is converted to a single ampersand
(with no mnemonic underlining). Mnemonic keyboard events are handled
by on-traverse-char (but not under
Mac OS).
Each string in choices can also contain an ampersand, which
creates a mnemonic for clicking the corresponding radio button. As
for label, a double ampersand is converted to a single
ampersand.
If choices is a list of bitmaps, then the bitmaps
must be valid (see ok? in bitmap%) and not installed
in a bitmap-dc% object; otherwise, an exn:application:mismatch exception is raised.
If label is a string, it is used as the label for the radio
box. Otherwise, the radio box does not display its
label.
The callback procedure is called (with the event type
'radio-box) when the user changes the radio button
selection.
The style argument must include either 'vertical for a
collection of radio buttons vertically arranged, or
'horizontal for a horizontal arrangement.
For information about the
enabled
argument, see window<%>. For information about the
horiz-margin and vert-margin
arguments, see subarea<%>. For information about the
min-width, min-height, stretchable-width, and stretchable-height
arguments, see area<%>.
Methods
enable
get-item-label
get-item-plain-label
get-number
get-selection
is-enabled?
set-selection
All Methods
accept-drop-files from window<%>
client->screen from window<%>
command from control<%>
enable from radio-box%
overrides enable from window<%>
focus from window<%>
get-client-size from window<%>
get-cursor from window<%>
get-graphical-min-size from area<%>
get-height from window<%>
get-item-label from radio-box%
get-item-plain-label from radio-box%
get-label from window<%>
get-number from radio-box%
get-parent from area<%>
get-plain-label from window<%>
get-selection from radio-box%
get-size from window<%>
get-top-level-window from area<%>
get-width from window<%>
get-x from window<%>
get-y from window<%>
has-focus? from window<%>
horiz-margin from subarea<%>
is-enabled? from radio-box%
overrides is-enabled? from window<%>
is-shown? from window<%>
min-height from area<%>
min-width from area<%>
on-drop-file from window<%>
on-focus from window<%>
on-move from window<%>
on-size from window<%>
on-subwindow-char from window<%>
on-subwindow-event from window<%>
on-superwindow-enable from window<%>
on-superwindow-show from window<%>
popup-menu from window<%>
refresh from window<%>
screen->client from window<%>
set-cursor from window<%>
set-label from window<%>
set-selection from radio-box%
show from window<%>
stretchable-height from area<%>
stretchable-width from area<%>
vert-margin from subarea<%>