### Class

# Adw ToolbarView

since: 1.4

#### Description [src]

    final class Adw.ToolbarView : Gtk.Widget
      implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
      /* No available fields */
    }

A widget containing a page, as well as top and/or bottom bars.

`AdwToolbarView` has a single content widget and one or multiple top and bottom bars, shown at the top and bottom sides respectively.

Example of an `AdwToolbarView` UI definition:

    <object class="AdwToolbarView">
      <child type="top">
        <object class="AdwHeaderBar"/>
      </child>
      <property name="content">
        <object class="AdwPreferencesPage">
          <!-- ... -->
        </object>
      </property>
    </object>

The following kinds of top and bottom bars are supported:

- `AdwHeaderBar`
- `AdwTabBar`
- `AdwViewSwitcherBar`
- `GtkActionBar`
- `GtkHeaderBar`
- `GtkPopoverMenuBar`
- `GtkSearchBar`
- Any `GtkBox` or a similar widget with the `.toolbar` style class

By default, top and bottom bars are flat and scrolling content has a subtle undershoot shadow, same as when using the `.undershoot-top` and `.undershoot-bottom` style classes. This works well in most cases, e.g. with `AdwStatusPage` or `AdwPreferencesPage`, where the background at the top and bottom parts of the page is uniform. Additionally, windows with sidebars should always use this style.

`AdwToolbarView:top-bar-style` and `AdwToolbarView:bottom-bar-style` properties can be used add an opaque background and a persistent shadow to top and bottom bars, this can be useful for content such as utility panes, where some elements are adjacent to the top/bottom bars, or `AdwTabView`, where each page can have a different background.

`AdwToolbarView` ensures the top and bottom bars have consistent backdrop styles and vertical spacing. For comparison:

Any top and bottom bars can also be dragged to move the window, equivalent to putting them into a `GtkWindowHandle`.

Content is typically place between top and bottom bars, but can also extend behind them. This is controlled with the `AdwToolbarView:extend-content-to-top-edge` and `AdwToolbarView:extend-content-to-bottom-edge` properties.

Top and bottom bars can be hidden and revealed with an animation using the `AdwToolbarView:reveal-top-bars` and `AdwToolbarView:reveal-bottom-bars` properties.

## `AdwToolbarView` as `GtkBuildable`

The `AdwToolbarView` implementation of the `GtkBuildable` interface supports adding a top bar by specifying “top” as the “type” attribute of a `<child>` element, or adding a bottom bar by specifying “bottom”.

## Accessibility

`AdwToolbarView` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.

Available since: 1.4

#### Hierarchy

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### adw_toolbar_view_new

Creates a new `AdwToolbarView`.

since: 1.4

#### Instance methods

###### adw_toolbar_view_add_bottom_bar

Adds a bottom bar to `self`.

since: 1.4

###### adw_toolbar_view_add_top_bar

Adds a top bar to `self`.

since: 1.4

###### adw_toolbar_view_get_bottom_bar_height

Gets the current bottom bar height for `self`.

since: 1.4

###### adw_toolbar_view_get_bottom_bar_style

Gets appearance of the botom bars for `self`.

since: 1.4

###### adw_toolbar_view_get_content

Gets the content widget for `self`.

since: 1.4

###### adw_toolbar_view_get_extend_content_to_bottom_edge

Gets whether the content widget can extend behind bottom bars.

since: 1.4

###### adw_toolbar_view_get_extend_content_to_top_edge

Gets whether the content widget can extend behind top bars.

since: 1.4

###### adw_toolbar_view_get_reveal_bottom_bars

Gets whether bottom bars are revealed for `self`.

since: 1.4

###### adw_toolbar_view_get_reveal_top_bars

Gets whether top bars are revealed for `self`.

since: 1.4

###### adw_toolbar_view_get_top_bar_height

Gets the current top bar height for `self`.

since: 1.4

###### adw_toolbar_view_get_top_bar_style

Gets appearance of the top bars for `self`.

since: 1.4

###### adw_toolbar_view_remove

Removes a child from `self`.

since: 1.4

###### adw_toolbar_view_set_bottom_bar_style

Sets appearance of the bottom bars for `self`.

since: 1.4

