## GtkToggleButton GtkToggleButton |

## Functions

GtkWidget * | gtk_toggle_button_new ()
GtkWidget * | gtk_toggle_button_new_with_label ()
GtkWidget * | gtk_toggle_button_new_with_mnemonic ()
void | gtk_toggle_button_set_mode ()
gboolean | gtk_toggle_button_get_mode ()
void | gtk_toggle_button_toggled ()
gboolean | gtk_toggle_button_get_active ()
void | gtk_toggle_button_set_active ()
gboolean | gtk_toggle_button_get_inconsistent ()
void | gtk_toggle_button_set_inconsistent ()

## Properties

gboolean | active | Read / Write
gboolean | draw-indicator | Read / Write
gboolean | inconsistent | Read / Write

## Signals

void | toggled | Run First

## Types and Values

struct | GtkToggleButton
#define | gtk_toggle_button_set_state

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── GtkBin
                            ╰── GtkButton
                                ╰── GtkToggleButton
                                    ╰── GtkCheckButton

## Implemented Interfaces

GtkToggleButton implements AtkImplementorIface, GtkBuildable and GtkActivatable.

## Includes

    #include <gtk/gtk.h>

## Description

## Functions

### gtk_toggle_button_new ()

    GtkWidget *
    gtk_toggle_button_new (void);

### gtk_toggle_button_new_with_label ()

    GtkWidget *
    gtk_toggle_button_new_with_label (const gchar *label);

### gtk_toggle_button_new_with_mnemonic ()

    GtkWidget *
    gtk_toggle_button_new_with_mnemonic (const gchar *label);

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

#### Parameters

label | the text of the button, with an underscore in front of the mnemonic character |
returns | a new GtkToggleButton |

### gtk_toggle_button_set_mode ()

    void
    gtk_toggle_button_set_mode (GtkToggleButton *toggle_button,
                                gboolean draw_indicator);

Sets whether the button is displayed as a separate indicator and label. You can call this function on a checkbutton or a radiobutton with `draw_indicator` = `FALSE` to make the button look like a normal button

This function only affects instances of classes like GtkCheckButton and GtkRadioButton that derive from GtkToggleButton, not instances of GtkToggleButton itself.

#### Parameters

toggle_button | a GtkToggleButton |
draw_indicator | if `TRUE`, draw the button as a separate indicator and label; if `FALSE`, draw the button like a normal button |

### gtk_toggle_button_get_mode ()

    gboolean
    gtk_toggle_button_get_mode (GtkToggleButton *toggle_button);

Retrieves whether the button is displayed as a separate indicator and label. See `gtk_toggle_button_set_mode()`.

#### Parameters

toggle_button | a GtkToggleButton |

#### Returns

`TRUE` if the togglebutton is drawn as a separate indicator and label.

### gtk_toggle_button_toggled ()

    void
    gtk_toggle_button_toggled (GtkToggleButton *toggle_button);

### gtk_toggle_button_get_active ()

    gboolean
    gtk_toggle_button_get_active (GtkToggleButton *toggle_button);

### gtk_toggle_button_set_active ()

    void
    gtk_toggle_button_set_active (GtkToggleButton *toggle_button,
                                  gboolean is_active);

### gtk_toggle_button_get_inconsistent ()

    gboolean
    gtk_toggle_button_get_inconsistent (GtkToggleButton *toggle_button);

Gets the value set by `gtk_toggle_button_set_inconsistent()`.

#### Parameters

toggle_button | a GtkToggleButton |

#### Returns

`TRUE` if the button is displayed as inconsistent, `FALSE` otherwise

### gtk_toggle_button_set_inconsistent ()

    void
    gtk_toggle_button_set_inconsistent (GtkToggleButton *toggle_button,
                                        gboolean setting);

If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a toggle button, and the current values in that range are inconsistent, you may want to display the toggle in an "in between" state. This function turns on "in between" display. Normally you would turn off the inconsistent state again if the user toggles the toggle button. This has to be done manually, `gtk_toggle_button_set_inconsistent()` only affects visual appearance, it doesn't affect the semantics of the button.

#### Parameters

toggle_button | a GtkToggleButton |
setting | `TRUE` if state is inconsistent |

## Types and Values

### struct GtkToggleButton

    struct GtkToggleButton;

### gtk_toggle_button_set_state

    #define gtk_toggle_button_set_state		gtk_toggle_button_set_active

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

## Property Details

### The `“active”` property

      “active”                   gboolean

If the toggle button should be pressed in or not.

Flags: Read / Write

Default value: FALSE

### The `“draw-indicator”` property

      “draw-indicator”           gboolean

If the toggle part of the button is displayed.

Flags: Read / Write

Default value: FALSE

### The `“inconsistent”` property

      “inconsistent”             gboolean

If the toggle button is in an "in between" state.

Flags: Read / Write

Default value: FALSE

## Signal Details

### The `“toggled”` signal

    void
    user_function (GtkToggleButton *togglebutton,
                   gpointer         user_data)

Flags: Run First