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

## Synopsis

    #include <gtk/gtk.h>

                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
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBin
                               +----GtkToolItem
                                     +----GtkToolButton
                                           +----GtkToggleToolButton
                                                 +----GtkRadioToolButton

## Implemented Interfaces

GtkToggleToolButton implements AtkImplementorIface.

## Properties

      "active"               gboolean              : Read / Write

## Signal Prototypes

    "toggled"   void        user_function      (GtkToggleToolButton *toggle_tool_button,
                                                gpointer user_data);

## 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

### GtkToggleToolButton

    typedef struct _GtkToggleToolButton GtkToggleToolButton;

The GtkToggleToolButton struct contains only private data and should only be accessed through the functions described below.

### 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

## Properties

### The "`active`" property

      "active"               gboolean              : Read / Write

If the toggle tool button should be pressed in or not.

Default value: FALSE

Since 2.8

## Signals

### The "toggled" signal

    void        user_function                  (GtkToggleToolButton *toggle_tool_button,
                                                gpointer user_data);

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

  The toolbar widget

  The parent class of GtkToggleToolButton. The properties "label_widget", "label", "icon_widget", and "stock_id" on GtkToolButton determine the label and icon used on GtkToggleToolButtons.

  A subclass of GtkToolItem that separates groups of items on a toolbar.