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.
Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
Objectoperator= (const Object &)=delete
 Object (Object &&src) noexcept
Objectoperator= (Object &&src) noexcept
void * get_data (const QueryQuark &key)
void set_data (const Quark &key, void *data)
void set_data_with_c_callback (const Quark &key, void *data, GDestroyNotify notify)
void set_data (const Quark &key, void *data, DestroyNotify notify)
void remove_data (const QueryQuark &quark)
void * steal_data (const QueryQuark &quark)
Glib::RefPtr< Glib::Objectwrap (GObject *object, bool take_copy=false)
Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
ObjectBaseoperator= (const ObjectBase &)=delete
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void set_property (const Glib::ustring &property_name, const PropertyType &value)
void get_property (const Glib::ustring &property_name, PropertyType &value) const
PropertyType get_property (const Glib::ustring &property_name) const
sigc::connection connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
sigc::connection connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
void freeze_notify ()
void thaw_notify ()
virtual void reference () const
virtual void unreference () const
GObject * gobj ()
const GObject * gobj () const
GObject * gobj_copy () const
Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 trackable (const trackable &src) noexcept
 trackable (trackable &&src) noexcept
 ~trackable ()
void add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
void notify_callbacks ()
trackableoperator= (const trackable &src)
trackableoperator= (trackable &&src) noexcept
void remove_destroy_notify_callback (notifiable *data) const
Public Member Functions inherited from Gio::ListModel
 ListModel (ListModel &&src) noexcept
ListModeloperator= (ListModel &&src) noexcept
 ~ListModel () noexcept override
GListModel * gobj ()
const GListModel * gobj () const
GType get_item_type () const
guint get_n_items () const
Glib::RefPtr< Glib::ObjectBaseget_object (guint position)
Glib::RefPtr< const Glib::ObjectBaseget_object (guint position) const
Glib::RefPtr< T_item > get_typed_object (guint position)
Glib::RefPtr< const T_item > get_typed_object (guint position) const
Glib::SignalProxy< void(guint, guint, guint)> signal_items_changed ()
Glib::RefPtr< Gio::ListModelwrap (GListModel *object, bool take_copy=false)
Public Member Functions inherited from Glib::Interface
 Interface ()
 Interface (Interface &&src) noexcept
Interfaceoperator= (Interface &&src) noexcept
 Interface (const Glib::Interface_Class &interface_class)
 Interface (GObject *castitem)
 ~Interface () noexcept override
 Interface (const Interface &)=delete
Interfaceoperator= (const Interface &)=delete
GObject * gobj ()
const GObject * gobj () const

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.
Static Public Member Functions inherited from Gio::ListModel
static void add_interface (GType gtype_implementer)
static GType get_type ()

Protected Member Functions

 EnumListBase (GType enum_type)
Protected Member Functions inherited from Glib::Object
 Object ()
 Object (const Glib::ConstructParams &construct_params)
 Object (GObject *castitem)
 ~Object () noexcept override
Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 ObjectBase (const char *custom_type_name)
 ObjectBase (const std::type_info &custom_type_info)
 ObjectBase (ObjectBase &&src) noexcept
ObjectBaseoperator= (ObjectBase &&src) noexcept
virtual ~ObjectBase () noexcept=0
void initialize (GObject *castitem)
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
Protected Member Functions inherited from Gio::ListModel
 ListModel ()
void items_changed (guint position, guint removed, guint added)
virtual GType get_item_type_vfunc ()
virtual guint get_n_items_vfunc ()
virtual gpointer get_item_vfunc (guint position)

(Note that these are not member symbols.)

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

Additional Inherited Members

Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify func_destroy_notify

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
Gtk::DropDown* drop_down = Gtk::make_managed<Gtk::DropDown>(enum_list, expression);
static GType value_type()
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.
std::shared_ptr< T_CppObject > RefPtr
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.