Class ToolbarView
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
AdwToolbarView
has a single content widget and one or multiple top and
bottom bars, shown at the top and bottom sides respectively.
Example of an AdwToolbarView
UI definition:
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar"/>
</child>
<property name="content">
<object class="AdwPreferencesPage">
<!-- ... -->
</object>
</property>
</object>
The following kinds of top and bottom bars are supported:
HeaderBar
TabBar
ViewSwitcherBar
ActionBar
HeaderBar
PopoverMenuBar
SearchBar
- Any
Box
or a similar widget with the.toolbar
style class
By default, top and bottom bars are flat and scrolling content has a subtle
undershoot shadow, same as when using the
.undershoot-top
and
.undershoot-bottom
style
classes. This works well in most cases, e.g. with StatusPage
or
PreferencesPage
, where the background at the top and bottom parts of
the page is uniform. Additionally, windows with sidebars should always use
this style.
ToolbarView:top-bar-style
and
ToolbarView:bottom-bar-style
properties can be used add an opaque
background and a persistent shadow to top and bottom bars, this can be useful
for content such as utility panes,
where some elements are adjacent to the top/bottom bars, or TabView
,
where each page can have a different background.
AdwToolbarView
ensures the top and bottom bars have consistent backdrop
styles and vertical spacing. For comparison:
Any top and bottom bars can also be dragged to move the window, equivalent
to putting them into a WindowHandle
.
Content is typically place between top and bottom bars, but can also extend
behind them. This is controlled with the
ToolbarView:extend-content-to-top-edge
and
ToolbarView:extend-content-to-bottom-edge
properties.
Top and bottom bars can be hidden and revealed with an animation using the
ToolbarView:reveal-top-bars
and
ToolbarView:reveal-bottom-bars
properties.
AdwToolbarView
as GtkBuildable
The AdwToolbarView
implementation of the Buildable
interface
supports adding a top bar by specifying “top” as the “type” attribute of a
<child>
element, or adding a bottom bar by specifying “bottom”.
Accessibility
AdwToolbarView
uses the GTK_ACCESSIBLE_ROLE_GROUP
role.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
ToolbarView.Builder<B extends ToolbarView.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.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
ConstructorDescriptionCreates a newAdwToolbarView
.ToolbarView
(MemorySegment address) Create a ToolbarView proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addBottomBar
(Widget widget) Adds a bottom bar to this ToolbarView.void
Adds a top bar to this ToolbarView.protected ToolbarView
asParent()
Returns this instance as if it were its parent type.static ToolbarView.Builder
<? extends ToolbarView.Builder> builder()
AToolbarView.Builder
object constructs aToolbarView
with the specified properties.int
Gets the current bottom bar height for this ToolbarView.Gets appearance of the bottom bars for this ToolbarView.Gets the content widget for this ToolbarView.boolean
Gets whether the content widget can extend behind bottom bars.boolean
Gets whether the content widget can extend behind top bars.boolean
Gets whether bottom bars are revealed for this ToolbarView.boolean
Gets whether top bars are revealed for this ToolbarView.int
Gets the current top bar height for this ToolbarView.Gets appearance of the top bars for this ToolbarView.static Type
getType()
Get the GType of the ToolbarView classvoid
Removes a child from this ToolbarView.void
setBottomBarStyle
(ToolbarStyle style) Sets appearance of the bottom bars for this ToolbarView.void
setContent
(@Nullable Widget content) Sets the content widget for this ToolbarView.void
setExtendContentToBottomEdge
(boolean extend) Sets whether the content widget can extend behind bottom bars.void
setExtendContentToTopEdge
(boolean extend) Sets whether the content widget can extend behind top bars.void
setRevealBottomBars
(boolean reveal) Sets whether bottom bars are revealed for this ToolbarView.void
setRevealTopBars
(boolean reveal) Sets whether top bars are revealed for this ToolbarView.void
setTopBarStyle
(ToolbarStyle style) Sets appearance of the top bars for this ToolbarView.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
-
ToolbarView
Create a ToolbarView proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
ToolbarView
public ToolbarView()Creates a newAdwToolbarView
.
-
-
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. -
addBottomBar
Adds a bottom bar to this ToolbarView.- Parameters:
widget
- a widget
-
addTopBar
Adds a top bar to this ToolbarView.- Parameters:
widget
- a widget
-
getBottomBarHeight
public int getBottomBarHeight()Gets the current bottom bar height for this ToolbarView.Bottom bar height does change depending on
ToolbarView:reveal-bottom-bars
, including during the transition.See
getTopBarHeight()
.- Returns:
- the current bottom bar height
-
getBottomBarStyle
Gets appearance of the bottom bars for this ToolbarView.- Returns:
- bottom bar style
-
getContent
Gets the content widget for this ToolbarView.- Returns:
- the content widget
-
getExtendContentToBottomEdge
public boolean getExtendContentToBottomEdge()Gets whether the content widget can extend behind bottom bars.- Returns:
- whether content extends behind bottom bars
-
getExtendContentToTopEdge
public boolean getExtendContentToTopEdge()Gets whether the content widget can extend behind top bars.- Returns:
- whether content extends behind top bars
-
getRevealBottomBars
public boolean getRevealBottomBars()Gets whether bottom bars are revealed for this ToolbarView.- Returns:
- whether bottom bars are revealed
-
getRevealTopBars
public boolean getRevealTopBars()Gets whether top bars are revealed for this ToolbarView.- Returns:
- whether top bars are revealed
-
getTopBarHeight
public int getTopBarHeight()Gets the current top bar height for this ToolbarView.Top bar height does change depending on
ToolbarView:reveal-top-bars
, including during the transition.See
getBottomBarHeight()
.- Returns:
- the current top bar height
-
getTopBarStyle
Gets appearance of the top bars for this ToolbarView.- Returns:
- top bar style
-
remove
Removes a child from this ToolbarView.- Parameters:
widget
- the child to be removed
-
setBottomBarStyle
Sets appearance of the bottom bars for this ToolbarView.If set to
ADW_TOOLBAR_FLAT
, bottom bars are flat and scrolling content has a subtle undershoot shadow when touching them, same as the.undershoot-bottom
style class. This works well for simple content, e.g.StatusPage
orPreferencesPage
, where the background at the bottom of the page is uniform. Additionally, windows with sidebars should always use this style.Undershoot shadow is only present if a bottom bar is actually present and visible. It is also never present if
ToolbarView:extend-content-to-bottom-edge
is set toTRUE
.If set to
ADW_TOOLBAR_RAISED
, bottom bars have an opaque background and a persistent shadow, this is suitable for content such as utility panes, where some elements are directly adjacent to the bottom bars, orTabView
, where each page can have a different background.ADW_TOOLBAR_RAISED_BORDER
is similar toADW_TOOLBAR_RAISED
, but the shadow is replaced with a more subtle border. This can be useful for applications like image viewers.- Parameters:
style
- bottom bar style
-
setContent
Sets the content widget for this ToolbarView.- Parameters:
content
- the content widget
-
setExtendContentToBottomEdge
public void setExtendContentToBottomEdge(boolean extend) Sets whether the content widget can extend behind bottom bars.This can be used in combination with
ToolbarView:reveal-bottom-bars
to show and hide toolbars in fullscreen.- Parameters:
extend
- whether content extends behind bottom bars
-
setExtendContentToTopEdge
public void setExtendContentToTopEdge(boolean extend) Sets whether the content widget can extend behind top bars.This can be used in combination with
ToolbarView:reveal-top-bars
to show and hide toolbars in fullscreen.- Parameters:
extend
- whether content extends behind top bars
-
setRevealBottomBars
public void setRevealBottomBars(boolean reveal) Sets whether bottom bars are revealed for this ToolbarView.The transition will be animated.
This can be used in combination with
ToolbarView:extend-content-to-bottom-edge
to show and hide toolbars in fullscreen.- Parameters:
reveal
- whether to reveal bottom bars
-
setRevealTopBars
public void setRevealTopBars(boolean reveal) Sets whether top bars are revealed for this ToolbarView.The transition will be animated.
This can be used in combination with
ToolbarView:extend-content-to-top-edge
to show and hide toolbars in fullscreen.- Parameters:
reveal
- whether to reveal top bars
-
setTopBarStyle
Sets appearance of the top bars for this ToolbarView.If set to
ADW_TOOLBAR_FLAT
, top bars are flat and scrolling content has a subtle undershoot shadow when touching them, same as the.undershoot-top
style class. This works well for simple content, e.g.StatusPage
orPreferencesPage
, where the background at the top of the page is uniform. Additionally, windows with sidebars should always use this style.Undershoot shadow is only present if a top bar is actually present and visible. It is also never present if
ToolbarView:extend-content-to-top-edge
is set toTRUE
.If set to
ADW_TOOLBAR_RAISED
, top bars have an opaque background and a persistent shadow, this is suitable for content such as utility panes, where some elements are directly adjacent to the top bars, orTabView
, where each page can have a different background.ADW_TOOLBAR_RAISED_BORDER
is similar toADW_TOOLBAR_RAISED
, but the shadow is replaced with a more subtle border. This can be useful for applications like image viewers.- Parameters:
style
- top bar style
-
builder
AToolbarView.Builder
object constructs aToolbarView
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withToolbarView.Builder.build()
.
-