class Gtk::ListItem

Overview

Used by list widgets to represent items in a Gio::ListModel.

Gtk::ListItem objects are managed by the list widget (with its factory) and cannot be created by applications, but they need to be populated by application code. This is done by calling Gtk::ListItem#child=.

Gtk::ListItem objects exist in 2 stages:

  1. The unbound stage where the listitem is not currently connected to an item in the list. In that case, the Gtk::ListItem#item property is set to NULL.

  2. The bound stage where the listitem references an item from the list. The Gtk::ListItem#item property is not NULL.

Direct Known Subclasses

Defined in:

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

Constructors

Class Method Summary

Instance Method Summary

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

Macros inherited from class GObject::Object

previous_vfunc(*args) previous_vfunc, previous_vfunc!(*args) previous_vfunc!, signal(signature) signal

Constructor Detail

def self.new #

Initialize a new ListItem.


def self.new(*, accessible_description : String | Nil = nil, accessible_label : String | Nil = nil, activatable : Bool | Nil = nil, child : Gtk::Widget | Nil = nil, focusable : Bool | Nil = nil, item : GObject::Object | Nil = nil, position : UInt32 | Nil = nil, selectable : Bool | Nil = nil, selected : Bool | Nil = nil) #

Class Method Detail

def self.g_type : UInt64 #

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


Instance Method Detail

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

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


def accessible_description : String #

Gets the accessible description of self.


def accessible_description=(description : String) : Nil #

Sets the accessible description for the listitem.

The accessible description may be used by e.g. screen readers.


def accessible_description=(value : Nil) : Nil #

Set #accessible_description property to nil.


def accessible_description? : String | Nil #

Same as #accessible_description, but can return nil.


def accessible_label : String #

Gets the accessible label of self.


def accessible_label=(label : String) : Nil #

Sets the accessible label for the listitem.

The accessible label may be used by e.g. screen readers.


def accessible_label=(value : Nil) : Nil #

Set #accessible_label property to nil.


def accessible_label? : String | Nil #

Same as #accessible_label, but can return nil.


def activatable : Bool #

Checks if a listitem has been set to be activatable via Gtk::ListItem#activatable=.


def activatable=(activatable : Bool) : Nil #

Sets self to be activatable.

If an item is activatable, double-clicking on the item, using the Return key or calling Gtk::Widget#activate will activate the item. Activating instructs the containing view to handle activation. Gtk::ListView for example will be emitting the Gtk::ListView::#activate signal.

By default, listitems are activatable.


def activatable? : Bool #

def child : Gtk::Widget | Nil #

Gets the child previously set via Gtk::ListItem#child= or NULL if none was set.


def child=(child : Gtk::Widget | Nil) : Nil #

Sets the child to be used for this listitem.

This function is typically called by applications when setting up a listitem so that the widget can be reused when binding it multiple times.


def focusable : Bool #

Checks if a listitem has been set to be focusable via Gtk::ListItem#focusable=.


def focusable=(focusable : Bool) : Nil #

Sets self to be focusable.

If an item is focusable, it can be focused using the keyboard. This works similar to Gtk::Widget#focusable=.

Note that if items are not focusable, the keyboard cannot be used to activate them and selecting only works if one of the listitem's children is focusable.

By default, listitems are focusable.


def focusable? : Bool #

def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def item : GObject::Object | Nil #

Gets the model item that associated with self.

If self is unbound, this function returns NULL.


def position : UInt32 #

Gets the position in the model that self currently displays.

If self is unbound, GTK_INVALID_LIST_POSITION is returned.


def selectable : Bool #

Checks if a listitem has been set to be selectable via Gtk::ListItem#selectable=.

Do not confuse this function with Gtk::ListItem#selected.


def selectable=(selectable : Bool) : Nil #

Sets self to be selectable.

If an item is selectable, clicking on the item or using the keyboard will try to select or unselect the item. If this succeeds is up to the model to determine, as it is managing the selected state.

Note that this means that making an item non-selectable has no influence on the selected state at all. A non-selectable item may still be selected.

By default, listitems are selectable. When rebinding them to a new item, they will also be reset to be selectable by GTK.


def selectable? : Bool #

def selected : Bool #

Checks if the item is displayed as selected.

The selected state is maintained by the list widget and its model and cannot be set otherwise.


def selected? : Bool #