## GtkToggleToolButton GtkToggleToolButton — A GtkToolItem containing a toggle button |

## Synopsis

    #include <gtk/gtk.h>

    struct              GtkToggleToolButton;
    GtkToolItem *       gtk_toggle_tool_button_new          (void);
    GtkToolItem *       gtk_toggle_tool_button_new_from_stock
                                                            (const gchar *stock_id);
    void                gtk_toggle_tool_button_set_active   (GtkToggleToolButton *button,
                                                             gboolean is_active);
    gboolean            gtk_toggle_tool_button_get_active   (GtkToggleToolButton *button);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBin
                               +----GtkToolItem
                                     +----GtkToolButton
                                           +----GtkToggleToolButton
                                                 +----GtkRadioToolButton

## Implemented Interfaces

GtkToggleToolButton implements AtkImplementorIface, GtkBuildable and GtkActivatable.

## Properties

      "active"                   gboolean              : Read / Write

## Signals

      "toggled"                                        : Run First

## Description

A GtkToggleToolButton is a GtkToolItem that contains a toggle button.

Use `gtk_toggle_tool_button_new()` to create a new GtkToggleToolButton. Use `gtk_toggle_tool_button_new_from_stock()` to create a new GtkToggleToolButton containing a stock item.

## Details

### struct GtkToggleToolButton

    struct GtkToggleToolButton;

### gtk_toggle_tool_button_new ()

    GtkToolItem *       gtk_toggle_tool_button_new          (void);

Returns a new GtkToggleToolButton

Returns : | a newly created GtkToggleToolButton

Since 2.4

### gtk_toggle_tool_button_new_from_stock ()

    GtkToolItem *       gtk_toggle_tool_button_new_from_stock
                                                            (const gchar *stock_id);

Creates a new GtkToggleToolButton containing the image and text from a stock item. Some stock ids have preprocessor macros like GTK_STOCK_OK and GTK_STOCK_APPLY.

It is an error if `stock_id` is not a name of a stock item.

`stock_id` : | the name of the stock item
Returns : | A new GtkToggleToolButton

Since 2.4

### gtk_toggle_tool_button_set_active ()

    void                gtk_toggle_tool_button_set_active   (GtkToggleToolButton *button,
                                                             gboolean is_active);

Sets the status of the toggle tool button. Set to `TRUE` if you want the GtkToggleButton to be 'pressed in', and `FALSE` to raise it. This action causes the toggled signal to be emitted.

`button` : | a GtkToggleToolButton
`is_active` : | whether `button` should be active

Since 2.4

### gtk_toggle_tool_button_get_active ()

    gboolean            gtk_toggle_tool_button_get_active   (GtkToggleToolButton *button);

Queries a GtkToggleToolButton and returns its current state. Returns `TRUE` if the toggle button is pressed in and `FALSE` if it is raised.

`button` : | a GtkToggleToolButton
Returns : | `TRUE` if the toggle tool button is pressed in, `FALSE` if not

Since 2.4

## Property Details

### The `"active"` property

      "active"                   gboolean              : Read / Write

If the toggle tool button should be pressed in.

Default value: FALSE

Since 2.8

## Signal Details

### The `"toggled"` signal

    void                user_function                      (GtkToggleToolButton *toggle_tool_button,
                                                            gpointer             user_data)               : Run First

Emitted whenever the toggle tool button changes state.

`toggle_tool_button` : | the object that emitted the signal
`user_data` : | user data set when the signal handler was connected.

## See Also

GtkToolbar, GtkToolButton, GtkSeparatorToolItem