gtkmm 4.23.2
Gtk::EnumListBase Class Reference

Base class of Gtk::EnumList. More...

#include <gtkmm/enumlist.h>

Inheritance diagram for Gtk::EnumListBase:

Public Member Functions

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

 EnumListBase (GType enum_type)

(Note that these are not member symbols.)

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

Detailed Description

Base class of Gtk::EnumList.

A Gio::ListModel representing values of a given enum. Usually it's easier to use the Gtk::EnumList<T> subclass.

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

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

GType enum_type = Glib::Value<Gtk::Justification>::value_type(); // an example
Glib::RefPtr<Gtk::EnumListBase> enum_list = Gtk::EnumListBase::create(enum_type);
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 Glib::RefPtr< EnumListBase > create(GType enum_type)
Creates a new Gtk::EnumListBase for enum_type.
static GType get_type()
Get the GType for this class, for use with the underlying GObject type system.
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

Constructor & Destructor Documentation

◆ EnumListBase() [1/2]

Gtk::EnumListBase::EnumListBase ( EnumListBase && src)
noexcept

◆ ~EnumListBase()

Gtk::EnumListBase::~EnumListBase ( )
overridenoexcept

◆ EnumListBase() [2/2]

Gtk::EnumListBase::EnumListBase ( GType enum_type)
explicitprotected

Member Function Documentation

◆ create()

Glib::RefPtr< EnumListBase > Gtk::EnumListBase::create ( GType enum_type)
static

Creates a new Gtk::EnumListBase for enum_type.

Since gtkmm 4.24
Parameters
enum_typeThe type of the enum to construct the model from. It can't be a flags type (such as Gtk::StateFlags).
Returns
The newly created Gtk::EnumListBase.

◆ find()

unsigned int Gtk::EnumListBase::find ( int value) const

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

If the value is not found, GTK_INVALID_LIST_POSITION is returned.

Since gtkmm 4.24
Parameters
valueAn enum value. If the enum is an enum class, use static_cast<int>(value) to cast the value to an int.
Returns
The position of the value.

◆ get_enum_type()

GType Gtk::EnumListBase::get_enum_type ( ) const

Gets the type of the enum represented by self.

Since gtkmm 4.24
Returns
The enum type.

◆ get_item() [1/2]

Glib::RefPtr< EnumListItem > Gtk::EnumListBase::get_item ( unsigned int position)

Get the item at position.

If position is greater than the number of items in this list, an empty RefPtr is returned.

Since gtkmm 4.24
Parameters
positionThe position of the item to fetch.
Returns
The item at position.

◆ get_item() [2/2]

Glib::RefPtr< const EnumListItem > Gtk::EnumListBase::get_item ( unsigned int position) const

Get the item at position.

If position is greater than the number of items in this list, an empty RefPtr is returned.

Since gtkmm 4.24
Parameters
positionThe position of the item to fetch.
Returns
The item at position.

◆ get_type()

GType Gtk::EnumListBase::get_type ( )
static

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

◆ gobj() [1/2]

GtkEnumList * Gtk::EnumListBase::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GtkEnumList * Gtk::EnumListBase::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GtkEnumList * Gtk::EnumListBase::gobj_copy ( )

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

◆ operator=()

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

◆ property_enum_type()

Glib::PropertyProxy_ReadOnly< GType > Gtk::EnumListBase::property_enum_type ( ) const

The type of the enum represented by the model.

Since gtkmm 4.24
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_type()

Glib::PropertyProxy_ReadOnly< GType > Gtk::EnumListBase::property_item_type ( ) const

The type of the items.

See Gio::ListModel::get_item_type().

Since gtkmm 4.24
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_n_items()

Glib::PropertyProxy_ReadOnly< unsigned int > Gtk::EnumListBase::property_n_items ( ) const

The number of items.

See Gio::ListModel::get_n_items().

Since gtkmm 4.24

Default value: 0

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

◆ wrap()

Glib::RefPtr< Gtk::EnumListBase > wrap ( GtkEnumList * 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.