BoxRef
public struct BoxRef : BoxProtocol, GWeakCapturing
The GtkBox widget arranges child widgets into a single row or column,
depending upon the value of its GtkOrientable:orientation
property. Within
the other dimension, all children are allocated the same size. Of course,
the GtkWidget:halign
and GtkWidget:valign
properties can be used on
the children to influence their allocation.
GtkBox uses a notion of packing. Packing refers
to adding widgets with reference to a particular position in a
GtkContainer
. For a GtkBox, there are two reference positions: the
start and the end of the box.
For a vertical GtkBox
, the start is defined as the top of the box and
the end is defined as the bottom. For a horizontal GtkBox
the start
is defined as the left side and the end is defined as the right side.
Use repeated calls to gtk_box_pack_start()
to pack widgets into a
GtkBox from start to end. Use gtk_box_pack_end()
to add widgets from
end to start. You may intersperse these calls and add widgets from
both ends of the same GtkBox.
Because GtkBox is a GtkContainer
, you may also use gtk_container_add()
to insert widgets into the box, and they will be packed with the default
values for expand and fill child properties. Use gtk_container_remove()
to remove widgets from the GtkBox.
Use gtk_box_set_homogeneous()
to specify whether or not all children
of the GtkBox are forced to get the same amount of space.
Use gtk_box_set_spacing()
to determine how much space will be
minimally placed between all children in the GtkBox. Note that
spacing is added between the children, while
padding added by gtk_box_pack_start()
or gtk_box_pack_end()
is added
on either side of the widget it belongs to.
Use gtk_box_reorder_child()
to move a GtkBox child to a different
place in the box.
Use gtk_box_set_child_packing()
to reset the expand,
fill and padding child properties.
Use gtk_box_query_child_packing()
to query these fields.
CSS nodes
GtkBox uses a single CSS node with name box.
In horizontal orientation, the nodes of the children are always arranged from left to right. So :first-child will always select the leftmost child, regardless of text direction.
The BoxRef
type acts as a lightweight Swift reference to an underlying GtkBox
instance.
It exposes methods that can operate on this data type through BoxProtocol
conformance.
Use BoxRef
only as an unowned
reference to an existing GtkBox
instance.
-
Untyped pointer to the underlying `GtkBox` instance.
For type-safe access, use the generated, typed pointer
box_ptr
property instead.Declaration
Swift
public let ptr: UnsafeMutableRawPointer!
-
Designated initialiser from the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafeMutablePointer<GtkBox>)
-
Designated initialiser from a constant pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafePointer<GtkBox>)
-
Conditional initialiser from an optional pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafeMutablePointer<GtkBox>?)
-
Conditional initialiser from an optional, non-mutable pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafePointer<GtkBox>?)
-
Conditional initialiser from an optional
gpointer
Declaration
Swift
@inlinable init!(gpointer g: gpointer?)
-
Conditional initialiser from an optional, non-mutable
gconstpointer
Declaration
Swift
@inlinable init!(gconstpointer g: gconstpointer?)
-
Reference intialiser for a related type that implements
BoxProtocol
Declaration
Swift
@inlinable init<T>(_ other: T) where T : BoxProtocol
-
This factory is syntactic sugar for setting weak pointers wrapped in
GWeak<T>
Declaration
Swift
@inlinable static func unowned<T>(_ other: T) -> BoxRef where T : BoxProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
BoxProtocol
.Declaration
Swift
@inlinable init<T>(cPointer: UnsafeMutablePointer<T>)
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
BoxProtocol
.Declaration
Swift
@inlinable init<T>(constPointer: UnsafePointer<T>)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
BoxProtocol
.Declaration
Swift
@inlinable init(mutating raw: UnsafeRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
BoxProtocol
.Declaration
Swift
@inlinable init(raw: UnsafeMutableRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
BoxProtocol
.Declaration
Swift
@inlinable init(opaquePointer: OpaquePointer)
-
Creates a new
GtkBox
.Declaration
Swift
@inlinable init(orientation: GtkOrientation, spacing: Int)