### Class

# Adw TabView

#### Description [src]

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

A dynamic tabbed container.

`AdwTabView` is a container which shows one child at a time. While it provides keyboard shortcuts for switching between pages, it does not provide a visible tab switcher and relies on external widgets for that, such as `AdwTabBar`, `AdwTabOverview` and `AdwTabButton`.

`AdwTabView` maintains a `AdwTabPage` object for each page, which holds additional per-page properties. You can obtain the `AdwTabPage` for a page with `adw_tab_view_get_page()`, and as the return value for `adw_tab_view_append()` and other functions for adding children.

`AdwTabView` only aims to be useful for dynamic tabs in multi-window document-based applications, such as web browsers, file managers, text editors or terminals. It does not aim to replace `GtkNotebook` for use cases such as tabbed dialogs.

As such, it does not support disabling page reordering or detaching.

`AdwTabView` adds a number of global page switching and reordering shortcuts. The `AdwTabView:shortcuts` property can be used to manage them.

See `AdwTabViewShortcuts` for the list of the available shortcuts. All of the shortcuts are enabled by default.

`adw_tab_view_add_shortcuts()` and `adw_tab_view_remove_shortcuts()` can be used to manage shortcuts in a convenient way, for example:

    adw_tab_view_remove_shortcuts (view, ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME |
                                         ADW_TAB_VIEW_SHORTCUT_CONTROL_END);

## CSS nodes

`AdwTabView` has a main CSS node with the name `tabview`.

## Accessibility

`AdwTabView` uses the `GTK_ACCESSIBLE_ROLE_TAB_PANEL` role for the tab pages which are the accessible parent objects of the child widgets.

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### adw_tab_view_new

Creates a new `AdwTabView`.

#### Instance methods

###### adw_tab_view_add_page

Adds `child` to `self` with `parent` as the parent.

###### adw_tab_view_add_shortcuts

Adds `shortcuts` for `self`.

since: 1.2

###### adw_tab_view_append

Inserts `child` as the last non-pinned page.

###### adw_tab_view_append_pinned

Inserts `child` as the last pinned page.

###### adw_tab_view_close_other_pages

Requests to close all pages other than `page`.

###### adw_tab_view_close_page

Requests to close `page`.

###### adw_tab_view_close_page_finish

Completes a `adw_tab_view_close_page()` call for `page`.

###### adw_tab_view_close_pages_after

Requests to close all pages after `page`.

###### adw_tab_view_close_pages_before

Requests to close all pages before `page`.

###### adw_tab_view_get_default_icon

Gets the default icon of `self`.

###### adw_tab_view_get_is_transferring_page

Whether a page is being transferred.

###### adw_tab_view_get_menu_model

Gets the tab context menu model for `self`.

###### adw_tab_view_get_n_pages

Gets the number of pages in `self`.

###### adw_tab_view_get_n_pinned_pages

Gets the number of pinned pages in `self`.

###### adw_tab_view_get_nth_page

Gets the `AdwTabPage` representing the child at `position`.

###### adw_tab_view_get_page

Gets the `AdwTabPage` object representing `child`.

###### adw_tab_view_get_page_position

Finds the position of `page` in `self`, starting from 0.

###### adw_tab_view_get_pages

Returns a `GListModel` that contains the pages of `self`.

###### adw_tab_view_get_selected_page

Gets the currently selected page in `self`.

###### adw_tab_view_get_shortcuts

Gets the enabled shortcuts for `self`.

since: 1.2

###### adw_tab_view_insert

Inserts a non-pinned page at `position`.

###### adw_tab_view_insert_pinned

Inserts a pinned page at `position`.

###### adw_tab_view_invalidate_thumbnails

Invalidates thumbnails for all pages in `self`.

since: 1.3

###### adw_tab_view_prepend

Inserts `child` as the first non-pinned page.

###### adw_tab_view_prepend_pinned

Inserts `child` as the first pinned page.

###### adw_tab_view_remove_shortcuts

Removes `shortcuts` from `self`.

since: 1.2

###### adw_tab_view_reorder_backward

Reorders `page` to before its previous page if possible.

###### adw_tab_view_reorder_first

Reorders `page` to the first possible position.

###### adw_tab_view_reorder_forward

Reorders `page` to after its next page if possible.

###### adw_tab_view_reorder_last

Reorders `page` to the last possible position.

###### adw_tab_view_reorder_page

Reorders `page` to `position`.

###### adw_tab_view_select_next_page

Selects the page after the currently selected page.

###### adw_tab_view_select_previous_page

Selects the page before the currently selected page.

###### adw_tab_view_set_default_icon

Sets the default page icon for `self`.

###### adw_tab_view_set_menu_model

Sets the tab context menu model for `self`.

###### adw_tab_view_set_page_pinned

Pins or unpins `page`.

###### adw_tab_view_set_selected_page

Sets the currently selected page in `self`.

###### adw_tab_view_set_shortcuts

Sets the enabled shortcuts for `self`.

since: 1.2

