BRadioButton¶
A BRadioButton
object draws a labeled, two-state button that’s displayed in a group
along with other similar buttons. The button itself is a round icon that has a filled center when
the BRadioButton
is turned on, and is empty when it’s off. The label appears next to
the icon.
Only one radio button in the group can be on at a time; when the user clicks a button to turn it on,
the button that’s currently on is turned off. One button in the group must be on at all times; the
user can turn a button off only by turning another one on. The button that’s on has a value of 1
(B_CONTROL_ON
); the others have a value of 0 (B_CONTROL_OFF
).
The BRadioButton
class handles the interaction between radio buttons in the following
way: A direct user action can only turn on a radio button, not turn it off. However, when the user
turns a button on, the BRadioButton
object turns off all sibling
BRadioButton
s—that is, all BRadioButton
s that have the same parent as
the one that was turned on.
This means that a parent view should have no more than one group of radio buttons among its
children. Each set of radio buttons should be assigned a separate parent—perhaps an empty
BView
that simply contains the radio buttons and does no drawing of its own.