Package ch.bailu.gtk.adw
Class ViewStack
- All Implemented Interfaces:
PointerInterface
A view container for [class@ViewSwitcher].
`AdwViewStack` is a container which only shows one page at a time.
It is typically used to hold an application's main views.
It doesn't provide a way to transition between pages.
Instead, a separate widget such as [class@ViewSwitcher] can be used with
`AdwViewStack` to provide this functionality.
`AdwViewStack` pages can have a title, an icon, an attention request, and a
numbered badge that [class@ViewSwitcher] will use to let users identify which
page is which. Set them using the [property@ViewStackPage:title],
[property@ViewStackPage:icon-name],
[property@ViewStackPage:needs-attention], and
[property@ViewStackPage:badge-number] properties.
Unlike [class@Gtk.Stack], transitions between views are not animated.
`AdwViewStack` maintains a [class@ViewStackPage] object for each added child,
which holds additional per-child properties. You obtain the
[class@ViewStackPage] for a child with [method@ViewStack.get_page] and you
can obtain a [iface@Gtk.SelectionModel] containing all the pages with
[method@ViewStack.get_pages].
## AdwViewStack as GtkBuildable
To set child-specific properties in a .ui file, create
[class@ViewStackPage] objects explicitly, and set the child widget as a
property on it:
```xml
<object class="AdwViewStack" id="stack">
<child>
<object class="AdwViewStackPage">
<property name="name">overview</property>
<property name="title">Overview</property>
<property name="child">
<object class="AdwStatusPage">
<property name="title">Welcome!</property>
</object>
</property>
</object>
</child>
</object>
```
## CSS nodes
`AdwViewStack` has a single CSS node named `stack`.
`AdwViewStack` is a container which only shows one page at a time.
It is typically used to hold an application's main views.
It doesn't provide a way to transition between pages.
Instead, a separate widget such as [class@ViewSwitcher] can be used with
`AdwViewStack` to provide this functionality.
`AdwViewStack` pages can have a title, an icon, an attention request, and a
numbered badge that [class@ViewSwitcher] will use to let users identify which
page is which. Set them using the [property@ViewStackPage:title],
[property@ViewStackPage:icon-name],
[property@ViewStackPage:needs-attention], and
[property@ViewStackPage:badge-number] properties.
Unlike [class@Gtk.Stack], transitions between views are not animated.
`AdwViewStack` maintains a [class@ViewStackPage] object for each added child,
which holds additional per-child properties. You obtain the
[class@ViewStackPage] for a child with [method@ViewStack.get_page] and you
can obtain a [iface@Gtk.SelectionModel] containing all the pages with
[method@ViewStack.get_pages].
## AdwViewStack as GtkBuildable
To set child-specific properties in a .ui file, create
[class@ViewStackPage] objects explicitly, and set the child widget as a
property on it:
```xml
<object class="AdwViewStack" id="stack">
<child>
<object class="AdwViewStackPage">
<property name="name">overview</property>
<property name="title">Overview</property>
<property name="child">
<object class="AdwStatusPage">
<property name="title">Welcome!</property>
</object>
</property>
</object>
</child>
</object>
```
## CSS nodes
`AdwViewStack` has a single CSS node named `stack`.
https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ViewStack.html
-
Nested Class Summary
Nested classes/interfaces inherited from class 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
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class 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
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionAdds a child to @self.Adds a child to @self.Adds a child to @self.Adds a child to @self.Adds a child to @self.addTitledWithIcon
(Widget child, Str name, Str title, Str icon_name) Adds a child to @self.addTitledWithIcon
(Widget child, String name, String title, String icon_name) Adds a child to @self.Implements interfaceAccessible
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.getChildByName
(Str name) Finds the child with @name in @self.getChildByName
(String name) Finds the child with @name in @self.static ClassHandler
boolean
Gets whether @self is horizontally homogeneous.static int
Gets the [class@ViewStackPage] object for @child.getPages()
Returns a [iface@Gio.ListModel] that contains the pages of the stack.static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
boolean
Gets whether @self is vertically homogeneous.Gets the currently visible child of @self, .Returns the name of the currently visible child of @self.void
Removes a child widget from @self.void
setHhomogeneous
(boolean hhomogeneous) Sets @self to be horizontally homogeneous or not.void
setVhomogeneous
(boolean vhomogeneous) Sets @self to be vertically homogeneous or not.void
setVisibleChild
(Widget child) Makes @child the visible child of @self.void
setVisibleChildName
(Str name) Makes the child with @name visible.void
setVisibleChildName
(String name) Makes the child with @name visible.Methods inherited from class 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, getCanFocus, getCanTarget, getChildVisible, getClipboard, 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, 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, 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
Methods inherited from class 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
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
ViewStack
-
ViewStack
public ViewStack()Creates a new `AdwViewStack`.
-
-
Method Details
-
getClassHandler
-
add
Adds a child to @self.- Parameters:
child
- the widget to add- Returns:
- the [class@ViewStackPage] for @child
-
addNamed
Adds a child to @self.
The child is identified by the @name.- Parameters:
child
- the widget to addname
- the name for @child- Returns:
- the `AdwViewStackPage` for @child
-
addNamed
Adds a child to @self.
The child is identified by the @name.- Parameters:
child
- the widget to addname
- the name for @child- Returns:
- the `AdwViewStackPage` for @child
-
addTitled
Adds a child to @self.
The child is identified by the @name. The @title will be used by
[class@ViewSwitcher] to represent @child, so it should be short.- Parameters:
child
- the widget to addname
- the name for @childtitle
- a human-readable title for @child- Returns:
- the `AdwViewStackPage` for @child
-
addTitled
Adds a child to @self.
The child is identified by the @name. The @title will be used by
[class@ViewSwitcher] to represent @child, so it should be short.- Parameters:
child
- the widget to addname
- the name for @childtitle
- a human-readable title for @child- Returns:
- the `AdwViewStackPage` for @child
-
addTitledWithIcon
public ViewStackPage addTitledWithIcon(@Nonnull Widget child, @Nullable Str name, @Nonnull Str title, @Nonnull Str icon_name) Adds a child to @self.
The child is identified by the @name. The @title and @icon_name will be used
by [class@ViewSwitcher] to represent @child.- Parameters:
child
- the widget to addname
- the name for @childtitle
- a human-readable title for @childicon_name
- an icon name for @child- Returns:
- the `AdwViewStackPage` for @child
-
addTitledWithIcon
public ViewStackPage addTitledWithIcon(@Nonnull Widget child, String name, String title, String icon_name) Adds a child to @self.
The child is identified by the @name. The @title and @icon_name will be used
by [class@ViewSwitcher] to represent @child.- Parameters:
child
- the widget to addname
- the name for @childtitle
- a human-readable title for @childicon_name
- an icon name for @child- Returns:
- the `AdwViewStackPage` for @child
-
getChildByName
Finds the child with @name in @self.- Parameters:
name
- the name of the child to find- Returns:
- the requested child
-
getChildByName
Finds the child with @name in @self.- Parameters:
name
- the name of the child to find- Returns:
- the requested child
-
getHhomogeneous
public boolean getHhomogeneous()Gets whether @self is horizontally homogeneous.- Returns:
- whether @self is horizontally homogeneous
-
getPage
Gets the [class@ViewStackPage] object for @child.- Parameters:
child
- a child of @self- Returns:
- the page object for @child
-
getPages
Returns a [iface@Gio.ListModel] that contains the pages of the stack.
This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the visible
page.- Returns:
- a `GtkSelectionModel` for the stack's children
-
getVhomogeneous
public boolean getVhomogeneous()Gets whether @self is vertically homogeneous.- Returns:
- whether @self is vertically homogeneous
-
getVisibleChild
Gets the currently visible child of @self, .- Returns:
- the visible child
-
getVisibleChildName
Returns the name of the currently visible child of @self.- Returns:
- the name of the visible child
-
remove
Removes a child widget from @self.- Parameters:
child
- the child to remove
-
setHhomogeneous
public void setHhomogeneous(boolean hhomogeneous) Sets @self to be horizontally homogeneous or not.
If the stack is horizontally homogeneous, it allocates the same width for
all children.
If it's `FALSE`, the stack may change width when a different child becomes
visible.- Parameters:
hhomogeneous
- whether to make @self horizontally homogeneous
-
setVhomogeneous
public void setVhomogeneous(boolean vhomogeneous) Sets @self to be vertically homogeneous or not.
If the stack is vertically homogeneous, it allocates the same height for
all children.
If it's `FALSE`, the stack may change height when a different child becomes
visible.- Parameters:
vhomogeneous
- whether to make @self vertically homogeneous
-
setVisibleChild
Makes @child the visible child of @self.- Parameters:
child
- a child of @self
-
setVisibleChildName
Makes the child with @name visible.
See [property@ViewStack:visible-child].- Parameters:
name
- the name of the child
-
setVisibleChildName
Makes the child with @name visible.
See [property@ViewStack:visible-child].- Parameters:
name
- the name of the child
-
asAccessible
Implements interfaceAccessible
. Call this to get access to interface functions.- Overrides:
asAccessible
in classWidget
- Returns:
Accessible
-
asBuildable
Implements interfaceBuildable
. Call this to get access to interface functions.- Overrides:
asBuildable
in classWidget
- Returns:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget
. Call this to get access to interface functions.- Overrides:
asConstraintTarget
in classWidget
- Returns:
ConstraintTarget
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-