Class TabBar
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
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
Modifier and TypeClassDescriptionstatic class
TabBar.Builder<B extends TabBar.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static interface
Functional interface declaration of theExtraDragDropCallback
callback.static interface
Functional interface declaration of theExtraDragValueCallback
callback.static class
Nested 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.WidgetClass, Widget.WidgetImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.AccessibleImpl, Accessible.AccessibleInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.BuildableIface, Buildable.BuildableImpl
Nested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTargetImpl, ConstraintTarget.ConstraintTargetInterface
-
Constructor Summary
ConstructorDescriptionTabBar()
Creates a newAdwTabBar
.TabBar
(MemorySegment address) Create a TabBar proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected TabBar
asParent()
Returns this instance as if it were its parent type.static TabBar.Builder
<? extends TabBar.Builder> builder()
ATabBar.Builder
object constructs aTabBar
with the specified properties.boolean
emitExtraDragDrop
(TabPage page, Value value) Emits the "extra-drag-drop" signal.emitExtraDragValue
(TabPage page, Value value) Emits the "extra-drag-value" signal.boolean
Gets whether the tabs automatically hide.Gets the widget shown after the tabs.boolean
Gets whether tabs expand to full width.Gets the current action during a drop on the extra_drop_target.boolean
Gets whether drop data should be preloaded on hover.boolean
Gets whether tabs use inverted layout.boolean
Gets whether this TabBar is overflowing.Gets the widget shown before the tabs.boolean
Gets whether the tabs are currently revealed.static Type
getType()
Get the GType of the TabBar classgetView()
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.void
setAutohide
(boolean autohide) Sets whether the tabs automatically hide.void
setEndActionWidget
(@Nullable Widget widget) Sets the widget to show after the tabs.void
setExpandTabs
(boolean expandTabs) Sets whether tabs expand to full width.void
setExtraDragPreload
(boolean preload) Sets whether drop data should be preloaded on hover.void
setInverted
(boolean inverted) Sets whether tabs tabs use inverted layout.void
setStartActionWidget
(@Nullable Widget widget) Sets the widget to show before the tabs.void
setupExtraDropTarget
(Set<DragAction> actions, @Nullable Type[] types) Sets the supported types for this drop target.void
setupExtraDropTarget
(DragAction actions, @Nullable Type[] types) Sets the supported types for this drop target.void
Sets 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, 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, 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, unsetStateFlags
Methods 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, 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, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updateProperty, updateRelation, updateState
Methods 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 newAdwTabBar
.
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, 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.
-
getExtraDragPreload
public boolean getExtraDragPreload()Gets whether drop data should be preloaded on hover.- Returns:
- whether drop data should be preloaded on hover
-
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:view
has 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
-
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-drop
signal can be used to handle the drop.- Parameters:
actions
- the supported actionstypes
- all supportedGType
s 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-drop
signal can be used to handle the drop.- Parameters:
actions
- the supported actionstypes
- all supportedGType
s 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-preload
must 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
- See Also:
-
emitExtraDragValue
Emits the "extra-drag-value" signal. SeeonExtraDragValue(org.gnome.adw.TabBar.ExtraDragValueCallback)
. -
builder
ATabBar.Builder
object constructs aTabBar
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withTabBar.Builder.build()
.
-