8.1.16 The radio-button-choice Widget


type ::= (radio-button-choice [keyword argument]...  type ... )

A widget to represent a choice from multiple options. Its super is the default widget.

The component types specify the choices, with one radio button for each. The widget’s value will be that of the chosen type argument.

It overrides the following properties:


As other composite widgets, a function that takes care of converting each available choice.


A function to copy each available choice.


A function that checks if any radio button was pressed and activates the pressed one, possibly deactivating an old one. Then, it notifies itself.


This string will be inserted for each entry in the list. The following ‘%’ escapes are available:


Replace with the buffer representation of the type widget.


Replace with the radio button.


Insert a literal ‘%’.


By default, it inserts its value.


A list of keywords to pass to the radio buttons. Useful for setting, e.g., the ‘:help-echo’ for each button.


The widgets representing the radio buttons.


The widgets representing each type.


The current chosen type.


The list of types.


A function to insert all available choices.


Returns the value for the chosen widget.


A function to set the value to one of its available options.


A function that returns the inline value of the child widget.


By default, this widget has an offset of 4.


The widget validates if the current value is valid for one of its children.


This widget matches any value that matches at least one of the specified type arguments.


Like the :match function, but taking into account inline values.

You can add extra radio button items to a radio-button-choice widget after it has been created with the function widget-radio-add-item.

Function: widget-radio-add-item widget type

Add to radio-button-choice widget widget a new radio button item of type type.

Please note that such items added after the radio-button-choice widget has been created will not be properly destructed when you call widget-delete.