Class TabBar
- All Implemented Interfaces:
Accessible,Buildable,ConstraintTarget,Proxy
TabView.
The AdwTabBar widget is a tab bar that can be used with conjunction with
AdwTabView. It is typically used as a top bar within ToolbarView.
AdwTabBar can autohide and can optionally contain action widgets on both
sides of the tabs.
When there's not enough space to show all the tabs, AdwTabBar will scroll
them. Pinned tabs always stay visible and aren't a part of the scrollable
area.
CSS nodes
AdwTabBar has a single CSS node with name tabbar.
Style classes
By default AdwTabBar look like a part of an AdwHeaderBar and is intended
to be used directly attached to one or used as a ToolbarView toolbar.
The .inline style class removes its background,
so that it can be used in different contexts instead.

-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classTabBar.Builder<B extends TabBar.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static interfaceFunctional interface declaration of theExtraDragDropCallbackcallback.static interfaceFunctional interface declaration of theExtraDragValueCallbackcallback.static classNested classes/interfaces inherited from class org.gnome.gtk.Widget
Widget.DestroyCallback, Widget.DirectionChangedCallback, Widget.HideCallback, Widget.KeynavFailedCallback, Widget.MapCallback, Widget.MnemonicActivateCallback, Widget.MoveFocusCallback, Widget.QueryTooltipCallback, Widget.RealizeCallback, Widget.ShowCallback, Widget.StateFlagsChangedCallback, Widget.UnmapCallback, Widget.UnrealizeCallback, Widget.Widget$Impl, Widget.WidgetClassNested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.Accessible$Impl, Accessible.AccessibleInterfaceNested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.Buildable$Impl, Buildable.BuildableIfaceNested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTarget$Impl, ConstraintTarget.ConstraintTargetInterface -
Constructor Summary
ConstructorsConstructorDescriptionTabBar()Creates a new TabBar.TabBar(MemorySegment address) Create a TabBar proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected TabBarasParent()Returns this instance as if it were its parent type.static TabBar.Builder<? extends TabBar.Builder> builder()ATabBar.Builderobject constructs aTabBarwith the specified properties.booleanemitExtraDragDrop(@Nullable TabPage page, @Nullable Value value) Emits the "extra-drag-drop" signal.emitExtraDragValue(@Nullable TabPage page, @Nullable Value value) Emits the "extra-drag-value" signal.booleanGets whether the tabs automatically hide.@Nullable WidgetGets the widget shown after the tabs.booleanGets whether tabs expand to full width.Gets the current action during a drop on the extra_drop_target.booleanGets whether drop data should be preloaded on hover.booleanGets whether tabs use inverted layout.booleanGets whether this TabBar is overflowing.@Nullable WidgetGets the widget shown before the tabs.booleanGets whether the tabs are currently revealed.static @Nullable TypegetType()Get the GType of the TabBar class@Nullable TabViewgetView()Gets the tab view this TabBar controls.This signal is emitted when content is dropped onto a tab.This signal is emitted when the dropped content is preloaded.voidsetAutohide(boolean autohide) Sets whether the tabs automatically hide.voidsetEndActionWidget(@Nullable Widget widget) Sets the widget to show after the tabs.voidsetExpandTabs(boolean expandTabs) Sets whether tabs expand to full width.voidsetExtraDragPreload(boolean preload) Sets whether drop data should be preloaded on hover.voidsetInverted(boolean inverted) Sets whether tabs tabs use inverted layout.voidsetStartActionWidget(@Nullable Widget widget) Sets the widget to show before the tabs.voidsetupExtraDropTarget(Set<DragAction> actions, @Nullable Type @Nullable [] types) Sets the supported types for this drop target.voidsetupExtraDropTarget(DragAction actions, @Nullable Type @Nullable [] types) Sets the supported types for this drop target.voidSets the tab view this TabBar controls.Methods inherited from class org.gnome.gtk.Widget
actionSetEnabled, activateActionIfExists, activateDefault, activateWidget, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, cssChanged, directionChanged, disposeTemplate, dragCheckThreshold, emitDestroy, emitDirectionChanged, emitHide, emitKeynavFailed, emitMap, emitMnemonicActivate, emitMoveFocus, emitQueryTooltip, emitRealize, emitShow, emitStateFlagsChanged, emitUnmap, emitUnrealize, errorBell, focus, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBaseline, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getLimitEvents, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMemoryLayout, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, moveFocus, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, pick, queryTooltip, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, root, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setLimitEvents, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, sizeAllocate, snapshot, snapshotChild, stateFlagsChanged, systemSettingChanged, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unroot, unsetStateFlags, unsetStateFlagsMethods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newv, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withPropertiesMethods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class org.javagi.base.ProxyInstance
equals, handle, hashCodeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updatePlatformState, updateProperty, updateRelation, updateStateMethods inherited from interface org.gnome.gtk.Buildable
getBuildableId
-
Constructor Details
-
TabBar
Create a TabBar proxy instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
TabBar
public TabBar()Creates a new TabBar.
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuperkeyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName(). This will call the native function pointer of this virtual method in the typeclass of the parent type. -
getAutohide
public boolean getAutohide()Gets whether the tabs automatically hide.- Returns:
- whether the tabs automatically hide
-
getEndActionWidget
Gets the widget shown after the tabs.- Returns:
- the widget shown after the tabs
-
getExpandTabs
public boolean getExpandTabs()Gets whether tabs expand to full width.- Returns:
- whether tabs expand to full width.
-
getExtraDragPreferredAction
Gets the current action during a drop on the extra_drop_target.- Returns:
- the drag action of the current drop.
- Since:
- 1.4
-
getExtraDragPreload
public boolean getExtraDragPreload()Gets whether drop data should be preloaded on hover.- Returns:
- whether drop data should be preloaded on hover
- Since:
- 1.3
-
getInverted
public boolean getInverted()Gets whether tabs use inverted layout.- Returns:
- whether tabs use inverted layout
-
getIsOverflowing
public boolean getIsOverflowing()Gets whether this TabBar is overflowing.If
TRUE, all tabs cannot be displayed at once and require scrolling.- Returns:
- whether this TabBar is overflowing
-
getStartActionWidget
Gets the widget shown before the tabs.- Returns:
- the widget shown before the tabs
-
getTabsRevealed
public boolean getTabsRevealed()Gets whether the tabs are currently revealed.See
TabBar:autohide.- Returns:
- whether the tabs are currently revealed
-
getView
Gets the tab view this TabBar controls.- Returns:
- the view this TabBar controls
-
setAutohide
public void setAutohide(boolean autohide) Sets whether the tabs automatically hide.If set to
TRUE, the tab bar disappears whenTabBar:viewhas 0 or 1 tab, no pinned tabs, and no tab is being transferred.See
TabBar:tabs-revealed.- Parameters:
autohide- whether the tabs automatically hide
-
setEndActionWidget
Sets the widget to show after the tabs.- Parameters:
widget- the widget to show after the tabs
-
setExpandTabs
public void setExpandTabs(boolean expandTabs) Sets whether tabs expand to full width.If set to
TRUE, the tabs will always vary width filling the whole width when possible, otherwise tabs will always have the minimum possible size.- Parameters:
expandTabs- whether to expand tabs
-
setExtraDragPreload
public void setExtraDragPreload(boolean preload) Sets whether drop data should be preloaded on hover.See
Gtk.DropTarget:preload.- Parameters:
preload- whether to preload drop data- Since:
- 1.3
-
setInverted
public void setInverted(boolean inverted) Sets whether tabs tabs use inverted layout.If set to
TRUE, non-pinned tabs will have the close button at the beginning and the indicator at the end rather than the opposite.- Parameters:
inverted- whether tabs use inverted layout
-
setStartActionWidget
Sets the widget to show before the tabs.- Parameters:
widget- the widget to show before the tabs
-
setView
Sets the tab view this TabBar controls.- Parameters:
view- a tab view
-
setupExtraDropTarget
Sets the supported types for this drop target.Sets up an extra drop target on tabs.
This allows to drag arbitrary content onto tabs, for example URLs in a web browser.
If a tab is hovered for a certain period of time while dragging the content, it will be automatically selected.
The
TabBar::extra-drag-dropsignal can be used to handle the drop.- Parameters:
actions- the supported actionstypes- all supportedGTypes that can be dropped
-
setupExtraDropTarget
Sets the supported types for this drop target.Sets up an extra drop target on tabs.
This allows to drag arbitrary content onto tabs, for example URLs in a web browser.
If a tab is hovered for a certain period of time while dragging the content, it will be automatically selected.
The
TabBar::extra-drag-dropsignal can be used to handle the drop.- Parameters:
actions- the supported actionstypes- all supportedGTypes that can be dropped
-
onExtraDragDrop
public SignalConnection<TabBar.ExtraDragDropCallback> onExtraDragDrop(TabBar.ExtraDragDropCallback handler) This signal is emitted when content is dropped onto a tab.The content must be of one of the types set up via
setupExtraDropTarget(java.util.Set<org.gnome.gdk.DragAction>, org.gnome.glib.Type[]).See
Gtk.DropTarget::drop.- Parameters:
handler- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitExtraDragDrop
Emits the "extra-drag-drop" signal. SeeonExtraDragDrop(org.gnome.adw.TabBar.ExtraDragDropCallback). -
onExtraDragValue
public SignalConnection<TabBar.ExtraDragValueCallback> onExtraDragValue(TabBar.ExtraDragValueCallback handler) This signal is emitted when the dropped content is preloaded.In order for data to be preloaded,
TabBar:extra-drag-preloadmust be set toTRUE.The content must be of one of the types set up via
setupExtraDropTarget(java.util.Set<org.gnome.gdk.DragAction>, org.gnome.glib.Type[]).See
Gtk.DropTarget:value.- Parameters:
handler- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- Since:
- 1.3
- See Also:
-
emitExtraDragValue
Emits the "extra-drag-value" signal. SeeonExtraDragValue(org.gnome.adw.TabBar.ExtraDragValueCallback). -
builder
ATabBar.Builderobject constructs aTabBarwith the specified properties. Use the variousset...()methods to set properties, and finish construction withTabBar.Builder.build().- Returns:
- the builder object
-