Adw.TabView
Description: Reference for Adw.TabView

### Class

# AdwTabView

#### Description [src]

    final class Adw.TabView : Gtk.Widget {
      /* 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 bar and relies on external widgets for that, such as `AdwTabBar`.

`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 the following shortcuts in the managed scope:

- `Ctrl`+`Page Up` - switch to the previous page
- `Ctrl`+`Page Down` - switch to the next page
- `Ctrl`+`Home` - switch to the first page
- `Ctrl`+`End` - switch to the last page
- `Ctrl`+`Shift`+`Page Up` - move the current page backward
- `Ctrl`+`Shift`+`Page Down` - move the current page forward
- `Ctrl`+`Shift`+`Home` - move the current page at the start
- `Ctrl`+`Shift`+`End` - move the current page at the end
- `Ctrl`+`Tab` - switch to the next page, with looping
- `Ctrl`+`Shift`+`Tab` - switch to the previous page, with looping
- `Alt`+`1`⋯`9` - switch to pages 1-9
- `Alt`+`0` - switch to page 10

## CSS nodes

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

Available since: | 1.0

#### Hierarchy

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### adw_tab_view_new

Creates a new `AdwTabView`.

Available since: 1.0

#### Instance methods

###### adw_tab_view_add_page

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

Available since: 1.0

###### adw_tab_view_append

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

Available since: 1.0

###### adw_tab_view_append_pinned

Inserts `child` as the last pinned page.

Available since: 1.0

###### adw_tab_view_close_other_pages

Requests to close all pages other than `page`.

Available since: 1.0

###### adw_tab_view_close_page

Requests to close `page`.

Available since: 1.0

###### adw_tab_view_close_page_finish

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

Available since: 1.0

###### adw_tab_view_close_pages_after

Requests to close all pages after `page`.

Available since: 1.0

###### adw_tab_view_close_pages_before

Requests to close all pages before `page`.

Available since: 1.0

###### adw_tab_view_get_default_icon

Gets the default icon of `self`.

Available since: 1.0

###### adw_tab_view_get_is_transferring_page

Whether a page is being transferred.

Available since: 1.0

###### adw_tab_view_get_menu_model

Gets the tab context menu model for `self`.

Available since: 1.0

###### adw_tab_view_get_n_pages

Gets the number of pages in `self`.

Available since: 1.0

###### adw_tab_view_get_n_pinned_pages

Gets the number of pinned pages in `self`.

Available since: 1.0

###### adw_tab_view_get_nth_page

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

Available since: 1.0

###### adw_tab_view_get_page

Gets the `AdwTabPage` object representing `child`.

Available since: 1.0

###### adw_tab_view_get_page_position

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

Available since: 1.0

###### adw_tab_view_get_pages

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

Available since: 1.0

###### adw_tab_view_get_selected_page

Gets the currently selected page in `self`.

Available since: 1.0

###### adw_tab_view_insert

Inserts a non-pinned page at `position`.

Available since: 1.0

###### adw_tab_view_insert_pinned

Inserts a pinned page at `position`.

Available since: 1.0

###### adw_tab_view_prepend

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

Available since: 1.0

###### adw_tab_view_prepend_pinned

Inserts `child` as the first pinned page.

Available since: 1.0

###### adw_tab_view_reorder_backward

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

Available since: 1.0

###### adw_tab_view_reorder_first

Reorders `page` to the first possible position.

Available since: 1.0

###### adw_tab_view_reorder_forward

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

Available since: 1.0

###### adw_tab_view_reorder_last

Reorders `page` to the last possible position.

Available since: 1.0

###### adw_tab_view_reorder_page

Reorders `page` to `position`.

Available since: 1.0

###### adw_tab_view_select_next_page

Selects the page after the currently selected page.

Available since: 1.0

###### adw_tab_view_select_previous_page

Selects the page before the currently selected page.

Available since: 1.0

###### adw_tab_view_set_default_icon

Sets the default page icon for `self`.

Available since: 1.0

###### adw_tab_view_set_menu_model

Sets the tab context menu model for `self`.

Available since: 1.0

###### adw_tab_view_set_page_pinned

Pins or unpins `page`.

Available since: 1.0

###### adw_tab_view_set_selected_page

Sets the currently selected page in `self`.

Available since: 1.0

###### adw_tab_view_transfer_page

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

Available since: 1.0

##### Methods inherited from GtkWidget (159)

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

#### Properties

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

Default page icon.

Available since: 1.0

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

Whether a page is being transferred.

Available since: 1.0

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

Tab context menu model.

Available since: 1.0

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

The number of pages in the tab view.

Available since: 1.0

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

The number of pinned pages in the tab view.

Available since: 1.0

###### Adw.TabView:pages

A selection model with the tab view’s pages.

Available since: 1.0

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

The currently selected page.

Available since: 1.0

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

#### Signals

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

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

Available since: 1.0

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

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

Available since: 1.0

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

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

Available since: 1.0

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

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

Available since: 1.0

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

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

Available since: 1.0

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

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

Available since: 1.0

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

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

Available since: 1.0

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

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

#### Class structure

    struct AdwTabViewClass {
      GtkWidgetClass parent_class;

    }

###### Class members

`parent_class` |
    GtkWidgetClass
| No description available.