###### adw_tab_view_transfer_page

Transfers `page` from `self` to `other_view`.

##### Methods inherited from GtkWidget (164)

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 (21)

###### gtk_accessible_announce

Requests the user’s screen reader to announce the given message.

###### gtk_accessible_get_accessible_id

Retrieves the accessible identifier for the accessible object.

###### gtk_accessible_get_accessible_parent

Retrieves the accessible parent for an accessible object.

###### gtk_accessible_get_accessible_role

Retrieves the accessible role of an accessible object.

###### gtk_accessible_get_at_context

Retrieves the implementation for the given accessible object.

###### gtk_accessible_get_bounds

Queries the coordinates and dimensions of this accessible.

###### gtk_accessible_get_first_accessible_child

Retrieves the first accessible child of an accessible object.

###### gtk_accessible_get_next_accessible_sibling

Retrieves the next accessible sibling of an accessible object.

###### gtk_accessible_get_platform_state

Queries a platform state, such as focus.

###### gtk_accessible_reset_property

Resets the accessible property to its default value.

###### gtk_accessible_reset_relation

Resets the accessible relation to its default value.

###### gtk_accessible_reset_state

Resets the accessible state to its default value.

###### gtk_accessible_set_accessible_parent

Sets the parent and sibling of an accessible object.

###### gtk_accessible_update_next_accessible_sibling

Updates the next accessible sibling.

###### gtk_accessible_update_platform_state

Informs ATs that the platform state has changed.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

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

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

#### Properties

###### Adw.TabView:default-icon

Default page icon.

###### Adw.TabView:is-transferring-page

Whether a page is being transferred.

###### Adw.TabView:menu-model

Tab context menu model.

###### Adw.TabView:n-pages

The number of pages in the tab view.

###### Adw.TabView:n-pinned-pages

The number of pinned pages in the tab view.

###### Adw.TabView:pages

A list model with the tab view’s pages.

###### Adw.TabView:selected-page

The currently selected page.

###### Adw.TabView:shortcuts

The enabled shortcuts.

since: 1.2

##### Properties inherited from GtkWidget (35)

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

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

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

Whether the widget can receive pointer events.

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

A list of css classes applied to this widget.

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

The name of this widget in the CSS tree.

###### Gtk.Widget:cursor

The cursor used by `widget`.

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

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

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

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

Whether the widget is the default widget.

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

Whether the widget has the input focus.

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

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

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

Overrides for height request of the widget.

###### Gtk.Widget:hexpand

Whether to expand horizontally.

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

Whether to use the `hexpand` property.

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

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

###### Gtk.Widget:limit-events

Makes this widget act like a modal dialog, with respect to event delivery.

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

Margin on bottom side of widget.

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

Margin on end of widget, horizontally.

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

Margin on start of widget, horizontally.

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

Margin on top side of widget.

###### Gtk.Widget:name

The name of the widget.

###### Gtk.Widget:opacity

The requested opacity of the widget.

###### Gtk.Widget:overflow

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

###### Gtk.Widget:parent

The parent widget of this widget.

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

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

###### Gtk.Widget:root

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

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

The scale factor of the widget.

###### Gtk.Widget:sensitive

Whether the widget responds to input.

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

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

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

Sets the text of tooltip to be the given string.

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

###### Gtk.Widget:vexpand

Whether to expand vertically.

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

Whether to use the `vexpand` property.

###### Gtk.Widget:visible

Whether the widget is visible.

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

Overrides for width request of the widget.

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

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

The accessible role of the given `GtkAccessible` implementation.

#### Signals

###### Adw.TabView::close-page

Emitted after `adw_tab_view_close_page()` has been called for `page`.

###### Adw.TabView::create-window

Emitted when a tab should be transferred into a new window.

###### Adw.TabView::indicator-activated

Emitted after the indicator icon on `page` has been activated.

###### Adw.TabView::page-attached

Emitted when a page has been created or transferred to `self`.

###### Adw.TabView::page-detached

Emitted when a page has been removed or transferred to another view.

###### Adw.TabView::page-reordered

Emitted after `page` has been reordered to `position`.

###### Adw.TabView::setup-menu

Emitted when a context menu is opened or closed for `page`.

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

###### GtkWidget::destroy

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

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

Emitted when the text direction of a widget changes.

###### GtkWidget::hide

Emitted when `widget` is hidden.

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

Emitted if keyboard navigation fails.

###### GtkWidget::map

Emitted when `widget` is going to be mapped.

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

Emitted when a widget is activated via a mnemonic.

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

Emitted when the focus is moved.

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

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

###### GtkWidget::realize

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

###### GtkWidget::show

Emitted when `widget` is shown.

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

Emitted when the widget state changes.

###### GtkWidget::unmap

Emitted when `widget` is going to be unmapped.

###### GtkWidget::unrealize

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

##### 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.

#### Class structure

    struct AdwTabViewClass {
      GtkWidgetClass parent_class;

    }

No description available.

###### Class members

`parent_class: GtkWidgetClass`

  No description available.