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 | Nil item, item_type : UInt64 item_type, items_changed(position : UInt32, removed : UInt32, added : UInt32) : Nil
items_changed(position : Int, removed : Int, added : Int) : Nil
items_changed
, items_changed_signal items_changed_signal, n_items : UInt32 n_items, to_unsafe to_unsafe

Constructor methods inherited from module Gio::ListModel

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gio::ListModel

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from class GObject::Object

==(other : self) ==, 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) | Nil data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, hash(hasher) hash, 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) | Nil qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void) | Nil) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void) | Nil steal_data, steal_qdata(quark : UInt32) : Pointer(Void) | Nil 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, 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

cast?(obj : GObject::Object) : self | Nil cast?, compat_control(what : UInt64, data : Pointer(Void) | Nil) : 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.


[View source]
def self.new #

Initialize a new TreeListModel.


[View source]
def self.new(*, autoexpand : Bool | Nil = nil, model : Gio::ListModel | Nil = nil, passthrough : Bool | Nil = nil) #

[View source]

Class Method Detail

def self.g_type : UInt64 #

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


[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


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=.


[View source]
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=.


[View source]
def autoexpand? : Bool #

[View source]
def child_row(position : UInt32) : Gtk::TreeListRow | Nil #

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.


[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def model : Gio::ListModel #

Gets the root model that self was created with.


[View source]
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.


[View source]
def passthrough=(value : Bool) : Bool #

[View source]
def passthrough? : Bool #

[View source]
def row(position : UInt32) : Gtk::TreeListRow | Nil #

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.


[View source]