gtkmm 4.14.0
Public Member Functions | Static Public Member Functions | Related Functions | List of all members
Gtk::ListItem Class Reference

Object used to represent items of a list model. More...

#include <gtkmm/listitem.h>

Inheritance diagram for Gtk::ListItem:
Inheritance graph
[legend]

Public Member Functions

 ListItem (ListItem && src) noexcept
 
ListItemoperator= (ListItem && src) noexcept
 
 ~ListItem () noexcept override
 
GtkListItem * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkListItem * gobj () const
 Provides access to the underlying C GObject. More...
 
GtkListItem * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
Glib::RefPtr< Glib::ObjectBase > get_item ()
 Gets the model item that associated with self. More...
 
Glib::RefPtr< const Glib::ObjectBase > get_item () const
 Gets the model item that associated with self. More...
 
guint get_position () const
 Gets the position in the model that self currently displays. More...
 
bool get_selected () const
 Checks if the item is displayed as selected. More...
 
bool get_selectable () const
 Checks if a list item has been set to be selectable via set_selectable(). More...
 
void set_selectable (bool selectable=true)
 Sets self to be selectable. More...
 
bool get_activatable () const
 Checks if a list item has been set to be activatable via set_activatable(). More...
 
void set_activatable (bool activatable=true)
 Sets self to be activatable. More...
 
bool get_focusable () const
 Checks if a list item has been set to be focusable via set_focusable(). More...
 
void set_focusable (bool focusable=true)
 Sets self to be focusable. More...
 
void set_child (Widget & child)
 Sets the child to be used for this listitem. More...
 
void unset_child ()
 
Widgetget_child ()
 Gets the child previously set via set_child() or nullptr if none was set. More...
 
const Widgetget_child () const
 Gets the child previously set via set_child() or nullptr if none was set. More...
 
void gtk_set_accessible_description (const Glib::ustring & description)
 Sets the accessible description for the list item, which may be used by e.g. screen readers. More...
 
Glib::ustring get_accessible_description () const
 Gets the accessible description of self. More...
 
void gtk_set_accessible_label (const Glib::ustring & label)
 Sets the accessible label for the list item, which may be used by e.g. screen readers. More...
 
Glib::ustring get_accessible_label () const
 Gets the accessible label of self. More...
 
Glib::PropertyProxy< Glib::ustring > property_accessible_description ()
 The accessible description to set on the list item. More...
 
Glib::PropertyProxy_ReadOnly< Glib::ustring > property_accessible_description () const
 The accessible description to set on the list item. More...
 
Glib::PropertyProxy< Glib::ustring > property_accessible_label ()
 The accessible label to set on the list item. More...
 
Glib::PropertyProxy_ReadOnly< Glib::ustring > property_accessible_label () const
 The accessible label to set on the list item. More...
 
Glib::PropertyProxy< bool > property_activatable ()
 If the item can be activated by the user. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_activatable () const
 If the item can be activated by the user. More...
 
Glib::PropertyProxy< Widget * > property_child ()
 Widget used for display. More...
 
Glib::PropertyProxy_ReadOnly< Widget * > property_child () const
 Widget used for display. More...
 
Glib::PropertyProxy< bool > property_focusable ()
 If the item can be focused with the keyboard. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_focusable () const
 If the item can be focused with the keyboard. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Glib::ObjectBase > > property_item () const
 Displayed item. More...
 
Glib::PropertyProxy_ReadOnly< guint > property_position () const
 Position of the item. More...
 
