ToolbarView

Added in version 1.4.

class ToolbarView(**properties: Any)

Superclasses: Widget, InitiallyUnowned, Object

Implemented Interfaces: Accessible, Buildable, ConstraintTarget

A widget containing a page, as well as top and/or bottom bars.

https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/toolbar-view.png

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:

By default, top and bottom bars are flat and scrolling content has a subtle undershoot shadow, same as when using the `.undershoot-top <style-classes.html#undershoot-indicators>`_ and `.undershoot-bottom <style-classes.html#undershoot-indicators>`_ 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.

top_bar_style and 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.

<picture style=”min-width: 33%; display: inline-block;”>

<source srcset=”toolbar-view-flat-1-dark.png” media=”(prefers-color-scheme: dark)”> <img src=”toolbar-view-flat-1.png” alt=”toolbar-view-flat-1”>

<picture style=”min-width: 33%; display: inline-block;”>

<source srcset=”toolbar-view-flat-2-dark.png” media=”(prefers-color-scheme: dark)”> <img src=”toolbar-view-flat-2.png” alt=”toolbar-view-flat-2”>

<picture style=”min-width: 33%; display: inline-block;”>

<source srcset=”toolbar-view-raised-dark.png” media=”(prefers-color-scheme: dark)”> <img src=”toolbar-view-raised.png” alt=”toolbar-view-raised”>

AdwToolbarView ensures the top and bottom bars have consistent backdrop styles and vertical spacing. For comparison:

<picture style=”min-width: 40%; display: inline-block;”>

<source srcset=”toolbar-view-spacing-dark.png” media=”(prefers-color-scheme: dark)”> <img src=”toolbar-view-spacing.png” alt=”toolbar-view-spacing”>

<picture style=”min-width: 40%; display: inline-block;”>

<source srcset=”toolbar-view-spacing-box-dark.png” media=”(prefers-color-scheme: dark)”> <img src=”toolbar-view-spacing-box.png” alt=”toolbar-view-spacing-box”>

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 extend_content_to_top_edge and extend_content_to_bottom_edge properties.

Top and bottom bars can be hidden and revealed with an animation using the reveal_top_bars and 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.

Constructors

class ToolbarView
classmethod new() Widget

Creates a new AdwToolbarView.

Added in version 1.4.

Methods

class ToolbarView
add_bottom_bar(widget: Widget) None

Adds a bottom bar to self.

Added in version 1.4.

Parameters:

widget – a widget

add_top_bar(widget: Widget) None

Adds a top bar to self.

Added in version 1.4.

Parameters:

widget – a widget

get_bottom_bar_height() int

Gets the current bottom bar height for self.

Bottom bar height does change depending on reveal_bottom_bars, including during the transition.

See get_top_bar_height.

Added in version 1.4.

get_bottom_bar_style() ToolbarStyle

Gets appearance of the botom bars for self.

Added in version 1.4.

get_content() Widget | None

Gets the content widget for self.

Added in version 1.4.

get_extend_content_to_bottom_edge() bool

Gets whether the content widget can extend behind bottom bars.

Added in version 1.4.

get_extend_content_to_top_edge() bool

Gets whether the content widget can extend behind top bars.

Added in version 1.4.

get_reveal_bottom_bars() bool

Gets whether bottom bars are revealed for self.

Added in version 1.4.

get_reveal_top_bars() bool

Gets whether top bars are revealed for self.

Added in version 1.4.

get_top_bar_height() int

Gets the current top bar height for self.

Top bar height does change depending on reveal_top_bars, including during the transition.

See get_bottom_bar_height.

Added in version 1.4.

get_top_bar_style() ToolbarStyle

Gets appearance of the top bars for self.

Added in version 1.4.

remove(widget: Widget) None

Removes a child from self.

Added in version 1.4.

Parameters:

widget – the child to be removed

set_bottom_bar_style(style: ToolbarStyle) None

Sets appearance of the bottom bars for self.

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-classes.html#undershoot-indicators>`_ style class. This works well for simple content, e.g. StatusPage or PreferencesPage, 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 extend_content_to_bottom_edge is set to TRUE.

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, or TabView, where each page can have a different background.

ADW_TOOLBAR_RAISED_BORDER is similar to ADW_TOOLBAR_RAISED, but the shadow is replaced with a more subtle border. This can be useful for applications like image viewers.

See also set_top_bar_style.

Added in version 1.4.

Parameters:

style – bottom bar style

