class Gtk::GridLayout

Overview

GtkGridLayout is a layout manager which arranges child widgets in rows and columns.

Children have an "attach point" defined by the horizontal and vertical index of the cell they occupy; children can span multiple rows or columns. The layout properties for setting the attach points and spans are set using the Gtk#GridLayoutChild associated to each child widget.

The behaviour of GtkGridLayout when several children occupy the same grid cell is undefined.

GtkGridLayout can be used like a GtkBoxLayout if all children are attached to the same row or column; however, if you only ever need a single row or column, you should consider using GtkBoxLayout.

Defined in:

auto/gtk-4.0/grid_layout.cr

Constructors

Class Method Summary

Instance Method Summary

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 #

Creates a new GtkGridLayout.


def self.new(*, baseline_row : Int32? = nil, column_homogeneous : Bool? = nil, column_spacing : Int32? = nil, row_homogeneous : Bool? = nil, row_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_row : Int32 #

Retrieves the row set with gtk_grid_layout_set_baseline_row().


def baseline_row=(row : Int32) : Nil #

Sets which row defines the global baseline for the entire grid.

Each row in the grid can have its own local baseline, but only one of those is global, meaning it will be the baseline in the parent of the @grid.


def column_homogeneous : Bool #

Checks whether all columns of @grid should have the same width.


def column_homogeneous=(homogeneous : Bool) : Nil #

Sets whether all columns of @grid should have the same width.


def column_homogeneous? : Bool #

def column_spacing : UInt32 #

Retrieves the spacing set with gtk_grid_layout_set_column_spacing().


def column_spacing=(value : Int32) : Int32 #

def column_spacing=(spacing : UInt32) : Nil #

Sets the amount of space to insert between consecutive columns.


def row_baseline_position(row : Int32) : Gtk::BaselinePosition #

Returns the baseline position of @row.

If no value has been set with Gtk::GridLayout#row_baseline_position=, the default value of %GTK_BASELINE_POSITION_CENTER is returned.


def row_homogeneous : Bool #

Checks whether all rows of @grid should have the same height.


def row_homogeneous=(homogeneous : Bool) : Nil #

Sets whether all rows of @grid should have the same height.


def row_homogeneous? : Bool #

def row_spacing : UInt32 #

Retrieves the spacing set with gtk_grid_layout_set_row_spacing().


def row_spacing=(value : Int32) : Int32 #

def row_spacing=(spacing : UInt32) : Nil #

Sets the amount of space to insert between consecutive rows.


def set_row_baseline_position(row : Int32, pos : Gtk::BaselinePosition) : Nil #

Sets how the baseline should be positioned on @row of the grid, in case that row is assigned more space than is requested.