Glib::PropertyProxy< bool > property_selectable ()
 If the item can be selected by the user. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_selectable () const
 If the item can be selected by the user. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_selected () const
 If the item is currently selected. More...
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gtk::ListItemwrap (GtkListItem * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

Object used to represent items of a list model.

Gtk::ListItem is the object that list-handling containers such as Gtk::ListView use to represent items in a Gio::ListModel. They are managed by the container and cannot be created by application code.

Gtk::ListItems need to be populated by application code. This is done by calling set_child().

Gtk::ListItems exist in 2 stages:

  1. The unbound stage where the listitem is not currently connected to an item in the list. In that case, property_item() is not set.
  2. The bound stage where the listitem references an item from the list. property_item() is set.
See also
Gtk::ListView, Gio::ListModel
Since gtkmm 3.98:

Constructor & Destructor Documentation

◆ ListItem()

Gtk::ListItem::ListItem ( ListItem &&  src)
noexcept

◆ ~ListItem()

Gtk::ListItem::~ListItem ( )
overridenoexcept

Member Function Documentation

◆ get_accessible_description()

Glib::ustring Gtk::ListItem::get_accessible_description ( ) const

Gets the accessible description of self.

Since gtkmm 4.12:
Returns
The accessible description.

◆ get_accessible_label()

Glib::ustring Gtk::ListItem::get_accessible_label ( ) const

Gets the accessible label of self.

Since gtkmm 4.12:
Returns
The accessible label.

◆ get_activatable()

bool Gtk::ListItem::get_activatable ( ) const

Checks if a list item has been set to be activatable via set_activatable().

Returns
true if the item is activatable.

◆ get_child() [1/2]

Widget * Gtk::ListItem::get_child ( )

Gets the child previously set via set_child() or nullptr if none was set.

Returns
The child.

◆ get_child() [2/2]

const Widget * Gtk::ListItem::get_child ( ) const

Gets the child previously set via set_child() or nullptr if none was set.

Returns
The child.

◆ get_focusable()

bool Gtk::ListItem::get_focusable ( ) const

Checks if a list item has been set to be focusable via set_focusable().

Since gtkmm 4.12:
Returns
true if the item is focusable.

◆ get_item() [1/2]

Glib::RefPtr< Glib::ObjectBase > Gtk::ListItem::get_item ( )

Gets the model item that associated with self.

If self is unbound, this function returns nullptr.

Returns
The item displayed.

◆ get_item() [2/2]

Glib::RefPtr< const Glib::ObjectBase > Gtk::ListItem::get_item ( ) const

Gets the model item that associated with self.

If self is unbound, this function returns nullptr.

Returns
The item displayed.

◆ get_position()

guint Gtk::ListItem::get_position ( ) const

Gets the position in the model that self currently displays.

If self is unbound, GTK_INVALID_LIST_POSITION is returned.

Returns
The position of this item.

◆ get_selectable()

bool Gtk::ListItem::get_selectable ( ) const

Checks if a list item has been set to be selectable via set_selectable().

Do not confuse this function with get_selected().

Returns
true if the item is selectable.

◆ get_selected()

bool Gtk::ListItem::get_selected ( ) const

Checks if the item is displayed as selected.

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

Returns
true if the item is selected.

◆ get_type()

static GType Gtk::ListItem::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

GtkListItem * Gtk::ListItem::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GtkListItem * Gtk::ListItem::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GtkListItem * Gtk::ListItem::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

◆ gtk_set_accessible_description()

void Gtk::ListItem::gtk_set_accessible_description ( const Glib::ustring &  description)

Sets the accessible description for the list item, which may be used by e.g. screen readers.

Since gtkmm 4.12:
Parameters
descriptionThe description.

◆ gtk_set_accessible_label()

void Gtk::ListItem::gtk_set_accessible_label ( const Glib::ustring &  label)

Sets the accessible label for the list item, which may be used by e.g. screen readers.

Since gtkmm 4.12:
Parameters
labelThe label.

◆ operator=()

ListItem & Gtk::ListItem::operator= ( ListItem &&  src)
noexcept

◆ property_accessible_description() [1/2]

Glib::PropertyProxy< Glib::ustring > Gtk::ListItem::property_accessible_description ( )

The accessible description to set on the list item.

Since gtkmm 4.12:

Default value: ""

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_accessible_description() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::ListItem::property_accessible_description ( ) const

The accessible description to set on the list item.

Since gtkmm 4.12:

Default value: ""

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_accessible_label() [1/2]

Glib::PropertyProxy< Glib::ustring > Gtk::ListItem::property_accessible_label ( )

The accessible label to set on the list item.

Since gtkmm 4.12:

Default value: ""

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_accessible_label() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::ListItem::property_accessible_label ( ) const

The accessible label to set on the list item.

Since gtkmm 4.12:

Default value: ""

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_activatable() [1/2]

Glib::PropertyProxy< bool > Gtk::ListItem::property_activatable ( )

If the item can be activated by the user.

Default value: true

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_activatable() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::ListItem::property_activatable ( ) const

If the item can be activated by the user.

Default value: true

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_child() [1/2]

Glib::PropertyProxy< Widget * > Gtk::ListItem::property_child ( )

Widget used for display.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_child() [2/2]

Glib::PropertyProxy_ReadOnly< Widget * > Gtk::ListItem::property_child ( ) const

Widget used for display.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_focusable() [1/2]

Glib::PropertyProxy< bool > Gtk::ListItem::property_focusable ( )

If the item can be focused with the keyboard.

Since gtkmm 4.12:

Default value: true

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_focusable() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::ListItem::property_focusable ( ) const

If the item can be focused with the keyboard.

Since gtkmm 4.12:

Default value: true

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_item()

Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Glib::ObjectBase > > Gtk::ListItem::property_item ( ) const

Displayed item.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_position()

Glib::PropertyProxy_ReadOnly< guint > Gtk::ListItem::property_position ( ) const

Position of the item.

Default value: 4294967295

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_selectable() [1/2]

Glib::PropertyProxy< bool > Gtk::ListItem::property_selectable ( )

If the item can be selected by the user.

Default value: true

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_selectable() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::ListItem::property_selectable ( ) const

If the item can be selected by the user.

Default value: true

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_selected()

Glib::PropertyProxy_ReadOnly< bool > Gtk::ListItem::property_selected ( ) const

If the item is currently selected.

Default value: false

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ set_activatable()

void Gtk::ListItem::set_activatable ( bool  activatable = true)

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::signal_activate() signal.

By default, list items are activatable.

Parameters
activatableIf the item should be activatable.

◆ set_child()

void Gtk::ListItem::set_child ( Widget child)

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.

Parameters
childThe list item's child or nullptr to unset.

◆ set_focusable()

void Gtk::ListItem::set_focusable ( bool  focusable = true)

Sets self to be focusable.

If an item is focusable, it can be focused using the keyboard. This works similar to Gtk::Widget::set_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, list items are focusable.

Since gtkmm 4.12:
Parameters
focusableIf the item should be focusable.

◆ set_selectable()

void Gtk::ListItem::set_selectable ( bool  selectable = true)

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, list items are selectable. When rebinding them to a new item, they will also be reset to be selectable by GTK.

Parameters
selectableIf the item should be selectable.

◆ unset_child()

void Gtk::ListItem::unset_child ( )

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gtk::ListItem > wrap ( GtkListItem *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.