HdyViewSwitcherTitle: Handy Reference Manual

## HdyViewSwitcherTitle HdyViewSwitcherTitle — A view switcher title. |

## Functions

HdyViewSwitcherTitle * | hdy_view_switcher_title_new ()
HdyViewSwitcherPolicy | hdy_view_switcher_title_get_policy ()
void | hdy_view_switcher_title_set_policy ()
GtkStack * | hdy_view_switcher_title_get_stack ()
void | hdy_view_switcher_title_set_stack ()
const gchar * | hdy_view_switcher_title_get_title ()
void | hdy_view_switcher_title_set_title ()
const gchar * | hdy_view_switcher_title_get_subtitle ()
void | hdy_view_switcher_title_set_subtitle ()
gboolean | hdy_view_switcher_title_get_view_switcher_enabled ()
void | hdy_view_switcher_title_set_view_switcher_enabled ()
gboolean | hdy_view_switcher_title_get_title_visible ()

## Properties

HdyViewSwitcherPolicy | policy | Read / Write
GtkStack * | stack | Read / Write
char * | subtitle | Read / Write
char * | title | Read / Write
gboolean | title-visible | Read
gboolean | view-switcher-enabled | Read / Write

## Types and Values

#define | HDY_TYPE_VIEW_SWITCHER_TITLE
| HdyViewSwitcherTitle

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── HdyViewSwitcherTitle

## Implemented Interfaces

HdyViewSwitcherTitle implements AtkImplementorIface and GtkBuildable.

## Description

A widget letting you switch between multiple views offered by a GtkStack, via an HdyViewSwitcher. It is designed to be used as the title widget of a HdyHeaderBar, and will display the window's title when the window is too narrow to fit the view switcher e.g. on mobile phones, or if there are less than two views.

You can conveniently bind the “reveal” property to “title-visible” to automatically reveal the view switcher bar when the title label is displayed in place of the view switcher.

An example of the UI definition for a common use case:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <object class="GtkWindow"/>
      <child type="titlebar">
        <object class="HdyHeaderBar">
          <property name="centering-policy">strict</property>
          <child type="title">
            <object class="HdyViewSwitcherTitle"
                    id="view_switcher_title">
              <property name="stack">stack</property>
            </object>
          </child>
        </object>
      </child>
      <child>
        <object class="GtkBox">
          <child>
            <object class="GtkStack" id="stack"/>
          </child>
          <child>
            <object class="HdyViewSwitcherBar">
              <property name="stack">stack</property>
              <property name="reveal"
                        bind-source="view_switcher_title"
                        bind-property="title-visible"
                        bind-flags="sync-create"/>
            </object>
          </child>
        </object>
      </child>
    </object>

### CSS nodes

HdyViewSwitcherTitle has a single CSS node with name viewswitchertitle.

## Functions

### hdy_view_switcher_title_new ()

    HdyViewSwitcherTitle *
    hdy_view_switcher_title_new (void);

Creates a new HdyViewSwitcherTitle widget.

#### Returns

a new HdyViewSwitcherTitle

Since: 1.0

### hdy_view_switcher_title_get_policy ()

    HdyViewSwitcherPolicy
    hdy_view_switcher_title_get_policy (HdyViewSwitcherTitle *self);

Gets the policy of `self` .

#### Parameters

self | a HdyViewSwitcherTitle |

#### Returns

the policy of `self`

Since: 1.0

### hdy_view_switcher_title_set_policy ()

    void
    hdy_view_switcher_title_set_policy (HdyViewSwitcherTitle *self,
                                        HdyViewSwitcherPolicy policy);

Sets the policy of `self` .

#### Parameters

self | a HdyViewSwitcherTitle |
policy | the new policy |

Since: 1.0

### hdy_view_switcher_title_get_stack ()

    GtkStack *
    hdy_view_switcher_title_get_stack (HdyViewSwitcherTitle *self);

Get the GtkStack being controlled by the HdyViewSwitcher.

#### Parameters

self | a HdyViewSwitcherTitle |

#### Returns

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

[nullable][transfer none]

Since: 1.0

### hdy_view_switcher_title_set_stack ()

    void
    hdy_view_switcher_title_set_stack (HdyViewSwitcherTitle *self,
                                       GtkStack *stack);

Sets the GtkStack to control.

#### Parameters

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

Since: 1.0

### hdy_view_switcher_title_get_title ()

    const gchar *
    hdy_view_switcher_title_get_title (HdyViewSwitcherTitle *self);

Gets the title of `self` . See `hdy_view_switcher_title_set_title()`.

#### Parameters

self | a HdyViewSwitcherTitle |

#### Returns