###### adw_toolbar_view_set_content

Sets the content widget for `self`.

since: 1.4

###### adw_toolbar_view_set_extend_content_to_bottom_edge

Sets whether the content widget can extend behind bottom bars.

since: 1.4

###### adw_toolbar_view_set_extend_content_to_top_edge

Sets whether the content widget can extend behind top bars.

since: 1.4

###### adw_toolbar_view_set_reveal_bottom_bars

Sets whether bottom bars are revealed for `self`.

since: 1.4

###### adw_toolbar_view_set_reveal_top_bars

Sets whether top bars are revealed for `self`.

since: 1.4

###### adw_toolbar_view_set_top_bar_style

Sets appearance of the top bars for `self`.

since: 1.4

##### Methods inherited from GtkWidget (162)

Please see GtkWidget for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GtkAccessible (18)

###### gtk_accessible_get_accessible_parent

Retrieves the accessible parent for an accessible object.

unstable since: 4.10

###### gtk_accessible_get_accessible_role

Retrieves the accessible role of an accessible object.

unstable since: 4.0

###### gtk_accessible_get_at_context

Retrieves the accessible implementation for the given `GtkAccessible`.

unstable since: 4.10

###### gtk_accessible_get_bounds

Queries the coordinates and dimensions of this accessible.

unstable since: 4.10

###### gtk_accessible_get_first_accessible_child

Retrieves the first accessible child of an accessible object.

unstable since: 4.10

###### gtk_accessible_get_next_accessible_sibling

Retrieves the next accessible sibling of an accessible object.

unstable since: 4.10

###### gtk_accessible_get_platform_state

Query a platform state, such as focus.

unstable since: 4.10

###### gtk_accessible_reset_property

Resets the accessible `property` to its default value.

unstable since: 4.0

###### gtk_accessible_reset_relation

Resets the accessible `relation` to its default value.

unstable since: 4.0

###### gtk_accessible_reset_state

Resets the accessible `state` to its default value.

unstable since: 4.0

###### gtk_accessible_set_accessible_parent

Sets the parent and sibling of an accessible object.

unstable since: 4.10

###### gtk_accessible_update_next_accessible_sibling

Updates the next accessible sibling of `self`.

unstable since: 4.10

###### gtk_accessible_update_property

Updates a list of accessible properties.

unstable since: 4.0

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

unstable since: 4.0

###### gtk_accessible_update_relation

Updates a list of accessible relations.

unstable since: 4.0

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

unstable since: 4.0

###### gtk_accessible_update_state

Updates a list of accessible states. See the `GtkAccessibleState` documentation for the value types of accessible states.

unstable since: 4.0

###### gtk_accessible_update_state_value

Updates an array of accessible states.

unstable since: 4.0

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

unstable since: 4.0

#### Properties

###### Adw.ToolbarView:bottom-bar-height

The current bottom bar height.

since: 1.4

###### Adw.ToolbarView:bottom-bar-style

Appearance of the bottom bars.

since: 1.4

###### Adw.ToolbarView:content

The content widget.

since: 1.4

###### Adw.ToolbarView:extend-content-to-bottom-edge

Whether the content widget can extend behind bottom bars.

since: 1.4

###### Adw.ToolbarView:extend-content-to-top-edge

Whether the content widget can extend behind top bars.

since: 1.4

###### Adw.ToolbarView:reveal-bottom-bars

Whether bottom bars are visible.

since: 1.4

###### Adw.ToolbarView:reveal-top-bars

Whether top bars are revealed.

since: 1.4

###### Adw.ToolbarView:top-bar-height

The current top bar height.

since: 1.4

###### Adw.ToolbarView:top-bar-style

Appearance of the top bars.

since: 1.4

##### Properties inherited from GtkWidget (34)

###### Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

unstable since: 4.0

###### Gtk.Widget:can-target

Whether the widget can receive pointer events.

unstable since: 4.0

###### Gtk.Widget:css-classes

A list of css classes applied to this widget.

unstable since: 4.0

###### Gtk.Widget:css-name

The name of this widget in the CSS tree.

unstable since: 4.0

###### Gtk.Widget:cursor

The cursor used by `widget`.

unstable since: 4.0

###### Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

unstable since: 4.0

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

unstable since: 4.0

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

unstable since: 4.0

###### Gtk.Widget:has-default

Whether the widget is the default widget.

unstable since: 4.0

###### Gtk.Widget:has-focus

Whether the widget has the input focus.

unstable since: 4.0

###### Gtk.Widget:has-tooltip

Enables or disables the emission of the ::query-tooltip signal on `widget`.

unstable since: 4.0

###### Gtk.Widget:height-request

Override for height request of the widget.

unstable since: 4.0

###### Gtk.Widget:hexpand

Whether to expand horizontally.

unstable since: 4.0

###### Gtk.Widget:hexpand-set

Whether to use the `hexpand` property.

unstable since: 4.0

###### Gtk.Widget:layout-manager

The `GtkLayoutManager` instance to use to compute the preferred size of the widget, and allocate its children.

unstable since: 4.0

###### Gtk.Widget:margin-bottom

Margin on bottom side of widget.

unstable since: 4.0

###### Gtk.Widget:margin-end

Margin on end of widget, horizontally.

unstable since: 4.0

###### Gtk.Widget:margin-start

Margin on start of widget, horizontally.

unstable since: 4.0

###### Gtk.Widget:margin-top

Margin on top side of widget.

unstable since: 4.0

###### Gtk.Widget:name

The name of the widget.

unstable since: 4.0

###### Gtk.Widget:opacity

The requested opacity of the widget.

unstable since: 4.0

###### Gtk.Widget:overflow

How content outside the widget’s content area is treated.

unstable since: 4.0

###### Gtk.Widget:parent

The parent widget of this widget.

unstable since: 4.0

###### Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

unstable since: 4.0

###### Gtk.Widget:root

The `GtkRoot` widget of the widget tree containing this widget.

unstable since: 4.0

###### Gtk.Widget:scale-factor

The scale factor of the widget.

unstable since: 4.0

###### Gtk.Widget:sensitive

Whether the widget responds to input.

unstable since: 4.0

###### Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

unstable since: 4.0

###### Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

unstable since: 4.0

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

unstable since: 4.0

###### Gtk.Widget:vexpand

Whether to expand vertically.

unstable since: 4.0

###### Gtk.Widget:vexpand-set

Whether to use the `vexpand` property.

unstable since: 4.0

###### Gtk.Widget:visible

Whether the widget is visible.

unstable since: 4.0

###### Gtk.Widget:width-request

Override for width request of the widget.

unstable since: 4.0

##### Properties inherited from GtkAccessible (1)

###### Gtk.Accessible:accessible-role

The accessible role of the given `GtkAccessible` implementation.

unstable since: 4.0

#### Signals

##### Signals inherited from GtkWidget (13)

###### GtkWidget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

unstable since: 4.0

###### GtkWidget::direction-changed

Emitted when the text direction of a widget changes.

unstable since: 4.0

###### GtkWidget::hide

Emitted when `widget` is hidden.

unstable since: 4.0

###### GtkWidget::keynav-failed

Emitted if keyboard navigation fails.

unstable since: 4.0

###### GtkWidget::map

Emitted when `widget` is going to be mapped.

unstable since: 4.0

###### GtkWidget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

unstable since: 4.0

###### GtkWidget::move-focus

Emitted when the focus is moved.

unstable since: 4.0

###### GtkWidget::query-tooltip

Emitted when the widget’s tooltip is about to be shown.

unstable since: 4.0

###### GtkWidget::realize

Emitted when `widget` is associated with a `GdkSurface`.

unstable since: 4.0

###### GtkWidget::show

Emitted when `widget` is shown.

unstable since: 4.0

###### GtkWidget::state-flags-changed

Emitted when the widget state changes.

unstable since: 4.0

###### GtkWidget::unmap

Emitted when `widget` is going to be unmapped.

unstable since: 4.0

###### GtkWidget::unrealize

Emitted when the `GdkSurface` associated with `widget` is destroyed.

unstable since: 4.0

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

unstable since: 2.0

#### Class structure

    struct AdwToolbarViewClass {
      GtkWidgetClass parent_class;

    }

No description available.

###### Class members

`parent_class: GtkWidgetClass`
  No description available.