adw.tab_view

Module for [TabView] class

Types 3

A dynamic tabbed container.

adw.tab_view.TabView 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 adw.tab_bar.TabBar, adw.tab_overview.TabOverview and adw.tab_button.TabButton.

adw.tab_view.TabView maintains a adw.tab_page.TabPage object for each page, which holds additional per-page properties. You can obtain the adw.tab_page.TabPage for a page with adw.tab_view.TabView.getPage, and as the return value for adw.tab_view.TabView.append and other functions for adding children.

adw.tab_view.TabView 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 gtk.notebook.Notebook for use cases such as tabbed dialogs.

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

adw.tab_view.TabView adds a number of global page switching and reordering shortcuts. The adw.tab_view.TabView.shortcuts property can be used to manage them.

See adw.types.TabViewShortcuts for the list of the available shortcuts. All of the shortcuts are enabled by default.

adw.tab_view.TabView.addShortcuts and adw.tab_view.TabView.removeShortcuts 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

adw.tab_view.TabView has a main CSS node with the name tabview.

Accessibility

adw.tab_view.TabView uses the gtk.types.AccessibleRole.TabPanel for the tab pages which are the accessible parent objects of the child widgets.

Methods
GType _getGType() static nothrow
GType _gType() @property nothrow
TabView self() nothrowReturns `this`, for use in `with` statements.
TabViewGidBuilder builder() static nothrowGet builder for [adw.tab_view.TabView] Returns: New builder object
gio.icon.Icon defaultIcon() @property nothrowGet `defaultIcon` property. Returns: Default page icon.
void defaultIcon(gio.icon.Icon propval) @property nothrowSet `defaultIcon` property. Params: propval = Default page icon.
bool isTransferringPage() @property nothrowGet `isTransferringPage` property. Returns: Whether a page is being transferred.
gio.menu_model.MenuModel menuModel() @property nothrowGet `menuModel` property. Returns: Tab context menu model.
void menuModel(gio.menu_model.MenuModel propval) @property nothrowSet `menuModel` property. Params: propval = Tab context menu model.
int nPages() @property nothrowGet `nPages` property. Returns: The number of pages in the tab view.
int nPinnedPages() @property nothrowGet `nPinnedPages` property. Returns: The number of pinned pages in the tab view.
gtk.selection_model.SelectionModel pages() @property nothrowGet `pages` property. Returns: A selection model with the tab view's pages.
adw.tab_page.TabPage selectedPage() @property nothrowGet `selectedPage` property. Returns: The currently selected page.
void selectedPage(adw.tab_page.TabPage propval) @property nothrowSet `selectedPage` property. Params: propval = The currently selected page.
adw.types.TabViewShortcuts shortcuts() @property nothrowGet `shortcuts` property. Returns: The enabled shortcuts.
void shortcuts(adw.types.TabViewShortcuts propval) @property nothrowSet `shortcuts` property. Params: propval = The enabled shortcuts.
adw.tab_page.TabPage addPage(gtk.widget.Widget child, adw.tab_page.TabPage parent = null) nothrowAdds child to self with parent as the parent.
void addShortcuts(adw.types.TabViewShortcuts shortcuts) nothrowAdds shortcuts for self.
adw.tab_page.TabPage append(gtk.widget.Widget child) nothrowInserts child as the last non-pinned page.
adw.tab_page.TabPage appendPinned(gtk.widget.Widget child) nothrowInserts child as the last pinned page.
void closeOtherPages(adw.tab_page.TabPage page) nothrowRequests to close all pages other than page.
void closePage(adw.tab_page.TabPage page) nothrowRequests to close page.
void closePageFinish(adw.tab_page.TabPage page, bool confirm) nothrowCompletes a [adw.tab_view.TabView.closePage] call for page.
void closePagesAfter(adw.tab_page.TabPage page) nothrowRequests to close all pages after page.
void closePagesBefore(adw.tab_page.TabPage page) nothrowRequests to close all pages before page.
gio.icon.Icon getDefaultIcon() nothrowGets the default icon of self. Returns: the default icon of self.
bool getIsTransferringPage() nothrowWhether a page is being transferred.
gio.menu_model.MenuModel getMenuModel() nothrowGets the tab context menu model for self. Returns: the tab context menu model for self
int getNPages() nothrowGets the number of pages in self. Returns: the number of pages in self
int getNPinnedPages() nothrowGets the number of pinned pages in self.
adw.tab_page.TabPage getNthPage(int position) nothrowGets the [adw.tab_page.TabPage] representing the child at position.
adw.tab_page.TabPage getPage(gtk.widget.Widget child) nothrowGets the [adw.tab_page.TabPage] object representing child.
int getPagePosition(adw.tab_page.TabPage page) nothrowFinds the position of page in self, starting from 0.
gtk.selection_model.SelectionModel getPages() nothrowReturns a [gio.list_model.ListModel] that contains the pages of self.
adw.tab_page.TabPage getSelectedPage() nothrowGets the currently selected page in self. Returns: the selected page
adw.types.TabViewShortcuts getShortcuts() nothrowGets the enabled shortcuts for self. Returns: the shortcut mask
adw.tab_page.TabPage insert(gtk.widget.Widget child, int position) nothrowInserts a non-pinned page at position.
adw.tab_page.TabPage insertPinned(gtk.widget.Widget child, int position) nothrowInserts a pinned page at position.
void invalidateThumbnails() nothrowInvalidates thumbnails for all pages in self.
adw.tab_page.TabPage prepend(gtk.widget.Widget child) nothrowInserts child as the first non-pinned page.
adw.tab_page.TabPage prependPinned(gtk.widget.Widget child) nothrowInserts child as the first pinned page.
void removeShortcuts(adw.types.TabViewShortcuts shortcuts) nothrowRemoves shortcuts from self.
bool reorderBackward(adw.tab_page.TabPage page) nothrowReorders page to before its previous page if possible.
bool reorderFirst(adw.tab_page.TabPage page) nothrowReorders page to the first possible position.
bool reorderForward(adw.tab_page.TabPage page) nothrowReorders page to after its next page if possible.
bool reorderLast(adw.tab_page.TabPage page) nothrowReorders page to the last possible position.
bool reorderPage(adw.tab_page.TabPage page, int position) nothrowReorders page to position.
bool selectNextPage() nothrowSelects the page after the currently selected page.
bool selectPreviousPage() nothrowSelects the page before the currently selected page.
void setDefaultIcon(gio.icon.Icon defaultIcon) nothrowSets the default page icon for self.
void setMenuModel(gio.menu_model.MenuModel menuModel = null) nothrowSets the tab context menu model for self.
void setPagePinned(adw.tab_page.TabPage page, bool pinned) nothrowPins or unpins page.
void setSelectedPage(adw.tab_page.TabPage selectedPage) nothrowSets the currently selected page in self.
void setShortcuts(adw.types.TabViewShortcuts shortcuts) nothrowSets the enabled shortcuts for self.
void transferPage(adw.tab_page.TabPage page, adw.tab_view.TabView otherView, int position) nothrowTransfers page from self to other_view.
gulong connectClosePage(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : adw.tab_page.TabPage))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : adw.tab_view.TabView))) && Parameters!T.length < 3) nothrowConnect to `ClosePage` signal.
gulong connectCreateWindow(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T : adw.tab_view.TabView) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : adw.tab_view.TabView))) && Parameters!T.length < 2) nothrowConnect to `CreateWindow` signal.
gulong connectIndicatorActivated(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : adw.tab_page.TabPage))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : adw.tab_view.TabView))) && Parameters!T.length < 3) nothrowConnect to `IndicatorActivated` signal.
gulong connectPageAttached(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : adw.tab_page.TabPage))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == int))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] : adw.tab_view.TabView))) && Parameters!T.length < 4) nothrowConnect to `PageAttached` signal.
gulong connectPageDetached(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : adw.tab_page.TabPage))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == int))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] : adw.tab_view.TabView))) && Parameters!T.length < 4) nothrowConnect to `PageDetached` signal.
gulong connectPageReordered(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : adw.tab_page.TabPage))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == int))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] : adw.tab_view.TabView))) && Parameters!T.length < 4) nothrowConnect to `PageReordered` signal.
gulong connectSetupMenu(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : adw.tab_page.TabPage))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : adw.tab_view.TabView))) && Parameters!T.length < 3) nothrowConnect to `SetupMenu` signal.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new [adw.tab_view.TabView]. Returns: the newly created [adw.tab_view.TabView]

Fluent builder implementation template for adw.tab_view.TabView

Methods
T defaultIcon(gio.icon.Icon propval) nothrowSet `defaultIcon` property. Params: propval = Default page icon.
T menuModel(gio.menu_model.MenuModel propval) nothrowSet `menuModel` property. Params: propval = Tab context menu model.
T selectedPage(adw.tab_page.TabPage propval) nothrowSet `selectedPage` property. Params: propval = The currently selected page. Returns: Builder instance for fluent chaining
T shortcuts(adw.types.TabViewShortcuts propval) nothrowSet `shortcuts` property. Params: propval = The enabled shortcuts.

Fluent builder for adw.tab_view.TabView

Methods
TabView build() nothrowCreate object from builder. Returns: New object