class Gtk::TreeListModel

Overview

Gtk::TreeListModel is a list model that can create child models on demand.

Included Modules

Defined in:

lib/gi-crystal/src/auto/gtk-4.0/tree_list_model.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gio::ListModel

item(position : UInt32) : GObject::Object? item, item_type : UInt64 item_type, items_changed(position : UInt32, removed : UInt32, added : UInt32) : Nil items_changed, items_changed_signal items_changed_signal, n_items : UInt32 n_items, to_unsafe to_unsafe

Class methods inherited from module Gio::ListModel

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 : UInt32 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(pointer : Pointer(Void), transfer : GICrystal::Transfer)
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(root : Gio::ListModel, passthrough : Bool, autoexpand : Bool, create_func : Gtk::TreeListModelCreateModelFunc) : self #

Creates a new empty Gtk::TreeListModel displaying @root with all rows collapsed.


def self.new #

Initialize a new TreeListModel.


def self.new(*, autoexpand : Bool? = nil, item_type : UInt64? = nil, model : Gio::ListModel? = nil, n_items : UInt32? = nil, passthrough : Bool? = nil) #

Class Method Detail

def self.g_type : UInt64 #

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


Instance Method Detail

def autoexpand : Bool #

Gets whether the model is set to automatically expand new rows that get added.

This can be either rows added by changes to the underlying models or via Gtk::TreeListRow#expanded=.


def autoexpand=(autoexpand : Bool) : Nil #

Sets whether the model should autoexpand.

If set to true, the model will recursively expand all rows that get added to the model. This can be either rows added by changes to the underlying models or via Gtk::TreeListRow#expanded=.


def autoexpand? : Bool #

def child_row(position : UInt32) : Gtk::TreeListRow? #

Gets the row item corresponding to the child at index @position for @self's root model.

If @position is greater than the number of children in the root model, nil is returned.

Do not confuse this function with Gtk::TreeListModel#row.


def item_type : UInt64 #

def model : Gio::ListModel #

Gets the root model that @self was created with.


def n_items : UInt32 #

def passthrough : Bool #

Gets whether the model is passing through original row items.

If this function returns false, the GListModel functions for @self return custom Gtk::TreeListRow objects. You need to call Gtk::TreeListRow#item on these objects to get the original item.

If true, the values of the child models are passed through in their original state. You then need to call Gtk::TreeListModel#row to get the custom Gtk::TreeListRows.


def passthrough=(value : Bool) : Bool #

def passthrough? : Bool #

def row(position : UInt32) : Gtk::TreeListRow? #

Gets the row object for the given row.

If @position is greater than the number of items in @self, nil is returned.

The row object can be used to expand and collapse rows as well as to inspect its position in the tree. See its documentation for details.

This row object is persistent and will refer to the current item as long as the row is present in @self, independent of other rows being added or removed.

If @self is set to not be passthrough, this function is equivalent to calling g_list_model_get_item().

Do not confuse this function with Gtk::TreeListModel#child_row.