Box
open class Box : Container, BoxProtocol
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 Box
type acts as a reference-counted owner of an underlying GtkBox
instance.
It provides the methods that can operate on this data type through BoxProtocol
conformance.
Use Box
as a strong reference or owner of a GtkBox
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
Box
instance.Declaration
Swift
@inlinable public init(_ op: UnsafeMutablePointer<GtkBox>)
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 theBox
instance.Declaration
Swift
@inlinable public init(_ op: UnsafePointer<GtkBox>)
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 theBox
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 theBox
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 theBox
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafePointer<GtkBox>?)
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 theBox
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafeMutablePointer<GtkBox>?)
Parameters
op
pointer to the underlying object
-
Designated initialiser from the underlying
C
data type. Will retainGtkBox
. i.e., ownership is transferred to theBox
instance.Declaration
Swift
@inlinable public init(retaining op: UnsafeMutablePointer<GtkBox>)
Parameters
op
pointer to the underlying object
-
Reference intialiser for a related type that implements
BoxProtocol
Will retainGtkBox
.Declaration
Swift
@inlinable public init<T>(box other: T) where T : BoxProtocol
Parameters
other
an instance of a related type that implements
BoxProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
BoxProtocol
.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
BoxProtocol
.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
BoxProtocol
.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
BoxProtocol
.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
BoxProtocol
.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
BoxProtocol
.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
BoxProtocol
.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
BoxProtocol
.Declaration
Swift
@inlinable override public init(retainingOpaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Creates a new
GtkBox
.Declaration
Swift
@inlinable public init(orientation: GtkOrientation, spacing: Int)