HdyViewSwitcher: Handy Reference Manual

## HdyViewSwitcher HdyViewSwitcher — An adaptive view switcher. |

## Functions

GtkWidget * | hdy_view_switcher_new ()
HdyViewSwitcherPolicy | hdy_view_switcher_get_policy ()
void | hdy_view_switcher_set_policy ()
PangoEllipsizeMode | hdy_view_switcher_get_narrow_ellipsize ()
void | hdy_view_switcher_set_narrow_ellipsize ()
GtkStack * | hdy_view_switcher_get_stack ()
void | hdy_view_switcher_set_stack ()

## Properties

PangoEllipsizeMode | narrow-ellipsize | Read / Write
HdyViewSwitcherPolicy | policy | Read / Write
GtkStack * | stack | Read / Write

## Types and Values

#define | HDY_TYPE_VIEW_SWITCHER
enum | HdyViewSwitcherPolicy
| HdyViewSwitcher

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── HdyViewSwitcher

## Implemented Interfaces

HdyViewSwitcher implements AtkImplementorIface and GtkBuildable.

## Description

An adaptive view switcher, designed to switch between multiple views in a similar fashion than a GtkStackSwitcher.

Depending on the available width, the view switcher can adapt from a wide mode showing the view's icon and title side by side, to a narrow mode showing the view's icon and title one on top of the other, in a more compact way. This can be controlled via the policy property.

To look good in a header bar, an HdyViewSwitcher requires to fill its full height. Contrary to GtkHeaderBar, HdyHeaderBar doesn't force a vertical alignment on its title widget, so we recommend it over GtkHeaderBar.

### CSS nodes

HdyViewSwitcher has a single CSS node with name viewswitcher.

## Functions

### hdy_view_switcher_new ()

    GtkWidget *
    hdy_view_switcher_new (void);

Creates a new HdyViewSwitcher widget.

#### Returns

a new HdyViewSwitcher

Since: 0.0.10

### hdy_view_switcher_get_policy ()

    HdyViewSwitcherPolicy
    hdy_view_switcher_get_policy (HdyViewSwitcher *self);

Gets the policy of `self` .

#### Parameters

self | a HdyViewSwitcher |

#### Returns

the policy of `self`

Since: 0.0.10

### hdy_view_switcher_set_policy ()

    void
    hdy_view_switcher_set_policy (HdyViewSwitcher *self,
                                  HdyViewSwitcherPolicy policy);

Sets the policy of `self` .

#### Parameters

self | a HdyViewSwitcher |
policy | the new policy |

Since: 0.0.10

### hdy_view_switcher_get_narrow_ellipsize ()

    PangoEllipsizeMode
    hdy_view_switcher_get_narrow_ellipsize
                                   (HdyViewSwitcher *self);

Get the ellipsizing position of the narrow mode label. See `hdy_view_switcher_set_narrow_ellipsize()`.

#### Parameters

self | a HdyViewSwitcher |

#### Returns

PangoEllipsizeMode

Since: 0.0.10

### hdy_view_switcher_set_narrow_ellipsize ()

    void
    hdy_view_switcher_set_narrow_ellipsize
                                   (HdyViewSwitcher *self,
                                    PangoEllipsizeMode mode);

Set the mode used to ellipsize the text in narrow mode if there is not enough space to render the entire string.

#### Parameters

self | a HdyViewSwitcher |
mode | a PangoEllipsizeMode |

Since: 0.0.10

### hdy_view_switcher_get_stack ()

    GtkStack *
    hdy_view_switcher_get_stack (HdyViewSwitcher *self);

Get the GtkStack being controlled by the HdyViewSwitcher.

See: `hdy_view_switcher_set_stack()`

#### Parameters

self | a HdyViewSwitcher |

#### Returns

the GtkStack, or `NULL` if none has been set.

[nullable][transfer none]

Since: 0.0.10

### hdy_view_switcher_set_stack ()

    void
    hdy_view_switcher_set_stack (HdyViewSwitcher *self,
                                 GtkStack *stack);

Sets the GtkStack to control.

#### Parameters

self | a HdyViewSwitcher |
stack | a GtkStack. | [nullable]

Since: 0.0.10

## Types and Values

### HDY_TYPE_VIEW_SWITCHER

    #define HDY_TYPE_VIEW_SWITCHER (hdy_view_switcher_get_type())

### enum HdyViewSwitcherPolicy

#### Members

HDY_VIEW_SWITCHER_POLICY_AUTO | Automatically adapt to the best fitting mode |
HDY_VIEW_SWITCHER_POLICY_NARROW | Force the narrow mode |
HDY_VIEW_SWITCHER_POLICY_WIDE | Force the wide mode |

### HdyViewSwitcher

    typedef struct _HdyViewSwitcher HdyViewSwitcher;

## Property Details

### The `“narrow-ellipsize”` property

      “narrow-ellipsize”         PangoEllipsizeMode

The preferred place to ellipsize the string, if the narrow mode label does not have enough room to display the entire string, specified as a PangoEllipsizeMode.

Note that setting this property to a value other than `PANGO_ELLIPSIZE_NONE` has the side-effect that the label requests only enough space to display the ellipsis.

Owner: HdyViewSwitcher

Flags: Read / Write

Default value: PANGO_ELLIPSIZE_NONE

Since: 0.0.10

### The `“policy”` property

      “policy”                   HdyViewSwitcherPolicy

The HdyViewSwitcherPolicy the view switcher should use to determine which mode to use.

Owner: HdyViewSwitcher

Flags: Read / Write

Default value: HDY_VIEW_SWITCHER_POLICY_AUTO

Since: 0.0.10

### The `“stack”` property

      “stack”                    GtkStack *

The GtkStack the view switcher controls.

Owner: HdyViewSwitcher

Flags: Read / Write

Since: 0.0.10