glibmm 2.82.0
|
A convenience class for named custom types. More...
#include <glibmm/extraclassinit.h>
Protected Member Functions | |
ExtraClassInit (GClassInitFunc class_init_func, void *class_data=nullptr, GInstanceInitFunc instance_init_func=nullptr) | |
Constructor. | |
Protected Member Functions inherited from Glib::ObjectBase | |
ObjectBase () | |
This default constructor is called implicitly from the constructor of user-derived classes, even if, for instance, Gtk::Button calls a different ObjectBase constructor. | |
ObjectBase (const char *custom_type_name) | |
A derived constructor always overrides this choice. | |
ObjectBase (const std::type_info &custom_type_info) | |
This constructor is a special feature to allow creation of derived types on the fly, without having to use g_object_new() manually. | |
ObjectBase (ObjectBase &&src) noexcept | |
ObjectBase & | operator= (ObjectBase &&src) noexcept |
virtual | ~ObjectBase () noexcept=0 |
void | initialize (GObject *castitem) |
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper) |
Additional Inherited Members | |
Public Member Functions inherited from Glib::ObjectBase | |
ObjectBase (const ObjectBase &)=delete | |
ObjectBase & | operator= (const ObjectBase &)=delete |
void | set_property_value (const Glib::ustring & property_name, const Glib::ValueBase & value) |
You probably want to use a specific property_*() accessor method instead. | |
void | get_property_value (const Glib::ustring & property_name, Glib::ValueBase & value) const |
You probably want to use a specific property_*() accessor method instead. | |
template<class PropertyType > | |
void | set_property (const Glib::ustring & property_name, const PropertyType & value) |
You probably want to use a specific property_*() accessor method instead. | |
template<class PropertyType > | |
void | get_property (const Glib::ustring & property_name, PropertyType & value) const |
You probably want to use a specific property_*() accessor method instead. | |
template<class PropertyType > | |
PropertyType | get_property (const Glib::ustring & property_name) const |
You probably want to use a specific property_*() accessor method instead. | |
sigc::connection | connect_property_changed (const Glib::ustring & property_name, const sigc::slot< void()> &slot) |
You can use the signal_changed() signal of the property proxy instead. | |
sigc::connection | connect_property_changed (const Glib::ustring & property_name, sigc::slot< void()> &&slot) |
You can use the signal_changed() signal of the property proxy instead. | |
void | freeze_notify () |
Increases the freeze count on object. | |
void | thaw_notify () |
Reverts the effect of a previous call to freeze_notify(). | |
virtual void | reference () const |
Increment the reference count for this object. | |
virtual void | unreference () const |
Decrement the reference count for this object. | |
GObject * | gobj () |
Provides access to the underlying C GObject. | |
const GObject * | gobj () const |
Provides access to the underlying C GObject. | |
GObject * | gobj_copy () const |
Give a ref-ed copy to someone. Use for direct struct access. | |
A convenience class for named custom types.
Use it if you need to add code to GType's class init function and/or need an instance init function. Example:
The callback functions (my_extra_class_init_function() and my_instance_init_function() in the example) are called from GLib (a C library). They shall have C linkage. (Many compilers accept callback functions with C++ linkage, but such a program has undefined behavior.)
If you want the functions with C linkage to have internal linkage, they must be declared 'static', even if they are defined in an anonymous namespace. The compiler respects namespace declarations of functions with C linkage, but the linker does not.
|
explicitprotected |
Constructor.
class_init_func | Pointer to an extra class init function. nullptr, if no extra class init function is needed. |
class_data | Class data pointer, passed to the class init function. Can be nullptr, if the class init function does not need it. |
instance_init_func | Pointer to an instance init function. nullptr, if no instance init function is needed. |