## ETableColumnSelector ETableColumnSelector — Select columns for an ETable or ETree |

## Synopsis

    #include <e-util/e-util.h>

    struct              ETableColumnSelector;
    GtkWidget *         e_table_column_selector_new         (ETableState *state);
    ETableState *       e_table_column_selector_get_state   (ETableColumnSelector *selector);
    void                e_table_column_selector_apply       (ETableColumnSelector *selector);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBox
                               +----ETreeViewFrame
                                     +----ETableColumnSelector

## Implemented Interfaces

ETableColumnSelector implements AtkImplementorIface, GtkBuildable, GtkOrientable and EExtensible.

## Properties

      "state"                    ETableState*          : Read / Write / Construct Only

## Description

ETableColumnSelector is a widget for choosing and ordering the available columns of an ETable or ETree.

## Details

### struct ETableColumnSelector

    struct ETableColumnSelector;

Contains only private data that should be read and manipulated using the functions below.

### e_table_column_selector_new ()

    GtkWidget *         e_table_column_selector_new         (ETableState *state);

Creates a new ETableColumnSelector, obtaining the initial column selection content from `state`.

Note that `state` remains unmodified until `e_table_column_selector_apply()` is called.

`state` : | an ETableState
Returns : | an ETableColumnSelector

### e_table_column_selector_get_state ()

    ETableState *       e_table_column_selector_get_state   (ETableColumnSelector *selector);

Returns the ETableState passed to `e_table_column_selector_new()`.

`selector` : | an ETableColumnSelector
Returns : | an ETableState

### e_table_column_selector_apply ()

    void                e_table_column_selector_apply       (ETableColumnSelector *selector);

Applies the user's column preferences to the `selector`'s "state" instance.

`selector` : | an ETableColumnSelector

## Property Details

### The `"state"` property

      "state"                    ETableState*          : Read / Write / Construct Only

Column state of the source table.