Stack
open class Stack : Widget, StackProtocol
GtkStack
is a container which only shows one of its children
at a time.
In contrast to GtkNotebook
, GtkStack
does not provide a means
for users to change the visible child. Instead, a separate widget
such as [classGtk.StackSwitcher
] or [classGtk.StackSidebar
] can
be used with GtkStack
to provide this functionality.
Transitions between pages can be animated as slides or fades. This
can be controlled with [methodGtk.Stack.set_transition_type
].
These animations respect the [propertyGtk.Settings:gtk-enable-animations
]
setting.
GtkStack
maintains a [classGtk.StackPage
] object for each added
child, which holds additional per-child properties. You
obtain the GtkStackPage
for a child with [methodGtk.Stack.get_page
]
and you can obtain a GtkSelectionModel
containing all the pages
with [methodGtk.Stack.get_pages
].
GtkStack as GtkBuildable
To set child-specific properties in a .ui file, create GtkStackPage
objects explicitly, and set the child widget as a property on it:
<object class="GtkStack" id="stack">
<child>
<object class="GtkStackPage">
<property name="name">page1</property>
<property name="title">In the beginning…</property>
<property name="child">
<object class="GtkLabel">
<property name="label">It was dark</property>
</object>
</property>
</object>
</child>
CSS nodes
GtkStack
has a single CSS node named stack.
Accessibility
GtkStack
uses the GTK_ACCESSIBLE_ROLE_TAB_PANEL
for the stack
pages, which are the accessible parent objects of the child widgets.
The Stack
type acts as a reference-counted owner of an underlying GtkStack
instance.
It provides the methods that can operate on this data type through StackProtocol
conformance.
Use Stack
as a strong reference or owner of a GtkStack
instance.
-
Designated initialiser from the underlying `C` data type.
This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the
Stack
instance.Declaration
Swift
@inlinable public init(_ op: UnsafeMutablePointer<GtkStack>)
Parameters
op
pointer to the underlying object
-
Designated initialiser from a constant pointer to the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theStack
instance.Declaration
Swift
@inlinable public init(_ op: UnsafePointer<GtkStack>)
Parameters
op
pointer to the underlying object
-
Optional initialiser from a non-mutating
gpointer
to the underlyingC
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theStack
instance.Declaration
Swift
@inlinable override public init!(gpointer op: gpointer?)
Parameters
op
gpointer to the underlying object
-
Optional initialiser from a non-mutating
gconstpointer
to the underlyingC
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theStack
instance.Declaration
Swift
@inlinable override public init!(gconstpointer op: gconstpointer?)
Parameters
op
pointer to the underlying object
-
Optional initialiser from a constant pointer to the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theStack
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafePointer<GtkStack>?)
Parameters
op
pointer to the underlying object
-
Optional initialiser from the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theStack
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafeMutablePointer<GtkStack>?)
Parameters
op
pointer to the underlying object
-
Designated initialiser from the underlying
C
data type. Will retainGtkStack
. i.e., ownership is transferred to theStack
instance.Declaration
Swift
@inlinable public init(retaining op: UnsafeMutablePointer<GtkStack>)
Parameters
op
pointer to the underlying object
-
Reference intialiser for a related type that implements
StackProtocol
Will retainGtkStack
.Declaration
Swift
@inlinable public init<T>(stack other: T) where T : StackProtocol
Parameters
other
an instance of a related type that implements
StackProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
StackProtocol
.Declaration
Swift
@inlinable override public init<T>(cPointer p: UnsafeMutablePointer<T>)
Parameters
cPointer
pointer to the underlying object
-
Unsafe typed, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
StackProtocol
.Declaration
Swift
@inlinable override public init<T>(retainingCPointer cPointer: UnsafeMutablePointer<T>)
Parameters
cPointer
pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
StackProtocol
.Declaration
Swift
@inlinable override public init(raw p: UnsafeRawPointer)
Parameters
p
raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
StackProtocol
.Declaration
Swift
@inlinable override public init(retainingRaw raw: UnsafeRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
StackProtocol
.Declaration
Swift
@inlinable public required init(raw p: UnsafeMutableRawPointer)
Parameters
p
mutable raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
StackProtocol
.Declaration
Swift
@inlinable required public init(retainingRaw raw: UnsafeMutableRawPointer)
Parameters
raw
mutable raw pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
StackProtocol
.Declaration
Swift
@inlinable override public init(opaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
StackProtocol
.Declaration
Swift
@inlinable override public init(retainingOpaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Creates a new
GtkStack
.Declaration
Swift
@inlinable public init()