class Gtk::TreeListModel

Overview

GtkTreeListModel 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, 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 GtkTreeListModel displaying @root with all rows collapsed.


def self.new #

Initialize a new TreeListModel.


def self.new(*, autoexpand : Bool? = nil, model : Gio::ListModel? = 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, %NULL is returned.

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


def model : Gio::ListModel #

Gets the root model that @self was created with.


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 GtkTreeListRow 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 GtkTreeListRows.


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, %NULL 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.