gtkmm 4.23.2
Gtk::EnumList< T > Class Template Reference

A Gio::ListModel representing values of a given enum. More...

#include <gtkmm/enumlist.h>

Inheritance diagram for Gtk::EnumList< T >:

Public Member Functions

unsigned int find (T value) const
 Finds the position of a given enum value in this EnumList.
Public Member Functions inherited from Gtk::EnumListBase
 EnumListBase (EnumListBase && src) noexcept
EnumListBaseoperator= (EnumListBase && src) noexcept
 ~EnumListBase () noexcept override
GtkEnumList * gobj ()
 Provides access to the underlying C GObject.
const GtkEnumList * gobj () const
 Provides access to the underlying C GObject.
GtkEnumList * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
GType get_enum_type () const
 Gets the type of the enum represented by self.
unsigned int find (int value) const
 Finds the position of a given enum value in this EnumListBase.
Glib::RefPtr< EnumListItemget_item (unsigned int position)
 Get the item at position.
Glib::RefPtr< const EnumListItemget_item (unsigned int position) const
 Get the item at position.
Glib::PropertyProxy_ReadOnly< GType > property_enum_type () const
 The type of the enum represented by the model.
Glib::PropertyProxy_ReadOnly< GType > property_item_type () const
 The type of the items.
Glib::PropertyProxy_ReadOnly< unsigned int > property_n_items () const
 The number of items.

Static Public Member Functions

static Glib::RefPtr< EnumListcreate ()
 Creates a new Gtk::EnumList<T> for enums to type T.
Static Public Member Functions inherited from Gtk::EnumListBase
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system.
static Glib::RefPtr< EnumListBasecreate (GType enum_type)
 Creates a new Gtk::EnumListBase for enum_type.

Protected Member Functions

 EnumList ()
Protected Member Functions inherited from Gtk::EnumListBase
 EnumListBase (GType enum_type)

Additional Inherited Members

Detailed Description

template<typename T>
class Gtk::EnumList< T >

A Gio::ListModel representing values of a given enum.

Gtk::EnumList contains items of type Gtk::EnumListItem.

A simple way to use a Gtk::EnumList is to populate a Gtk::DropDown widget using the short name (or "nick") of the values of an enumeration type:

Glib::RefPtr<Gtk::EnumList<Gtk::Justification>> enum_list =
Glib::RefPtr<Gtk::PropertyExpression> expression =
Gtk::DropDown* drop_down = Gtk::make_managed<Gtk::DropDown>(enum_list, expression);
Choose an item from a list.
Definition dropdown.h:74
static GType get_type()
Get the GType for this class, for use with the underlying GObject type system.
static Glib::RefPtr< EnumList > create()
Creates a new Gtk::EnumList<T> for enums to type T.
Definition enumlist.h:286
static Glib::RefPtr< PropertyExpression > create(GType this_type, const Glib::ustring &property_name)
Creates an expression that looks up a property via the this argument.
auto make_managed(T_Args &&... args)
Create a Gtk::Object such as a widget and Gtk::manage() it in a single step.
Definition object.h:67

All variables in the code snippet can be declared auto. The full types are shown to make it clear what they are.

See also
Gio::ListModel, Gtk::EnumListItem
Since gtkmm 4.24
Template Parameters
TType of an enum which has been registered in GLib's GType system. It can't be a flags type (such as Gtk::StateFlags).

Constructor & Destructor Documentation

◆ EnumList()

template <typename T>
Gtk::EnumList< T >::EnumList ( )
protected

Member Function Documentation

◆ create()

template <typename T>
Glib::RefPtr< EnumList< T > > Gtk::EnumList< T >::create ( )
static

Creates a new Gtk::EnumList<T> for enums to type T.

Since gtkmm 4.24
Returns
The newly created Gtk::EnumList<T>.

◆ find()

template <typename T>
unsigned int Gtk::EnumList< T >::find ( T value) const

Finds the position of a given enum value in this EnumList.

If the value is not found, GTK_INVALID_LIST_POSITION is returned.

Since gtkmm 4.24
Parameters
valueAn enum value.
Returns
The position of the value.