Package ch.bailu.gtk.adw
Klasse HeaderBar
- Alle implementierten Schnittstellen:
PointerInterface
A title bar widget.
<picture>
<source srcset="header-bar-dark.png" media="(prefers-color-scheme: dark)">
<img src="header-bar.png" alt="header-bar">
</picture>
`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
subnodes 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.
<picture>
<source srcset="header-bar-dark.png" media="(prefers-color-scheme: dark)">
<img src="header-bar.png" alt="header-bar">
</picture>
`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
subnodes 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.
https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.HeaderBar.html
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, Widget.OnDestroyNotify, Widget.OnDirectionChanged, Widget.OnHide, Widget.OnKeynavFailed, Widget.OnMap, Widget.OnMnemonicActivate, Widget.OnMoveFocus, Widget.OnQueryTooltip, Widget.OnRealize, Widget.OnShow, Widget.OnStateFlagsChanged, Widget.OnTickCallback, Widget.OnUnmap, Widget.OnUnrealize
Von Klasse geerbte verschachtelte Klassen/Schnittstellen ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Feldübersicht
Von Klasse geerbte Felder ch.bailu.gtk.gtk.Widget
SIGNAL_ON_DESTROY, SIGNAL_ON_DIRECTION_CHANGED, SIGNAL_ON_HIDE, SIGNAL_ON_KEYNAV_FAILED, SIGNAL_ON_MAP, SIGNAL_ON_MNEMONIC_ACTIVATE, SIGNAL_ON_MOVE_FOCUS, SIGNAL_ON_QUERY_TOOLTIP, SIGNAL_ON_REALIZE, SIGNAL_ON_SHOW, SIGNAL_ON_STATE_FLAGS_CHANGED, SIGNAL_ON_UNMAP, SIGNAL_ON_UNREALIZE
Von Klasse geerbte Felder ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungImplements interfaceAccessible
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.int
Gets the policy for aligning the center widget.static ClassHandler
Gets the decoration layout for @self.static int
static long
static TypeSystem.TypeSize
boolean
Gets whether @self can show the back button.boolean
Gets whether to show title buttons at the end of @self.boolean
Gets whether to show title buttons at the start of @self.boolean
Gets whether the title widget should be shown.Gets the title widget widget of @self.static long
static TypeSystem.TypeSize
void
Adds @child to @self, packed with reference to the end of @self.void
Adds @child to @self, packed with reference to the start of the @self.void
Removes a child from @self.void
setCenteringPolicy
(int centering_policy) Sets the policy for aligning the center widget.void
setDecorationLayout
(Str layout) Sets the decoration layout for @self.void
setDecorationLayout
(String layout) Sets the decoration layout for @self.void
setShowBackButton
(boolean show_back_button) Sets whether @self can show the back button.void
setShowEndTitleButtons
(boolean setting) Sets whether to show title buttons at the end of @self.void
setShowStartTitleButtons
(boolean setting) Sets whether to show title buttons at the start of @self.void
setShowTitle
(boolean show_title) Sets whether the title widget should be shown.void
setTitleWidget
(Widget title_widget) Sets the title widget for @self.Von Klasse geerbte Methoden ch.bailu.gtk.gtk.Widget
actionSetEnabled, actionSetEnabled, activate, activateAction, activateAction, activateActionVariant, activateActionVariant, activateDefault, addController, addCssClass, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, 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, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeCssClass, removeMnemonicLabel, removeTickCallback, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setLimitEvents, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipMarkup, setTooltipText, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, snapshotChild, triggerTooltipQuery, unmap, unparent, unrealize, unsetStateFlags
Von Klasse geerbte Methoden ch.bailu.gtk.type.PropertyHolder
getBooleanProperty, getIntProperty, getObjectProperty, getStringProperty, getStrProperty, setBooleanProperty, setIntProperty, setObjectProperty, setStringProperty, setStrProperty
Von Klasse geerbte Methoden ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Von Klasse geerbte Methoden ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Von Klasse geerbte Methoden ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Von Klasse geerbte Methoden java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Von Schnittstelle geerbte Methoden ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Konstruktordetails
-
HeaderBar
-
HeaderBar
public HeaderBar()Creates a new `AdwHeaderBar`.
-
-
Methodendetails
-
getClassHandler
-
getCenteringPolicy
public int getCenteringPolicy()Gets the policy for aligning the center widget.- Gibt zurück:
- the centering policy
-
getDecorationLayout
Gets the decoration layout for @self.- Gibt zurück:
- the decoration layout
-
getShowBackButton
public boolean getShowBackButton()Gets whether @self can show the back button.- Gibt zurück:
- whether to show the back button
-
getShowEndTitleButtons
public boolean getShowEndTitleButtons()Gets whether to show title buttons at the end of @self.- Gibt zurück:
- `TRUE` if title buttons at the end are shown
-
getShowStartTitleButtons
public boolean getShowStartTitleButtons()Gets whether to show title buttons at the start of @self.- Gibt zurück:
- `TRUE` if title buttons at the start are shown
-
getShowTitle
public boolean getShowTitle()Gets whether the title widget should be shown.- Gibt zurück:
- whether the title widget should be shown.
-
getTitleWidget
Gets the title widget widget of @self.- Gibt zurück:
- the title widget
-
packEnd
Adds @child to @self, packed with reference to the end of @self.- Parameter:
child
- the widget to be added to @self
-
packStart
Adds @child to @self, packed with reference to the start of the @self.- Parameter:
child
- the widget to be added to @self
-
remove
Removes a child from @self.
The child must have been added with [method@HeaderBar.pack_start],
[method@HeaderBar.pack_end] or [property@HeaderBar:title-widget].- Parameter:
child
- the child to remove
-
setCenteringPolicy
public void setCenteringPolicy(int centering_policy) Sets the policy for aligning the center widget.- Parameter:
centering_policy
- the centering policy
-
setDecorationLayout
Sets the decoration layout for @self.
If this property is not set, the
[property@Gtk.Settings:gtk-decoration-layout] setting is used.
The format of the string is button names, separated by commas. A colon
separates the buttons that should appear at the start from those at the end.
Recognized button names are minimize, maximize, close and icon (the window
icon).
For example, “icon:minimize,maximize,close” specifies an icon at the start,
and minimize, maximize and close buttons at the end.- Parameter:
layout
- a decoration layout
-
setDecorationLayout
Sets the decoration layout for @self.
If this property is not set, the
[property@Gtk.Settings:gtk-decoration-layout] setting is used.
The format of the string is button names, separated by commas. A colon
separates the buttons that should appear at the start from those at the end.
Recognized button names are minimize, maximize, close and icon (the window
icon).
For example, “icon:minimize,maximize,close” specifies an icon at the start,
and minimize, maximize and close buttons at the end.- Parameter:
layout
- a decoration layout
-
setShowBackButton
public void setShowBackButton(boolean show_back_button) Sets whether @self can show the back button.
The back button will never be shown unless the header bar is placed inside an
[class@NavigationView]. Usually, there is no reason to set it to `FALSE`.- Parameter:
show_back_button
- whether to show the back button
-
setShowEndTitleButtons
public void setShowEndTitleButtons(boolean setting) Sets whether to show title buttons at the end of @self.
See [property@HeaderBar:show-start-title-buttons] for the other side.
Which buttons are actually shown and where is determined by the
[property@HeaderBar:decoration-layout] property, and by the state of the
window (e.g. a close button will not be shown if the window can't be closed).- Parameter:
setting
- `TRUE` to show standard title buttons
-
setShowStartTitleButtons
public void setShowStartTitleButtons(boolean setting) Sets whether to show title buttons at the start of @self.
See [property@HeaderBar:show-end-title-buttons] for the other side.
Which buttons are actually shown and where is determined by the
[property@HeaderBar:decoration-layout] property, and by the state of the
window (e.g. a close button will not be shown if the window can't be closed).- Parameter:
setting
- `TRUE` to show standard title buttons
-
setShowTitle
public void setShowTitle(boolean show_title) Sets whether the title widget should be shown.- Parameter:
show_title
- whether the title widget is visible
-
setTitleWidget
Sets the title widget for @self.
When set to `NULL`, the header bar will display the title of the window it
is contained in.
To use a different title, use [class@WindowTitle]:
```xml
<object class="AdwHeaderBar">
<property name="title-widget">
<object class="AdwWindowTitle">
<property name="title" translatable="yes">Title</property>
</object>
</property>
</object>
```- Parameter:
title_widget
- a widget to use for a title
-
asAccessible
Implements interfaceAccessible
. Call this to get access to interface functions.- Setzt außer Kraft:
asAccessible
in KlasseWidget
- Gibt zurück:
Accessible
-
asBuildable
Implements interfaceBuildable
. Call this to get access to interface functions.- Setzt außer Kraft:
asBuildable
in KlasseWidget
- Gibt zurück:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget
. Call this to get access to interface functions.- Setzt außer Kraft:
asConstraintTarget
in KlasseWidget
- Gibt zurück:
ConstraintTarget
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-