## GimpButton

GimpButton — A GtkButton with a little extra functionality.

## Functions

GtkWidget * | gimp_button_new ()
void | gimp_button_extended_clicked ()

## Signals

void | extended-clicked | Run First

## Types and Values

| GimpButton

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── GtkBin
                            ╰── GtkButton
                                ╰── GimpButton
                                    ╰── GimpColorButton

## Implemented Interfaces

GimpButton implements AtkImplementor, GtkBuildable and GtkActivatable.

## Description

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

## Functions

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

#### Parameters

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

## Types and Values

### GimpButton

    typedef struct _GimpButton GimpButton;

## Signal Details

### The `“extended-clicked”` signal

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

This signal is emitted when the button is clicked with a modifier key pressed.

#### Parameters

gimpbutton | the object that 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. |

Flags: Run First