[]Struct gtk::RadioButton

pub struct RadioButton(_, _);

A single radio button performs the same basic function as a CheckButton, as its position in the object hierarchy reflects. It is only when multiple radio buttons are grouped together that they become a different user interface component in their own right.

Every radio button is a member of some group of radio buttons. When one is selected, all other radio buttons in the same group are deselected. A RadioButton is one way of giving the user a choice from many options.

Radio button widgets are created with RadioButton::new, passing None as the argument if this is the first radio button in a group. In subsequent calls, the group you wish to add this button to should be passed as an argument. Optionally, RadioButton::new_with_label can be used if you want a text label on the radio button.

Alternatively, when adding widgets to an existing group of radio buttons, use RadioButton::new_from_widget with a RadioButton that already has a group assigned to it. The convenience function RadioButton::new_with_label_from_widget is also provided.

To retrieve the group a RadioButton is assigned to, use RadioButtonExt::get_group.

To remove a RadioButton from one group and make it part of a new one, use RadioButton::set_group.

The group list does not need to be freed, as each RadioButton will remove itself and its list item when it is destroyed.

CSS nodes

radiobutton
├── radio
╰── <child>

A RadioButton with indicator (see ToggleButtonExt::set_mode) has a main CSS node with name radiobutton and a subnode with name radio.

button.radio
├── radio
╰── <child>

A RadioButton without indicator changes the name of its main node to button and adds a .radio style class to it. The subnode is invisible in this case.

How to create a group of two radio buttons.

void create_radio_buttons (void) {

   GtkWidget *window, *radio1, *radio2, *box, *entry;
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
   gtk_box_set_homogeneous (GTK_BOX (box), TRUE);

   // Create a radio button with a GtkEntry widget
   radio1 = gtk_radio_button_new (NULL);
   entry = gtk_entry_new ();
   gtk_container_add (GTK_CONTAINER (radio1), entry);


   // Create a radio button with a label
   radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1),
                                                         "I’m the second radio button.");

   // Pack them into a box, then show all the widgets
   gtk_box_pack_start (GTK_BOX (box), radio1);
   gtk_box_pack_start (GTK_BOX (box), radio2);
   gtk_container_add (GTK_CONTAINER (window), box);
   gtk_widget_show_all (window);
   return;
}

When an unselected button in the group is clicked the clicked button receives the ToggleButton::toggled signal, as does the previously selected button. Inside the ToggleButton::toggled handler, ToggleButtonExt::get_active can be used to determine if the button has been selected or deselected.

Implements

RadioButtonExt, CheckButtonExt, ToggleButtonExt, ButtonExt, BinExt, ContainerExt, WidgetExt, glib::object::ObjectExt, BuildableExt, ActionableExt, WidgetExtManual, BuildableExtManual

Implementations

impl RadioButton[src]

pub fn from_widget<P: IsA<RadioButton>>(radio_group_member: &P) -> RadioButton[src]

pub fn with_label_from_widget<P: IsA<RadioButton>>(
    radio_group_member: &P,
    label: &str
) -> RadioButton
[src]

pub fn with_mnemonic_from_widget<P: IsA<RadioButton>>(
    radio_group_member: &P,
    label: &str
) -> RadioButton
[src]

impl RadioButton[src]

pub fn new() -> RadioButton[src]

Creates a new RadioButton. To be of any practical value, a widget should then be packed into the radio button.

group

an existing radio button group, or None if you are creating a new group.

Returns

a new radio button

pub fn with_label(label: &str) -> RadioButton[src]

pub fn with_mnemonic(label: &str) -> RadioButton[src]

Trait Implementations

impl Clone for RadioButton

impl Debug for RadioButton

impl Display for RadioButton[src]

impl Eq for RadioButton

impl Hash for RadioButton

impl IsA<Actionable> for RadioButton

impl IsA<Bin> for RadioButton

impl IsA<Buildable> for RadioButton

impl IsA<Button> for RadioButton

impl IsA<CheckButton> for RadioButton

impl IsA<Container> for RadioButton

impl IsA<ToggleButton> for RadioButton

impl IsA<Widget> for RadioButton

impl Ord for RadioButton

impl<T: ObjectType> PartialEq<T> for RadioButton

impl<T: ObjectType> PartialOrd<T> for RadioButton

impl StaticType for RadioButton

Auto Trait Implementations

impl RefUnwindSafe for RadioButton

impl !Send for RadioButton

impl !Sync for RadioButton

impl Unpin for RadioButton

impl UnwindSafe for RadioButton

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Super, Sub> CanDowncast<Sub> for Super where
    Sub: IsA<Super>,
    Super: IsA<Super>, 

impl<T> Cast for T where
    T: ObjectType, 

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ObjectExt for T where
    T: ObjectType, 

impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *const GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<Array>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.