HeaderBar

class HeaderBar(pointer: <Error class: unknown class><<Error class: unknown class>>)

A title bar widget.

header-bar

AdwHeaderBar is similar to class@Gtk.HeaderBar, but provides additional features compared to it. Refer to GtkHeaderBar for details. It is typically used as a top bar within class@ToolbarView.

Dialog Integration

When placed inside an class@Dialog, AdwHeaderBar will display the dialog title instead of window title. It will also adjust the decoration layout to ensure it always has a close button and nothing else. Set property@HeaderBar:show-start-title-buttons and property@HeaderBar:show-end-title-buttons to FALSE to remove it if it's unwanted.

Navigation View Integration

When placed inside an class@NavigationPage, AdwHeaderBar will display the page title instead of window title.

When used together with class@NavigationView or class@NavigationSplitView, it will also display a back button that can be used to go back to the previous page. The button also has a context menu, allowing to pop multiple pages at once, potentially across multiple navigation views.

Set property@HeaderBar:show-back-button to FALSE to disable this behavior in rare scenarios where it's unwanted.

Split View Integration

When placed inside class@NavigationSplitView or class@OverlaySplitView, AdwHeaderBar will automatically hide the title buttons other than at the edges of the window.

Bottom Sheet Integration

When played inside class@BottomSheet, AdwHeaderBar will not show the title unless property@BottomSheet:show-drag-handle is set to FALSE, regardless of property@HeaderBar:show-title. This only applies to the default title, titles set with property@HeaderBar:title-widget will still be shown.

Centering Policy

property@HeaderBar:centering-policy allows to enforce strict centering of the title widget. This can be useful for entries inside class@Clamp.

Title Buttons

Unlike GtkHeaderBar, AdwHeaderBar allows to toggle title button visibility for each side individually, using the property@HeaderBar:show-start-title-buttons and property@HeaderBar:show-end-title-buttons properties.

CSS nodes

headerbar
╰── windowhandle
╰── box
├── widget
│ ╰── box.start
│ ├── windowcontrols.start
│ ├── widget
│ │ ╰── [button.back]
│ ╰── [other children]
├── widget
│ ╰── [Title Widget]
╰── widget
╰── box.end
├── [other children]
╰── windowcontrols.end

AdwHeaderBar's CSS node is called headerbar. It contains a windowhandle subnode, which contains a box subnode, which contains three widget subnodes at the start, center and end of the header bar. The start and end subnotes contain a box subnode with the .start and .end style classes respectively, and the center node contains a node that represents the title.

Each of the boxes contains a windowcontrols subnode, see class@Gtk.WindowControls for details, as well as other children.

When property@HeaderBar:show-back-button is TRUE, the start box also contains a node with the name widget that contains a node with the name button and .back style class.

Accessibility

AdwHeaderBar uses the GTK_ACCESSIBLE_ROLE_GROUP role.

Constructors

Link copied to clipboard
constructor()

Creates a new AdwHeaderBar.

constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val adwHeaderBarPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard

The policy for aligning the center widget.

Link copied to clipboard

The decoration layout for buttons.

Link copied to clipboard
open val gtkAccessiblePointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open val gtkBuildablePointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open val gtkConstraintTargetPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard

Whether the header bar can show the back button.

Link copied to clipboard

Whether to show title buttons at the end of the header bar.

Link copied to clipboard

Whether to show title buttons at the start of the header bar.

Link copied to clipboard

Whether the title widget should be shown.

Link copied to clipboard
var titleWidget: <Error class: unknown class>?

The title widget to display.

Functions

Link copied to clipboard

Gets the policy for aligning the center widget.

Link copied to clipboard

Gets the decoration layout for @self.

Link copied to clipboard

Gets whether @self can show the back button.

Link copied to clipboard

Gets whether to show title buttons at the end of @self.

Link copied to clipboard

Gets whether to show title buttons at the start of @self.

Link copied to clipboard

Gets whether the title widget should be shown.

Link copied to clipboard
fun getTitleWidget(): <Error class: unknown class>?

Gets the title widget widget of @self.

Link copied to clipboard
fun packEnd(child: <Error class: unknown class>)

Adds @child to @self, packed with reference to the end of @self.

Link copied to clipboard
fun packStart(child: <Error class: unknown class>)

Adds @child to @self, packed with reference to the start of the @self.

Link copied to clipboard
fun remove(child: <Error class: unknown class>)

Removes a child from @self.

Link copied to clipboard
fun setCenteringPolicy(centeringPolicy: CenteringPolicy)

Sets the policy for aligning the center widget.

Link copied to clipboard
fun setDecorationLayout(layout: String? = null)

Sets the decoration layout for @self.

Link copied to clipboard
fun setShowBackButton(showBackButton: Boolean)

Sets whether @self can show the back button.

Link copied to clipboard

Sets whether to show title buttons at the end of @self.

Link copied to clipboard

Sets whether to show title buttons at the start of @self.

Link copied to clipboard
fun setShowTitle(showTitle: Boolean)

Sets whether the title widget should be shown.

Link copied to clipboard
fun setTitleWidget(titleWidget: <Error class: unknown class>? = null)

Sets the title widget for @self.