## GdictSourceChooser GdictSourceChooser — Display the list of available sources |

## Functions

GtkWidget * | gdict_source_chooser_new ()
GtkWidget * | gdict_source_chooser_new_with_loader ()
void | gdict_source_chooser_set_loader ()
GdictSourceLoader * | gdict_source_chooser_get_loader ()
gboolean | gdict_source_chooser_select_source ()
gboolean | gdict_source_chooser_unselect_source ()
gboolean | gdict_source_chooser_set_current_source ()
gchar * | gdict_source_chooser_get_current_source ()
gchar ** | gdict_source_chooser_get_sources ()
gint | gdict_source_chooser_count_sources ()
gboolean | gdict_source_chooser_has_source ()
void | gdict_source_chooser_refresh ()
GtkWidget * | gdict_source_chooser_add_button ()

## Properties

int | count | Read
GdictSourceLoader * | loader | Read / Write / Construct

## Signals

void | selection-changed | Run Last
void | source-activated | Run Last

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBox
                        ╰── GdictSourceChooser

## Description

GdictSourceChooser is a widget that shows the list of available dictionary sources using a GdictSourceLoader instance as a model. It can be used to allow choosing the current dictionary source.

GdictSourceChooser is available since Gdict 0.12.

## Functions

### gdict_source_chooser_new ()

    GtkWidget *
    gdict_source_chooser_new (void);

Creates a new GdictSourceChooser widget. This widget can be used to display the list of available dictionary sources.

#### Returns

the newly created GdictSourceChooser widget.

Since: 0.12

### gdict_source_chooser_new_with_loader ()

    GtkWidget *
    gdict_source_chooser_new_with_loader (GdictSourceLoader *loader);

Creates a new GdictSourceChooser widget and sets `loader` as the GdictSourceLoader object to be used to retrieve the list of available dictionary sources.

#### Parameters

loader | a GdictSourceLoader |

#### Returns

the newly created GdictSourceChooser widget.

Since: 0.12

### gdict_source_chooser_set_loader ()

    void
    gdict_source_chooser_set_loader (GdictSourceChooser *chooser,
                                     GdictSourceLoader *loader);

Sets the GdictSourceLoader to be used by the source chooser widget.

#### Parameters

chooser | a GdictSourceChooser |
loader | a GdictSourceLoader or `NULL` to unset it |

Since: 0.12

### gdict_source_chooser_get_loader ()

    GdictSourceLoader *
    gdict_source_chooser_get_loader (GdictSourceChooser *chooser);

Retrieves the GdictSourceLoader used by `chooser` .

#### Parameters

chooser | a GdictSourceChooser |

#### Returns

a GdictSourceLoader or `NULL` is none is set

Since: 0.12

### gdict_source_chooser_select_source ()

    gboolean
    gdict_source_chooser_select_source (GdictSourceChooser *chooser,
                                        const gchar *source_name);

Selects the dictionary source named `source_name` inside `chooser` . The selection is moved but the row containing the dictionary source is not activated.

#### Parameters

chooser | a GdictSourceChooser |
source_name | the name of a dictionary source |

#### Returns

`TRUE` if the source was found and selected

Since: 0.12

### gdict_source_chooser_unselect_source ()

    gboolean
    gdict_source_chooser_unselect_source (GdictSourceChooser *chooser,
                                          const gchar *source_name);

Unselects `source_name` inside `chooser` .

#### Parameters

chooser | a GdictSourceChooser |
source_name | the name of a dictionary source |

#### Returns

`TRUE` if the source was found and unselected

Since: 0.12

### gdict_source_chooser_set_current_source ()

    gboolean
    gdict_source_chooser_set_current_source
                                   (GdictSourceChooser *chooser,
                                    const gchar *source_name);

Sets the current dictionary source named `source_name` . The row of the source, if found, will be selected and activated.

#### Parameters

chooser | a GdictSourceChooser |
source_name | the name of a dictionary source |

#### Returns

`TRUE` if the source was found

Since: 0.12

### gdict_source_chooser_get_current_source ()

    gchar *
    gdict_source_chooser_get_current_source
                                   (GdictSourceChooser *chooser);

Retrieves the currently selected source.

#### Parameters

chooser | a GdictSourceChooser |

#### Returns

a newly allocated string containing the name of the currently selected source. Use `g_free()` when done using it

Since: 0.12

### gdict_source_chooser_get_sources ()

    gchar **
    gdict_source_chooser_get_sources (GdictSourceChooser *chooser,
                                      gsize *length);

Retrieves the names of the available dictionary sources.

#### Parameters

chooser | a GdictSouceChooser |
length | return location for the length of the returned vector |

#### Returns

a newly allocated, `NULL` terminated string vector containing the names of the available sources. Use `g_strfreev()` when done using it.

Since: 0.12

### gdict_source_chooser_count_sources ()

    gint
    gdict_source_chooser_count_sources (GdictSourceChooser *chooser);

Retrieve the number of available dictionary sources.

#### Parameters

chooser | a GdictSourceChooser |

#### Returns

the number of available sources, or -1 if no GdictSourceLoader has been set

Since: 0.12

### gdict_source_chooser_has_source ()

    gboolean
    gdict_source_chooser_has_source (GdictSourceChooser *chooser,
                                     const gchar *source_name);

Checks whether `chooser` has a dictionary source named `source_name` .

#### Parameters

chooser | a GdictSourceChooser |
source_name | the name of a dictionary source |

#### Returns

`TRUE` if the dictionary source was found

Since: 0.12

### gdict_source_chooser_refresh ()

    void
    gdict_source_chooser_refresh (GdictSourceChooser *chooser);

Forces a refresh on the contents of the source chooser widget

#### Parameters

chooser | a GdictSourceChooser |

Since: 0.12

### gdict_source_chooser_add_button ()

    GtkWidget *
    gdict_source_chooser_add_button (GdictSourceChooser *chooser,
                                     const gchar *button_text);

Adds a GtkButton with `button_text` to the button area on the bottom of `chooser` . The `button_text` can also be a stock ID.

#### Parameters

chooser | a GdictSourceChooser |
button_text | text of the button |

#### Returns

the newly packed button.

Since: 0.12

## Property Details

### The `“count”` property

      “count”                    int

The number of available dictionary sources, or -1 if no GdictSourceLoader is set.

Owner: GdictSourceChooser

Flags: Read

Allowed values: >= -1

Default value: -1

Since: 0.12

### The `“loader”` property

      “loader”                   GdictSourceLoader *

The GdictSourceLoader used to retrieve the list of available dictionary sources.

Owner: GdictSourceChooser

Flags: Read / Write / Construct

Since: 0.12

## Signal Details

### The `“selection-changed”` signal

    void
    user_function (GdictSourceChooser *chooser,
                   gpointer            user_data)

The ::selection-changed signal is emitted each time the selection inside the source chooser widget has been changed.

#### Parameters

chooser | the GdictSourceChooser that received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 0.12

### The `“source-activated”` signal

    void
    user_function (GdictSourceChooser *chooser,
                   char               *source_name,
                   GdictSource        *source,
                   gpointer            user_data)

The ::source-activated signal is emitted each time the user activates a row in the source chooser widget, either by double clicking on it or by a keyboard event.

#### Parameters

chooser | the GdictSourceChooser that received the signal |
source_name | the name of the activated source |
source | the activated GdictSource |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 0.12