wxRadioButton(3)

πŸ“¦
version 29.0.6 Β· 3 versions
, in ubuntu stonking

πŸ’– wxRadioButton

okay so bestie, welcome to wxRadioButton β€” this is the Erlang Module Definition for it, and it's genuinely one of the cutest little widgets in wx. a radio button item is a button which usually denotes one of several mutually exclusive options. that's the whole ~vibe~ honestly: pick exactly one, girl. πŸ‘‘


✨ DESCRIPTION ✨

It has a text label next to a (usually) round button. πŸŽ€

You can create a group of mutually-exclusive radio buttons by specifying wxRB_GROUP for the first in the group. The group ends when another radio button group is created, or there are no more radio buttons.

🌸 Styles

This class supports the following styles:

  • wxRB_GROUP β€” Marks the beginning of a new group of radio buttons.
  • wxRB_SINGLE β€” In some circumstances, radio buttons that are not consecutive siblings trigger a hang bug in Windows (only). If this happens, add this style to mark the button as not belonging to a group, and implement the mutually-exclusive group behaviour yourself.
⚠️ lowkey important: that hang bug is Windows-only and it will legit hang you. if your buttons are non-consecutive siblings and things freeze, that's why. wxRB_SINGLE is the rescue. πŸ’€

See:

  • Overview events
  • wxRadioBox
  • wxCheckBox

This class is derived, and can use functions, from:

  • wxControl
  • wxWindow
  • wxEvtHandler

wxWidgets docs: wxRadioButton

πŸ¦‹ Events

Event types emitted from this class:

  • command_radiobutton_selected

🌈 DATA TYPES 🌈

wxRadioButton() :: wx:wx_object().

πŸ’… FUNCTIONS πŸ’…

create(This, Parent, Id, Label, [Option]) -> boolean()

when
    This :: wxRadioButton(),
    Parent :: wxWindow:wxWindow(),
    Id :: integer(),
    Label :: unicode:chardata(),
    Option ::
        {pos, {X :: integer(), Y :: integer()}} |
        {size, {W :: integer(), H :: integer()}} |
        {style, integer()} |
        {validator, wx:wx_object()}.

Creates the choice for two-step construction. πŸ› οΈ

See new/4 for further details.

destroy(This :: wxRadioButton()) -> ok.

Destroys the object. bye bestie, it was iconic while it lasted 🫢

getValue(This) -> boolean() when This :: wxRadioButton().

Returns true if the radio button is checked, false otherwise. simple as. ✨

new() -> wxRadioButton().

Default constructor.

See: create/5

new(Parent, Id, Label, [Option]) -> wxRadioButton()

when
    Parent :: wxWindow:wxWindow(),
    Id :: integer(),
    Label :: unicode:chardata(),
    Option ::
        {pos, {X :: integer(), Y :: integer()}} |
        {size, {W :: integer(), H :: integer()}} |
        {style, integer()} |
        {validator, wx:wx_object()}.

Constructor, creating and showing a radio button. πŸŽ€βœ¨

See: create/5

setValue(This, Value) -> ok

when This :: wxRadioButton(), Value :: boolean().

Sets the radio button to checked or unchecked status.

This does not cause a wxEVT_RADIOBUTTON event to get emitted. for real, no event, don't go waiting for one πŸ™ˆ

If the radio button belongs to a radio group exactly one button in the group may be checked and so this method can be only called with value set to true. To uncheck a radio button in a group you must check another button in the same group.

πŸ‘‘ Note: Under MSW, the focused radio button is always selected, i.e. its value is true. And, conversely, calling SetValue(true) will also set focus to the radio button if the focus had previously been on another radio button in the same group - as otherwise setting it on wouldn't work.

so yeah, on MSW the focus and the check state are kind of glued together. that's not a bug, that's just how it is. periodt. πŸ’…


mwah, that's the whole page bestie πŸ’– this iconic little manual was brought to you by Ericsson AB, living under the wx 2.6 banner, and it's filed as wxRadioButton(3). now go make some mutually exclusive choices, main character. πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from