## ESourceSelector ESourceSelector |

## Synopsis

                        ESourceSelector;
    GtkWidget *         e_source_selector_new               (ESourceList *list);
    ESourceList *       e_source_selector_get_source_list   (ESourceSelector *selector);
    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 and GtkBuildable.

## Properties

      "source-list"              ESourceList*          : Read / Write / Construct Only

## Signals

      "popup-event"                                    : Run Last
      "primary-selection-changed"                      : Run Last
      "selection-changed"                              : 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_get_source_list ()

    ESourceList *       e_source_selector_get_source_list   (ESourceSelector *selector);

Returns the ESourceList that `selector` is rendering.

`selector` : | an ESourceSelector
Returns : | an ESourceList

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

## Property Details

### The `"source-list"` property

      "source-list"              ESourceList*          : Read / Write / Construct Only

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