HdyViewSwitcher

HdyViewSwitcher — An adaptive view switcher.

Functions

Properties

Types and Values

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

 

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.

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.

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.

Flags: Read / Write

Since: 0.0.10