## GtkColorButton

GtkColorButton — A button to launch a color selection dialog

## Functions

GtkWidget * | gtk_color_button_new ()
GtkWidget * | gtk_color_button_new_with_color ()
void | gtk_color_button_set_color ()
void | gtk_color_button_get_color ()
void | gtk_color_button_set_alpha ()
guint16 | gtk_color_button_get_alpha ()
void | gtk_color_button_set_use_alpha ()
gboolean | gtk_color_button_get_use_alpha ()
void | gtk_color_button_set_title ()
const gchar * | gtk_color_button_get_title ()

## Properties

guint | alpha | Read / Write
GdkColor * | color | Read / Write
gchar * | title | Read / Write
gboolean | use-alpha | Read / Write

## Signals

void | color-set | Run First

## Types and Values

struct | GtkColorButton

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── GtkBin
                            ╰── GtkButton
                                ╰── GtkColorButton

## Implemented Interfaces

GtkColorButton implements AtkImplementorIface, GtkBuildable and GtkActivatable.

## Includes

    #include <gtk/gtk.h>

## Description

The GtkColorButton is a button which displays the currently selected color an allows to open a color selection dialog to change the color. It is suitable widget for selecting a color in a preference dialog.

## Functions

### gtk_color_button_new ()

    GtkWidget *
    gtk_color_button_new (void);

Creates a new color button. This returns a widget in the form of a small button containing a swatch representing the current selected color. When the button is clicked, a color-selection dialog will open, allowing the user to select a color. The swatch will be updated to reflect the new color when the user finishes.

#### Returns

a new color button.

Since: 2.4

### gtk_color_button_new_with_color ()

    GtkWidget *
    gtk_color_button_new_with_color (const GdkColor *color);

Creates a new color button.

#### Parameters

color | A GdkColor to set the current color with. |

#### Returns

a new color button.

Since: 2.4

### gtk_color_button_set_color ()

    void
    gtk_color_button_set_color (GtkColorButton *color_button,
                                const GdkColor *color);

Sets the current color to be `color` .

#### Parameters

color_button | a GtkColorButton. |
color | A GdkColor to set the current color with. |

Since: 2.4

### gtk_color_button_get_color ()

    void
    gtk_color_button_get_color (GtkColorButton *color_button,
                                GdkColor *color);

Sets `color` to be the current color in the GtkColorButton widget.

#### Parameters

color_button | a GtkColorButton. |
color | a GdkColor to fill in with the current color. | [out]

Since: 2.4

### gtk_color_button_set_alpha ()

    void
    gtk_color_button_set_alpha (GtkColorButton *color_button,
                                guint16 alpha);

Sets the current opacity to be `alpha` .

#### Parameters

color_button | a GtkColorButton. |
alpha | an integer between 0 and 65535. |

Since: 2.4

### gtk_color_button_get_alpha ()

    guint16
    gtk_color_button_get_alpha (GtkColorButton *color_button);

Returns the current alpha value.

#### Parameters

color_button | a GtkColorButton. |

#### Returns

an integer between 0 and 65535.

Since: 2.4

### gtk_color_button_set_use_alpha ()

    void
    gtk_color_button_set_use_alpha (GtkColorButton *color_button,
                                    gboolean use_alpha);

Sets whether or not the color button should use the alpha channel.

#### Parameters

color_button | a GtkColorButton. |
use_alpha | `TRUE` if color button should use alpha channel, `FALSE` if not. |

Since: 2.4

### gtk_color_button_get_use_alpha ()

    gboolean
    gtk_color_button_get_use_alpha (GtkColorButton *color_button);

Does the color selection dialog use the alpha channel?

#### Parameters

color_button | a GtkColorButton. |

#### Returns

`TRUE` if the color sample uses alpha channel, `FALSE` if not.

Since: 2.4

### gtk_color_button_set_title ()

    void
    gtk_color_button_set_title (GtkColorButton *color_button,
                                const gchar *title);

Sets the title for the color selection dialog.

#### Parameters

color_button | a GtkColorButton |
title | String containing new window title. |

Since: 2.4

### gtk_color_button_get_title ()

    const gchar *
    gtk_color_button_get_title (GtkColorButton *color_button);

Gets the title of the color selection dialog.

#### Parameters

color_button | a GtkColorButton |

#### Returns

An internal string, do not free the return value

Since: 2.4

## Types and Values

### struct GtkColorButton

    struct GtkColorButton;

The GtkColorButton struct has only private fields and should not be used directly.

## Property Details

### The `“alpha”` property

      “alpha”                    guint

The selected opacity value (0 fully transparent, 65535 fully opaque).

Flags: Read / Write

Allowed values: <= 65535

Default value: 65535

Since: 2.4

### The `“color”` property

      “color”                    GdkColor *

The selected color.

Flags: Read / Write

Since: 2.4

### The `“title”` property

      “title”                    gchar *

The title of the color selection dialog

Flags: Read / Write

Default value: "Pick a Color"

Since: 2.4

### The `“use-alpha”` property

      “use-alpha”                gboolean

If this property is set to `TRUE`, the color swatch on the button is rendered against a checkerboard background to show its opacity and the opacity slider is displayed in the color selection dialog.

Flags: Read / Write

Default value: FALSE

Since: 2.4

## Signal Details

### The `“color-set”` signal

    void
    user_function (GtkColorButton *widget,
                   gpointer        user_data)

The ::color-set signal is emitted when the user selects a color. When handling this signal, use `gtk_color_button_get_color()` and `gtk_color_button_get_alpha()` to find out which color was just selected.

Note that this signal is only emitted when the user changes the color. If you need to react to programmatic color changes as well, use the notify::color signal.

#### Parameters

widget | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

Flags: Run First

Since: 2.4

## See Also

GtkColorSelectionDialog, GtkFontButton