## GOSelector

GOSelector

## Functions

gpointer | (*GOSelectorDndDataGet) ()
void | (*GOSelectorDndDataReceived) ()
void | (*GOSelectorDndFillIcon) ()
void | go_selector_activate ()
int | go_selector_get_active ()
gpointer | go_selector_get_user_data ()
GtkWidget * | go_selector_new ()
gboolean | go_selector_set_active ()
void | go_selector_setup_dnd ()
void | go_selector_update_swatch ()

## Types and Values

struct | GOSelector

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBox
                        ╰── GOSelector

## Implemented Interfaces

GOSelector implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Description

## Functions

### GOSelectorDndDataGet ()

    gpointer
    (*GOSelectorDndDataGet) (GOSelector *selector);

### GOSelectorDndDataReceived ()

    void
    (*GOSelectorDndDataReceived) (GOSelector *selector,
                                  guchar const *data);

### GOSelectorDndFillIcon ()

    void
    (*GOSelectorDndFillIcon) (GOSelector *selector,
                              GdkPixbuf *pixbuf);

### go_selector_activate ()

    void
    go_selector_activate (GOSelector *selector);

Updates selector swatch and emits an "activate" signal.

#### Parameters

selector | a GOSelector |

### go_selector_get_active ()

    int
    go_selector_get_active (GOSelector *selector,
                            gboolean *is_auto);

Retrieves current selection index, and set `is_auto` to `TRUE` if current selection was set by clicking on automatic palette item.

#### Parameters

selector | a GOSelector |
is_auto | boolean |

#### Returns

current index.

### go_selector_get_user_data ()

    gpointer
    go_selector_get_user_data (GOSelector *selector);

A convenience function to access user_data of selector palette. (See `go_palette_get_user_data` ).

#### Parameters

selector | a GOSelector |

#### Returns

a pointer to palette user_data.

[transfer none]

### go_selector_new ()

    GtkWidget *
    go_selector_new (GOPalette *palette);

Creates a new selector, using `palette` . Selector button swatch will use swatch render function of `palette` .

#### Parameters

palette | a GOPalette |

#### Returns

a new GtkWidget.

### go_selector_set_active ()

    gboolean
    go_selector_set_active (GOSelector *selector,
                            int index);

Sets current selection index, and emits "activate" signal if selection is actually changed.

#### Parameters

selector | a GOSelector |
index | new index |

#### Returns

`TRUE` if selection is actually changed.

### go_selector_setup_dnd ()

    void
    go_selector_setup_dnd (GOSelector *selector,
                           char const *dnd_target,
                           int dnd_length,
                           GOSelectorDndDataGet data_get,
                           GOSelectorDndDataReceived data_received,
                           GOSelectorDndFillIcon fill_icon);

Setups drag and drop for `selector` .

#### Parameters

selector | a GOSelector |
dnd_target | drag and drop target type |
dnd_length | length of data transferred on drop |
data_get | a user provided data_get method. | [scope notified]
data_received | a user provided data_received method. | [scope notified]
fill_icon | a user function for dnd icon creation. | [scope notified]

### go_selector_update_swatch ()

    void
    go_selector_update_swatch (GOSelector *selector);

Requests a swatch update.

#### Parameters

selector | a GOSelector |

## Types and Values

### struct GOSelector

    struct GOSelector;