## GimpButton

GimpButton — A GtkButton with a little extra functionality.

## Synopsis

                        GimpButton;
    GtkWidget*          gimp_button_new                     (void);
    void                gimp_button_extended_clicked        (GimpButton *button,
                                                             GdkModifierType state);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBin
                                     +----GtkButton
                                           +----GimpButton
                                                 +----GimpColorButton

## Implemented Interfaces

GimpButton implements AtkImplementorIface and GtkBuildable.

## Signals

      "extended-clicked"                               : Run First

## Description

GimpButton adds an extra signal to the GtkButton widget that allows to distinguish a normal click from a click that was performed with modifier keys pressed.

## Details

### GimpButton

    typedef struct _GimpButton GimpButton;

### gimp_button_new ()

    GtkWidget*          gimp_button_new                     (void);

Creates a new GimpButton widget.

Returns : | A pointer to the new GimpButton widget.

### gimp_button_extended_clicked ()

    void                gimp_button_extended_clicked        (GimpButton *button,
                                                             GdkModifierType state);

Emits the button's "extended_clicked" signal.

`button` : | a GimpButton.
`state` : | a state as found in GdkEventButton->state, e.g. GDK_SHIFT_MASK.

## Signal Details

### The `"extended-clicked"` signal

    void                user_function                      (GimpButton     *gimpbutton,
                                                            GdkModifierType arg1,
                                                            gpointer        user_data)       : Run First

`gimpbutton` : | the object which received the signal.
`arg1` : | the state of modifier keys when the button was clicked
`user_data` : | user data set when the signal handler was connected.