## EShellSwitcher

EShellSwitcher — buttons for switching views

## Functions

GtkWidget * | e_shell_switcher_new ()
void | e_shell_switcher_add_action ()
GtkToolbarStyle | e_shell_switcher_get_style ()
void | e_shell_switcher_set_style ()
void | e_shell_switcher_unset_style ()
gboolean | e_shell_switcher_get_visible ()
void | e_shell_switcher_set_visible ()

## Properties

GtkToolbarStyle | toolbar-style | Read / Write / Construct
gboolean | toolbar-visible | Read / Write / Construct

## Signals

void | style-changed | Run First

## Types and Values

struct | EShellSwitcher

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── EShellSwitcher

## Implemented Interfaces

EShellSwitcher implements AtkImplementorIface, GtkBuildable, EExtensible and GtkToolShell.

## Includes

    #include <shell/e-shell-switcher.h>

## Description

## Functions

### e_shell_switcher_new ()

    GtkWidget *
    e_shell_switcher_new (void);

Creates a new EShellSwitcher instance.

#### Returns

a new EShellSwitcher instance

### e_shell_switcher_add_action ()

    void
    e_shell_switcher_add_action (EShellSwitcher *switcher,
                                 GtkAction *switch_action,
                                 GtkAction *new_window_action);

Adds a button to `switcher` that proxies for `switcher_action` . Switcher buttons appear in the order they were added. A middle click opens a new window of this type.

EShellWindow adds switcher actions in the order given by the <structfield>sort_order</structfield> field in EShellBackendClass.

#### Parameters

switcher | an EShellSwitcher |
switch_action | a GtkAction |
new_window_action | a GtkAction |

### e_shell_switcher_get_style ()

    GtkToolbarStyle
    e_shell_switcher_get_style (EShellSwitcher *switcher);

Returns whether `switcher` has text, icons or both.

#### Parameters

switcher | an EShellSwitcher |

#### Returns

the current style of `shell`

### e_shell_switcher_set_style ()

    void
    e_shell_switcher_set_style (EShellSwitcher *switcher,
                                GtkToolbarStyle style);

Alters the view of `switcher` to display either icons only, text only, or both.

#### Parameters

switcher | an EShellSwitcher |
style | the new style for `switcher` |

### e_shell_switcher_unset_style ()

    void
    e_shell_switcher_unset_style (EShellSwitcher *switcher);

Unsets a switcher style set with `e_shell_switcher_set_style()`, so that user preferences will be used to determine the switcher style.

#### Parameters

switcher | an EShellSwitcher |

### e_shell_switcher_get_visible ()

    gboolean
    e_shell_switcher_get_visible (EShellSwitcher *switcher);

Returns `TRUE` if the switcher buttons are visible.

Note that switcher button visibility is different than `switcher` <!-- -->'s GTK_VISIBLE flag, since EShellSwitcher is actually a container widget for EShellSidebar.

#### Parameters

switcher | an EShellSwitcher |

#### Returns

`TRUE` if the switcher buttons are visible

### e_shell_switcher_set_visible ()

    void
    e_shell_switcher_set_visible (EShellSwitcher *switcher,
                                  gboolean visible);

Sets the switcher button visiblity to `visible` .

Note that switcher button visibility is different than `switcher` <!-- -->'s GTK_VISIBLE flag, since EShellSwitcher is actually a container widget for EShellSidebar.

#### Parameters

switcher | an EShellSwitcher |
visible | whether the switcher buttons should be visible |

## Types and Values

### struct EShellSwitcher

    struct EShellSwitcher;

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

## Property Details

### The `“toolbar-style”` property

      “toolbar-style”            GtkToolbarStyle

The switcher's toolbar style.

Flags: Read / Write / Construct

Default value: GTK_TOOLBAR_BOTH_HORIZ

### The `“toolbar-visible”` property

      “toolbar-visible”          gboolean

Whether the switcher is visible.

Flags: Read / Write / Construct

Default value: TRUE

## Signal Details

### The `“style-changed”` signal

    void
    user_function (EShellSwitcher *switcher,
                   GtkToolbarStyle style,
                   gpointer        user_data)

Emitted when the style of the switcher changes.

#### Parameters

switcher | the EShellSwitcher which emitted the signal |
style | the new GtkToolbarStyle of the switcher |
user_data | user data set when the signal handler was connected. |

Flags: Run First