the title of `self` , or `NULL`.

[transfer none][nullable]

Since: 1.0

### hdy_view_switcher_title_set_title ()

    void
    hdy_view_switcher_title_set_title (HdyViewSwitcherTitle *self,
                                       const gchar *title);

Sets the title of `self` . The title should give a user additional details. A good title should not include the application name.

#### Parameters

self | a HdyViewSwitcherTitle |
title | a title, or `NULL`. | [nullable]

Since: 1.0

### hdy_view_switcher_title_get_subtitle ()

    const gchar *
    hdy_view_switcher_title_get_subtitle (HdyViewSwitcherTitle *self);

Gets the subtitle of `self` . See `hdy_view_switcher_title_set_subtitle()`.

#### Parameters

self | a HdyViewSwitcherTitle |

#### Returns

the subtitle of `self` , or `NULL`.

[transfer none][nullable]

Since: 1.0

### hdy_view_switcher_title_set_subtitle ()

    void
    hdy_view_switcher_title_set_subtitle (HdyViewSwitcherTitle *self,
                                          const gchar *subtitle);

Sets the subtitle of `self` . The subtitle should give a user additional details.

#### Parameters

self | a HdyViewSwitcherTitle |
subtitle | a subtitle, or `NULL`. | [nullable]

Since: 1.0

### hdy_view_switcher_title_get_view_switcher_enabled ()

    gboolean
    hdy_view_switcher_title_get_view_switcher_enabled
                                   (HdyViewSwitcherTitle *self);

Gets whether `self` 's view switcher is enabled.

See `hdy_view_switcher_title_set_view_switcher_enabled()`.

#### Parameters

self | a HdyViewSwitcherTitle |

#### Returns

`TRUE` if the view switcher is enabled, `FALSE` otherwise.

Since: 1.0

### hdy_view_switcher_title_set_view_switcher_enabled ()

    void
    hdy_view_switcher_title_set_view_switcher_enabled
                                   (HdyViewSwitcherTitle *self,
                                    gboolean enabled);

Make `self` enable or disable its view switcher. If it is disabled, the title will be displayed instead. This allows to programmatically and prematurely hide the view switcher of `self` even if it fits in the available space.

This can be used e.g. to ensure the view switcher is hidden below a certain window width, or any other constraint you find suitable.

#### Parameters

self | a HdyViewSwitcherTitle |
enabled | `TRUE` to enable the view switcher, `FALSE` to disable it |

Since: 1.0

### hdy_view_switcher_title_get_title_visible ()

    gboolean
    hdy_view_switcher_title_get_title_visible
                                   (HdyViewSwitcherTitle *self);

Get whether the title label of `self` is visible.

#### Parameters

self | a HdyViewSwitcherTitle |

#### Returns

`TRUE` if the title label of `self` is visible, `FALSE` if not.

Since: 1.0

## Types and Values

### HDY_TYPE_VIEW_SWITCHER_TITLE

    #define HDY_TYPE_VIEW_SWITCHER_TITLE (hdy_view_switcher_title_get_type())

### HdyViewSwitcherTitle

    typedef struct _HdyViewSwitcherTitle HdyViewSwitcherTitle;

## Property Details

### The `“policy”` property

      “policy”                   HdyViewSwitcherPolicy

The HdyViewSwitcherPolicy the HdyViewSwitcher should use to determine which mode to use.

Owner: HdyViewSwitcherTitle

Flags: Read / Write

Default value: HDY_VIEW_SWITCHER_POLICY_AUTO

Since: 1.0

### The `“stack”` property

      “stack”                    GtkStack *

The GtkStack the HdyViewSwitcher controls.

Owner: HdyViewSwitcherTitle

Flags: Read / Write

Since: 1.0

### The `“subtitle”` property

      “subtitle”                 char *

The subtitle of the HdyViewSwitcher.

Owner: HdyViewSwitcherTitle

Flags: Read / Write

Default value: NULL

Since: 1.0

### The `“title”` property

      “title”                    char *

The title of the HdyViewSwitcher.

Owner: HdyViewSwitcherTitle

Flags: Read / Write

Default value: NULL

Since: 1.0

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

      “title-visible”            gboolean

Whether the bar should be revealed or hidden.

Owner: HdyViewSwitcherTitle

Flags: Read

Default value: TRUE

Since: 1.0

### The `“view-switcher-enabled”` property

      “view-switcher-enabled”    gboolean

Whether the bar should be revealed or hidden.

Owner: HdyViewSwitcherTitle

Flags: Read / Write

Default value: TRUE

Since: 1.0

## See Also

HdyHeaderBar, HdyViewSwitcher, HdyViewSwitcherBar