set_content(content: Widget | None = None) None

Sets the content widget for self.

Added in version 1.4.

Parameters:

content – the content widget

set_extend_content_to_bottom_edge(extend: bool) None

Sets whether the content widget can extend behind bottom bars.

This can be used in combination with reveal_bottom_bars to show and hide toolbars in fullscreen.

See set_extend_content_to_top_edge.

Added in version 1.4.

Parameters:

extend – whether content extends behind bottom bars

set_extend_content_to_top_edge(extend: bool) None

Sets whether the content widget can extend behind top bars.

This can be used in combination with reveal_top_bars to show and hide toolbars in fullscreen.

See set_extend_content_to_bottom_edge.

Added in version 1.4.

Parameters:

extend – whether content extends behind top bars

set_reveal_bottom_bars(reveal: bool) None

Sets whether bottom bars are revealed for self.

The transition will be animated.

This can be used in combination with extend_content_to_bottom_edge to show and hide toolbars in fullscreen.

See set_reveal_top_bars.

Added in version 1.4.

Parameters:

reveal – whether to reveal bottom bars

set_reveal_top_bars(reveal: bool) None

Sets whether top bars are revealed for self.

The transition will be animated.

This can be used in combination with extend_content_to_top_edge to show and hide toolbars in fullscreen.

See set_reveal_bottom_bars.

Added in version 1.4.

Parameters:

reveal – whether to reveal top bars

set_top_bar_style(style: ToolbarStyle) None

Sets appearance of the top bars for self.

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-classes.html#undershoot-indicators>`_ style class. This works well for simple content, e.g. StatusPage or PreferencesPage, 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 extend_content_to_top_edge is set to TRUE.

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, or TabView, where each page can have a different background.

ADW_TOOLBAR_RAISED_BORDER is similar to ADW_TOOLBAR_RAISED, but the shadow is replaced with a more subtle border. This can be useful for applications like image viewers.

See also set_bottom_bar_style.

Added in version 1.4.

Parameters:

style – top bar style

Properties

class ToolbarView
props.bottom_bar_height: int

The current bottom bar height.

Bottom bar height does change depending on reveal_bottom_bars, including during the transition.

See top_bar_height.

Added in version 1.4.

props.bottom_bar_style: ToolbarStyle

Appearance of the bottom bars.

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-classes.html#undershoot-indicators>`_ style class. This works well for simple content, e.g. StatusPage or PreferencesPage, 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 extend_content_to_bottom_edge is set to TRUE.

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, or TabView, where each page can have a different background.

ADW_TOOLBAR_RAISED_BORDER is similar to ADW_TOOLBAR_RAISED, but the shadow is replaced with a more subtle border. This can be useful for applications like image viewers.

See also top_bar_style.

Added in version 1.4.

props.content: Widget

The content widget.

Added in version 1.4.

props.extend_content_to_bottom_edge: bool

Whether the content widget can extend behind bottom bars.

This can be used in combination with reveal_bottom_bars to show and hide toolbars in fullscreen.

See extend_content_to_top_edge.

Added in version 1.4.

props.extend_content_to_top_edge: bool

Whether the content widget can extend behind top bars.

This can be used in combination with reveal_top_bars to show and hide toolbars in fullscreen.

See extend_content_to_bottom_edge.

Added in version 1.4.

props.reveal_bottom_bars: bool

Whether bottom bars are visible.

The transition will be animated.

This can be used in combination with extend_content_to_bottom_edge to show and hide toolbars in fullscreen.

See reveal_top_bars.

Added in version 1.4.

props.reveal_top_bars: bool

Whether top bars are revealed.

The transition will be animated.

This can be used in combination with extend_content_to_top_edge to show and hide toolbars in fullscreen.

See reveal_bottom_bars.

Added in version 1.4.

props.top_bar_height: int

The current top bar height.

Top bar height does change depending reveal_top_bars, including during the transition.

See bottom_bar_height.

Added in version 1.4.

props.top_bar_style: ToolbarStyle

Appearance of the top bars.

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-classes.html#undershoot-indicators>`_ style class. This works well for simple content, e.g. StatusPage or PreferencesPage, 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 extend_content_to_top_edge is set to TRUE.

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, or TabView, where each page can have a different background.

ADW_TOOLBAR_RAISED_BORDER is similar to ADW_TOOLBAR_RAISED, but the shadow is replaced with a more subtle border. This can be useful for applications like image viewers.

See also bottom_bar_style.

Added in version 1.4.