## MxButtonGroup MxButtonGroup |

## Synopsis

    struct              MxButtonGroup;
    struct              MxButtonGroupClass;
    MxButtonGroup *     mx_button_group_new                 (void);
    void                mx_button_group_add                 (MxButtonGroup *group,
                                                             MxButton *button);
    void                mx_button_group_remove              (MxButtonGroup *group,
                                                             MxButton *button);
    void                mx_button_group_foreach             (MxButtonGroup *group,
                                                             ClutterCallback callback,
                                                             gpointer userdata);
    void                mx_button_group_set_active_button   (MxButtonGroup *group,
                                                             MxButton *button);
    MxButton *          mx_button_group_get_active_button   (MxButtonGroup *group);
    void                mx_button_group_set_allow_no_active (MxButtonGroup *group,
                                                             gboolean allow_no_active);
    gboolean            mx_button_group_get_allow_no_active (MxButtonGroup *group);
    const GSList *      mx_button_group_get_buttons         (MxButtonGroup *group);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----MxButtonGroup

## Properties

      "active-button"            MxButton*             : Read / Write
      "allow-no-active"          gboolean              : Read / Write

## Description

## Details

### struct MxButtonGroup

    struct MxButtonGroup;

The contents of this structure are private and should only be accessed through the public API.

### struct MxButtonGroupClass

    struct MxButtonGroupClass {
      GInitiallyUnownedClass parent_class;
    };

### mx_button_group_new ()

    MxButtonGroup *     mx_button_group_new                 (void);

Create a new MxButtonGroup.

Returns : | a newly allocated MxButtonGroup.

### mx_button_group_add ()

    void                mx_button_group_add                 (MxButtonGroup *group,
                                                             MxButton *button);

Add `button` to the MxButtonGroup.

`group` : | A MxButtonGroup
`button` : | A MxButton

### mx_button_group_remove ()

    void                mx_button_group_remove              (MxButtonGroup *group,
                                                             MxButton *button);

Remove `button` from the MxButtonGroup

`group` : | A MxButtonGroup
`button` : | A MxButton

### mx_button_group_foreach ()

    void                mx_button_group_foreach             (MxButtonGroup *group,
                                                             ClutterCallback callback,
                                                             gpointer userdata);

Calls `callback` for each button in the group.

`group` : | A MxButtonGroup
`callback` : | A ClutterCallback. [scope call]
`userdata` : | A gpointer. [closure]

### mx_button_group_set_active_button ()

    void                mx_button_group_set_active_button   (MxButtonGroup *group,
                                                             MxButton *button);

Set the current active button in the group. The previous active button will have "toggled" set to FALSE.

`group` : | A MxButtonGroup
`button` : | A MxButton. [allow-none]

### mx_button_group_get_active_button ()

    MxButton *          mx_button_group_get_active_button   (MxButtonGroup *group);

Get the current active button

`group` : | A MxButtonGroup
Returns : | the currently active button. [transfer none]

### mx_button_group_set_allow_no_active ()

    void                mx_button_group_set_allow_no_active (MxButtonGroup *group,
                                                             gboolean allow_no_active);

Set the value of the "allow-no-active" property.

`group` : | A MxButtonGroup
`allow_no_active` : | A gboolean

### mx_button_group_get_allow_no_active ()

    gboolean            mx_button_group_get_allow_no_active (MxButtonGroup *group);

Get the value of the "allow-no-active" property.

`group` : | A MxButtonGroup
Returns : | the value of the "allow-no-active" property.

### mx_button_group_get_buttons ()

    const GSList *      mx_button_group_get_buttons         (MxButtonGroup *group);

Get a list of the buttons in the button group.

`group` : | A MxButtonGroup
Returns : | a list of buttons. The list is owned by the MxButtonGroup and should not be modified by the application. [element-type Mx.Button]

## Property Details

### The `"active-button"` property

      "active-button"            MxButton*             : Read / Write

The currently active (toggled) button.

### The `"allow-no-active"` property

      "allow-no-active"          gboolean              : Read / Write

Allow no buttons to be active (toggled).

Default value: FALSE