## ESourceSelector ESourceSelector — |

## Synopsis

                ESourceSelector;
    GtkWidget*  e_source_selector_new           (ESourceList *list);
    void        e_source_selector_select_source (ESourceSelector *selector,
                                                 ESource *source);
    void        e_source_selector_unselect_source
                                                (ESourceSelector *selector,
                                                 ESource *source);
    gboolean    e_source_selector_source_is_selected
                                                (ESourceSelector *selector,
                                                 ESource *source);
    GSList*     e_source_selector_get_selection (ESourceSelector *selector);
    void        e_source_selector_free_selection
                                                (GSList *list);
    void        e_source_selector_show_selection
                                                (ESourceSelector *selector,
                                                 gboolean show);
    gboolean    e_source_selector_selection_shown
                                                (ESourceSelector *selector);
    void        e_source_selector_set_select_new
                                                (ESourceSelector *selector,
                                                 gboolean state);
    ESource*    e_source_selector_peek_primary_selection
                                                (ESourceSelector *selector);
    void        e_source_selector_set_primary_selection
                                                (ESourceSelector *selector,
                                                 ESource *source);
    ESourceGroup* e_source_selector_get_primary_source_group
                                                (ESourceSelector *selector);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkTreeView
                                     +----ESourceSelector

## Implemented Interfaces

ESourceSelector implements AtkImplementorIface.

## Signals

    "popup-event"
                gboolean    user_function      (ESourceSelector *esourceselector,
                                                GObject         *arg1,
                                                GdkEvent        *event,
                                                gpointer         user_data)            : Run last
    "primary-selection-changed"
                void        user_function      (ESourceSelector *esourceselector,
                                                gpointer         user_data)            : Run last
    "selection-changed"
                void        user_function      (ESourceSelector *esourceselector,
                                                gpointer         user_data)            : Run last

## Description

## Details

### ESourceSelector

    typedef struct _ESourceSelector ESourceSelector;

### e_source_selector_new ()

    GtkWidget*  e_source_selector_new           (ESourceList *list);

Create a new view for `list`. The view will update automatically when `list` changes.

`list` : | A source list.
Returns : | The newly created widget.

### e_source_selector_select_source ()

    void        e_source_selector_select_source (ESourceSelector *selector,
                                                 ESource *source);

Select `source` in `selector`.

`selector` : | An ESourceSelector widget
`source` : | An ESource.

### e_source_selector_unselect_source ()

    void        e_source_selector_unselect_source
                                                (ESourceSelector *selector,
                                                 ESource *source);

Unselect `source` in `selector`.

`selector` : | An ESourceSelector widget
`source` : | An ESource.

### e_source_selector_source_is_selected ()

    gboolean    e_source_selector_source_is_selected
                                                (ESourceSelector *selector,
                                                 ESource *source);

Check whether `source` is selected in `selector`.

`selector` : | An ESourceSelector widget
`source` : | An ESource.
Returns : | `TRUE` if `source` is currently selected, `FALSE` otherwise.

### e_source_selector_get_selection ()

    GSList*     e_source_selector_get_selection (ESourceSelector *selector);

Get the list of selected sources, i.e. those that were enabled through the corresponding checkboxes in the tree.

`selector` : | an ESourceSelector
Returns : | A list of the ESources currently selected. The sources will be in the same order as they appear on the screen, and the list should be freed using `e_source_selector_free_selection()`.

### e_source_selector_free_selection ()

    void        e_source_selector_free_selection
                                                (GSList *list);

`list` : |

### e_source_selector_show_selection ()

    void        e_source_selector_show_selection
                                                (ESourceSelector *selector,
                                                 gboolean show);

Specify whether the checkboxes in the ESourceSelector should be shown or not.

`selector` : | An ESourceSelector widget
`show` : |

### e_source_selector_selection_shown ()

    gboolean    e_source_selector_selection_shown
                                                (ESourceSelector *selector);

Check whether the checkboxes in the ESourceSelector are being shown or not.

`selector` : | an ESourceSelector
Returns : | `TRUE` if the checkboxes are shown, `FALSE` otherwise.

### e_source_selector_set_select_new ()

    void        e_source_selector_set_select_new
                                                (ESourceSelector *selector,
                                                 gboolean state);

Set whether or not to select new sources added to `selector`.

`selector` : | An ESourceSelector widget
`state` : | A gboolean

### e_source_selector_peek_primary_selection ()

    ESource*    e_source_selector_peek_primary_selection
                                                (ESourceSelector *selector);

Get the primary selected source. The primary selection is the one that is highlighted through the normal GtkTreeView selection mechanism (as opposed to the "normal" selection, which is the set of source whose checkboxes are checked).

`selector` : | An ESourceSelector widget
Returns : | The selected source.

### e_source_selector_set_primary_selection ()

    void        e_source_selector_set_primary_selection
                                                (ESourceSelector *selector,
                                                 ESource *source);

Set the primary selected source.

`selector` : | an ESourceSelector widget
`source` : | an ESource to select

### e_source_selector_get_primary_source_group ()

    ESourceGroup* e_source_selector_get_primary_source_group
                                                (ESourceSelector *selector);

Gets the primary source group associated with the selector.

`selector` : | an ESourceSelector
Returns : | primary_source_group if selector is valid, NULL otherwise.

## Signal Details

### The "popup-event" signal

    gboolean    user_function                  (ESourceSelector *esourceselector,
                                                GObject         *arg1,
                                                GdkEvent        *event,
                                                gpointer         user_data)            : Run last

`esourceselector` : | the object which received the signal.
`arg1` : |
`event` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |

### The "primary-selection-changed" signal

    void        user_function                  (ESourceSelector *esourceselector,
                                                gpointer         user_data)            : Run last

`esourceselector` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "selection-changed" signal

    void        user_function                  (ESourceSelector *esourceselector,
                                                gpointer         user_data)            : Run last

`esourceselector` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.