## GdictStrategyChooser

GdictStrategyChooser — Display a list of matching strategies

## Synopsis

                        GdictStrategyChooser;
                        GdictStrategyChooserClass;
    GtkWidget *         gdict_strategy_chooser_new          (void);
    GtkWidget *         gdict_strategy_chooser_new_with_context
                                                            (GdictContext *context);
    GdictContext *      gdict_strategy_chooser_get_context  (GdictStrategyChooser *chooser);
    void                gdict_strategy_chooser_set_context  (GdictStrategyChooser *chooser,
                                                             GdictContext *context);
    gchar **            gdict_strategy_chooser_get_strategies
                                                            (GdictStrategyChooser *chooser,
                                                             gsize *length);
    gboolean            gdict_strategy_chooser_has_strategy (GdictStrategyChooser *chooser,
                                                             const gchar *strategy);
    GtkWidget *         gdict_strategy_chooser_add_button   (GdictStrategyChooser *chooser,
                                                             const gchar *button_text);
    void                gdict_strategy_chooser_clear        (GdictStrategyChooser *chooser);
    gint                gdict_strategy_chooser_count_strategies
                                                            (GdictStrategyChooser *chooser);
    gchar *             gdict_strategy_chooser_get_current_strategy
                                                            (GdictStrategyChooser *chooser);
    void                gdict_strategy_chooser_refresh      (GdictStrategyChooser *chooser);
    gboolean            gdict_strategy_chooser_select_strategy
                                                            (GdictStrategyChooser *chooser,
                                                             const gchar *strat_name);
    gboolean            gdict_strategy_chooser_set_current_strategy
                                                            (GdictStrategyChooser *chooser,
                                                             const gchar *strat_name);
    gboolean            gdict_strategy_chooser_unselect_strategy
                                                            (GdictStrategyChooser *chooser,
                                                             const gchar *strat_name);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBox
                                     +----GtkVBox
                                           +----GdictStrategyChooser

## Implemented Interfaces

GdictStrategyChooser implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Properties

      "context"                  GdictContext*         : Read / Write / Construct

## Signals

      "strategy-activated"                             : Run Last

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

## Details

### GdictStrategyChooser

    typedef struct _GdictStrategyChooser GdictStrategyChooser;

### GdictStrategyChooserClass

    typedef struct {
      GtkVBoxClass parent_class;

      void (*strategy_activated) (GdictStrategyChooser *chooser,
    		  	      const gchar          *name,
    			      const gchar          *description);

      void (*_gdict_padding1) (void);
      void (*_gdict_padding2) (void);
      void (*_gdict_padding3) (void);
      void (*_gdict_padding4) (void);
      void (*_gdict_padding5) (void);
      void (*_gdict_padding6) (void);
    } GdictStrategyChooserClass;

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

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

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

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

Since 0.9

### gdict_strategy_chooser_get_strategies ()

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

Retrieves the list of matching strategies available.

`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_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`.

`chooser` : | a GdictStrategyChooser
`strategy` : | a strategy name
Returns : | `TRUE` if the strategy was found, `FALSE` otherwise

Since 0.9

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

`chooser` : | a GdictStrategyChooser
`button_text` : | text of the button (can be a stock id)
Returns : | the packed GtkButton

Since 0.10

### gdict_strategy_chooser_clear ()

    void                gdict_strategy_chooser_clear        (GdictStrategyChooser *chooser);

Clears `chooser`.

`chooser` : | a GdictStrategyChooser

Since 0.10

### gdict_strategy_chooser_count_strategies ()

    gint                gdict_strategy_chooser_count_strategies
                                                            (GdictStrategyChooser *chooser);

Returns the number of strategies found.

`chooser` : | a GdictStrategyChooser
Returns : | the number of strategies or -1 if case of error

Since

### gdict_strategy_chooser_get_current_strategy ()

    gchar *             gdict_strategy_chooser_get_current_strategy
                                                            (GdictStrategyChooser *chooser);

Retrieves the current matching strategy.

`chooser` : | a GdictStrategyChooser
Returns : | a newly allocated string containing the name of the current matching strategy

Since 0.10

### gdict_strategy_chooser_refresh ()

    void                gdict_strategy_chooser_refresh      (GdictStrategyChooser *chooser);

Reloads the list of available strategies.

`chooser` : | a GdictStrategyChooser

Since 0.10

### gdict_strategy_chooser_select_strategy ()

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

Selects `strat_name`, if available.

`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_set_current_strategy ()

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

Sets `strat_name` as the current matching strategy.

`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_unselect_strategy ()

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

Unselects `strat_name` from the list.

`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

## Property Details

### The `"context"` property

      "context"                  GdictContext*         : Read / Write / Construct

The GdictContext object used to retrieve the list of strategies.

## Signal Details

### The `"strategy-activated"` signal

    void                user_function                      (GdictStrategyChooser *chooser,
                                                            gchar                *name,
                                                            gchar                *description,
                                                            gpointer              user_data)        : Run Last

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

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