class Gtk::BoxLayout

Overview

GtkBoxLayout is a layout manager that arranges children in a single row or column.

Whether it is a row or column depends on the value of its Gtk::Orientable#orientation property. Within the other dimension all children all allocated the same size. The GtkBoxLayout will respect the Gtk::Widget#halign and Gtk::Widget#valign properties of each child widget.

If you want all children to be assigned the same size, you can use the Gtk::BoxLayout#homogeneous property.

If you want to specify the amount of space placed between each child, you can use the Gtk::BoxLayout#spacing property.

Included Modules

Defined in:

auto/gtk-4.0/box_layout.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gtk::Orientable

orientation : Gtk::Orientation orientation, orientation=(orientation : Gtk::Orientation) : Nil orientation=, to_unsafe to_unsafe

Instance methods inherited from class Gtk::LayoutManager

allocate(widget : Gtk::Widget, width : Int32, height : Int32, baseline : Int32) : Nil allocate, layout_changed : Nil layout_changed, layout_child(child : Gtk::Widget) : Gtk::LayoutChild layout_child, measure(widget : Gtk::Widget, orientation : Gtk::Orientation, for_size : Int32) : Nil measure, request_mode : Gtk::SizeRequestMode request_mode, widget : Gtk::Widget? widget

Constructor methods inherited from class Gtk::LayoutManager

new new

Class methods inherited from class Gtk::LayoutManager

g_type : UInt64 g_type

Instance methods inherited from class GObject::Object

bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void)? data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void)? qdata, ref_count ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void)?) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void)? steal_data, steal_qdata(quark : UInt32) : Pointer(Void)? steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, cast?(obj : GObject::Object) : self? cast?, new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

compat_control(what : UInt64, data : Pointer(Void)?) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Constructor Detail

def self.new(orientation : Gtk::Orientation) #

Creates a new GtkBoxLayout.


def self.new #

Initialize a new BoxLayout.


def self.new(*, baseline_position : Gtk::BaselinePosition? = nil, homogeneous : Bool? = nil, orientation : Gtk::Orientation? = nil, spacing : Int32? = nil) #

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


Instance Method Detail

def baseline_position : Gtk::BaselinePosition #

Gets the value set by gtk_box_layout_set_baseline_position().


def baseline_position=(position : Gtk::BaselinePosition) : Nil #

Sets the baseline position of a box layout.

The baseline position affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then the given @position is used to allocate the baseline within the extra space available.


def homogeneous : Bool #

Returns whether the layout is set to be homogeneous.


def homogeneous=(homogeneous : Bool) : Nil #

Sets whether the box layout will allocate the same size to all children.


def homogeneous? : Bool #

def spacing : UInt32 #

Returns the space that @box_layout puts between children.


def spacing=(value : Int32) : Int32 #

def spacing=(spacing : UInt32) : Nil #

Sets how much spacing to put between children.