## GtkRadioMenuItem

GtkRadioMenuItem — A choice from multiple check menu items

## Functions

GtkWidget * | gtk_radio_menu_item_new ()
GtkWidget * | gtk_radio_menu_item_new_with_label ()
GtkWidget * | gtk_radio_menu_item_new_with_mnemonic ()
GtkWidget * | gtk_radio_menu_item_new_from_widget ()
GtkWidget * | gtk_radio_menu_item_new_with_label_from_widget ()
GtkWidget * | gtk_radio_menu_item_new_with_mnemonic_from_widget ()
void | gtk_radio_menu_item_set_group ()
GSList * | gtk_radio_menu_item_get_group ()

## Properties

GtkRadioMenuItem * | group | Write

## Signals

void | group-changed | Run First

## Types and Values

struct | GtkRadioMenuItem
#define | gtk_radio_menu_item_group

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── GtkBin
                            ╰── GtkItem
                                ╰── GtkMenuItem
                                    ╰── GtkCheckMenuItem
                                        ╰── GtkRadioMenuItem

## Implemented Interfaces

GtkRadioMenuItem implements AtkImplementorIface, GtkBuildable and GtkActivatable.

## Includes

    #include <gtk/gtk.h>

## Description

A radio menu item is a check menu item that belongs to a group. At each instant exactly one of the radio menu items from a group is selected.

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

The correct way to create a group of radio menu items is approximatively this:

Example 34. How to create a group of radio menu items.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    GSList *group = NULL;
    GtkWidget *item;
    gint i;
    for (i = 0; i < 5; i++)
    {
      item = gtk_radio_menu_item_new_with_label (group, "This is an example");
      group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item));
      if (i == 1)
        gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), TRUE);
    }

## Functions

### gtk_radio_menu_item_new ()

    GtkWidget *
    gtk_radio_menu_item_new (GSList *group);

Creates a new GtkRadioMenuItem.

#### Parameters

group | the group to which the radio menu item is to be attached |

#### Returns

a new GtkRadioMenuItem

### gtk_radio_menu_item_new_with_label ()

    GtkWidget *
    gtk_radio_menu_item_new_with_label (GSList *group,
                                        const gchar *label);

Creates a new GtkRadioMenuItem whose child is a simple GtkLabel.

#### Parameters

group | . | [element-type GtkRadioMenuItem][transfer full]
label | the text for the label |

#### Returns

A new GtkRadioMenuItem.

[transfer none]

### gtk_radio_menu_item_new_with_mnemonic ()

    GtkWidget *
    gtk_radio_menu_item_new_with_mnemonic (GSList *group,
                                           const gchar *label);

Creates a new GtkRadioMenuItem containing a label. The label will be created using `gtk_label_new_with_mnemonic()`, so underscores in `label` indicate the mnemonic for the menu item.

#### Parameters

group | group the radio menu item is inside |
label | the text of the button, with an underscore in front of the mnemonic character |

#### Returns

a new GtkRadioMenuItem

### gtk_radio_menu_item_new_from_widget ()

    GtkWidget *
    gtk_radio_menu_item_new_from_widget (GtkRadioMenuItem *group);

Creates a new GtkRadioMenuItem adding it to the same group as `group` .

#### Parameters

group | An existing GtkRadioMenuItem |

#### Returns

The new GtkRadioMenuItem.

[transfer none]

Since 2.4

### gtk_radio_menu_item_new_with_label_from_widget ()

    GtkWidget *
    gtk_radio_menu_item_new_with_label_from_widget
                                   (GtkRadioMenuItem *group,
                                    const gchar *label);

Creates a new GtkRadioMenuItem whose child is a simple GtkLabel. The new GtkRadioMenuItem is added to the same group as `group` .

#### Parameters

group | an existing GtkRadioMenuItem |
label | the text for the label |

#### Returns

The new GtkRadioMenuItem.

[transfer none]

Since 2.4

### gtk_radio_menu_item_new_with_mnemonic_from_widget ()

    GtkWidget *
    gtk_radio_menu_item_new_with_mnemonic_from_widget
                                   (GtkRadioMenuItem *group,
                                    const gchar *label);

Creates a new GtkRadioMenuItem containing a label. The label will be created using `gtk_label_new_with_mnemonic()`, so underscores in label indicate the mnemonic for the menu item.

The new GtkRadioMenuItem is added to the same group as `group` .

#### Parameters

group | An existing GtkRadioMenuItem |
label | the text of the button, with an underscore in front of the mnemonic character |

#### Returns

The new GtkRadioMenuItem.

[transfer none]

Since 2.4

### gtk_radio_menu_item_set_group ()

    void
    gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item,
                                   GSList *group);

Sets the group of a radio menu item, or changes it.

#### Parameters

radio_menu_item | a GtkRadioMenuItem. |
group | the new group. |

### gtk_radio_menu_item_get_group ()

    GSList *
    gtk_radio_menu_item_get_group (GtkRadioMenuItem *radio_menu_item);

Returns the group to which the radio menu item belongs, as a GList of GtkRadioMenuItem. The list belongs to GTK+ and should not be freed.

Returns the group to which the radio menu item belongs, as a GList of GtkRadioMenuItem. The list belongs to GTK+ and should not be freed.

#### Parameters

radio_menu_item | a GtkRadioMenuItem |

#### Returns

the group of `radio_menu_item` .

[transfer none]

## Types and Values

### struct GtkRadioMenuItem

    struct GtkRadioMenuItem;

The structure contains only private data that must be accessed through the interface functions.

### gtk_radio_menu_item_group

    #define gtk_radio_menu_item_group gtk_radio_menu_item_get_group

`gtk_radio_menu_item_group` is deprecated and should not be used in newly-written code.

Deprecated compatibility macro. Use `gtk_radio_menu_item_get_group()` instead.

## Property Details

### The `“group”` property

      “group”                    GtkRadioMenuItem *

The radio menu item whose group this widget belongs to.

Flags: Write

Since 2.8

## Signal Details

### The `“group-changed”` signal

    void
    user_function (GtkRadioMenuItem *radiomenuitem,
                   gpointer          user_data)

#### Parameters

radiomenuitem | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

Flags: Run First

## See Also

GtkMenuItem | because a radio menu item is a menu item.
GtkCheckMenuItem | to know how to handle the check.