## GdictStrategyChooser GdictStrategyChooser — Display a list of matching strategies |

## Functions

GtkWidget * | gdict_strategy_chooser_new ()
GtkWidget * | gdict_strategy_chooser_new_with_context ()
GdictContext * | gdict_strategy_chooser_get_context ()
void | gdict_strategy_chooser_set_context ()
gboolean | gdict_strategy_chooser_select_strategy ()
gboolean | gdict_strategy_chooser_unselect_strategy ()
gboolean | gdict_strategy_chooser_set_current_strategy ()
gchar * | gdict_strategy_chooser_get_current_strategy ()
gchar ** | gdict_strategy_chooser_get_strategies ()
gint | gdict_strategy_chooser_count_strategies ()
gboolean | gdict_strategy_chooser_has_strategy ()
void | gdict_strategy_chooser_refresh ()
void | gdict_strategy_chooser_clear ()
GtkWidget * | gdict_strategy_chooser_add_button ()

## Properties

GdictContext * | context | Read / Write / Construct

## Signals

void | strategy-activated | Run Last

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBox
                        ╰── GdictStrategyChooser

## Description

Each GdictContext allows matching a word using a specific "matching strategy". The GdictStrategyChooser widget queries a GdictContext and displays the list of available matching strategies.

## Functions

### gdict_strategy_chooser_new ()

    GtkWidget *
    gdict_strategy_chooser_new (void);

Creates a new GdictStrategyChooser. Use this widget to show a list of matching strategies available on a dictionary source represented by a GdictContext, set with `gdict_strategy_chooser_set_context()`.

#### Returns

the newly created GdictStrategyChooser widget

Since: 0.9

### gdict_strategy_chooser_new_with_context ()

    GtkWidget *
    gdict_strategy_chooser_new_with_context
                                   (GdictContext *context);

Creates a new GdictStrategyChooser widget, using `context` as the representation of a dictionary source.

#### Parameters

context | a GdictContext |

#### Returns

the newly created GdictStrategyChooser widget

Since: 0.9

### gdict_strategy_chooser_get_context ()

    GdictContext *
    gdict_strategy_chooser_get_context (GdictStrategyChooser *chooser);

Retrieves the GdictContext used by `chooser` .

#### Parameters

chooser | a GdictStrategyChooser |

#### Returns

a GdictContext

Since:

### gdict_strategy_chooser_set_context ()

    void
    gdict_strategy_chooser_set_context (GdictStrategyChooser *chooser,
                                        GdictContext *context);

Sets the GdictContext to be used by `chooser` to retrieve the list of matching strategies.

#### Parameters

chooser | a GdictStrategyChooser |
context | a GdictContext, or `NULL` to unset the context |

Since: 0.9

### gdict_strategy_chooser_select_strategy ()

    gboolean
    gdict_strategy_chooser_select_strategy
                                   (GdictStrategyChooser *chooser,
                                    const gchar *strat_name);

Selects `strat_name` , if available.

#### Parameters

chooser | a GdictStrategyChooser |
strat_name | the name of the strategy to select |

#### Returns

`TRUE` if the matching strategy was found and selected

Since: 0.10

### gdict_strategy_chooser_unselect_strategy ()

    gboolean
    gdict_strategy_chooser_unselect_strategy
                                   (GdictStrategyChooser *chooser,
                                    const gchar *strat_name);

Unselects `strat_name` from the list.

#### Parameters

chooser | a GdictStrategyChooser |
strat_name | the name of the strategy to unselect |

#### Returns

`TRUE` if the matching strategy was found and successfully unselected

Since: 0.10

### gdict_strategy_chooser_set_current_strategy ()

    gboolean
    gdict_strategy_chooser_set_current_strategy
                                   (GdictStrategyChooser *chooser,
                                    const gchar *strat_name);

Sets `strat_name` as the current matching strategy.

#### Parameters

chooser | a GdictStrategyChooser |
strat_name | the name of the matching strategy |

#### Returns

`TRUE` if the matching strategy was found

Since: 0.10

### gdict_strategy_chooser_get_current_strategy ()

    gchar *
    gdict_strategy_chooser_get_current_strategy
                                   (GdictStrategyChooser *chooser);

Retrieves the current matching strategy.

#### Parameters

chooser | a GdictStrategyChooser |

#### Returns

a newly allocated string containing the name of the current matching strategy

Since: 0.10

### gdict_strategy_chooser_get_strategies ()

    gchar **
    gdict_strategy_chooser_get_strategies (GdictStrategyChooser *chooser,
                                           gsize *length);

Retrieves the list of matching strategies available.

#### Parameters

chooser | a GdictStrategyChooser |
length | return location for the length of the returned string list |

#### Returns

a string vector containing the names of the matching strategies. Use `g_strfreev()` to deallocate the memory when done

Since: 0.9

### gdict_strategy_chooser_count_strategies ()

    gint
    gdict_strategy_chooser_count_strategies
                                   (GdictStrategyChooser *chooser);

Returns the number of strategies found.

#### Parameters

chooser | a GdictStrategyChooser |

#### Returns

the number of strategies or -1 if case of error

Since:

### gdict_strategy_chooser_has_strategy ()

    gboolean
    gdict_strategy_chooser_has_strategy (GdictStrategyChooser *chooser,
                                         const gchar *strategy);

Checks whether `strategy` is available in the list of matching strategies displayed by `chooser` .

#### Parameters

chooser | a GdictStrategyChooser |
strategy | a strategy name |

#### Returns

`TRUE` if the strategy was found, `FALSE` otherwise

Since: 0.9

### gdict_strategy_chooser_refresh ()

    void
    gdict_strategy_chooser_refresh (GdictStrategyChooser *chooser);

Reloads the list of available strategies.

#### Parameters

chooser | a GdictStrategyChooser |

Since: 0.10

### gdict_strategy_chooser_clear ()

    void
    gdict_strategy_chooser_clear (GdictStrategyChooser *chooser);

Clears `chooser` .

#### Parameters

chooser | a GdictStrategyChooser |

Since: 0.10

### gdict_strategy_chooser_add_button ()

    GtkWidget *
    gdict_strategy_chooser_add_button (GdictStrategyChooser *chooser,
                                       const gchar *button_text);

Creates a new button and packs it into the GdictStrategyChooser "action area".

#### Parameters

chooser | a GdictStrategyChooser |
button_text | text of the button (can be a stock id) |

#### Returns

the packed GtkButton

Since: 0.10

## Property Details

### The `“context”` property

      “context”                  GdictContext *

The GdictContext object used to retrieve the list of strategies.

Owner: GdictStrategyChooser

Flags: Read / Write / Construct

## Signal Details

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

    void
    user_function (GdictStrategyChooser *chooser,
                   char                 *name,
                   char                 *description,
                   gpointer              user_data)

The ::strategy-activated signal is emitted each time the user activates a strategy in the `chooser` , either by double click or using the keyboard.

#### Parameters

chooser | the widget that received the signal |
name | the name of the activated strategy |
description | the description of the activate strategy |
user_data | user data set when the signal handler was connected. |

Flags: Run Last