Gtk::Object Class Reference

Gtk::Object is the base class for all widgets, and for a few non-widget objects such as Gtk::Adjustment. More...

`#include <gtkmm/object.h>`

Inheritance diagram for Gtk::Object:
[legend]

## Public Member Functions

| Object (Object&& src) noexcept
Object& | operator= (Object&& src) noexcept
virtual | ~Object () noexcept
GObject* | gobj ()
| Provides access to the underlying C GtkObject. More...
const GObject* | gobj () const
| Provides access to the underlying C GtkObject. More...
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
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::Object > | wrap (GObject *object, bool take_copy=false)
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)
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
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const 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 ()
| trackable (const trackable &src)
| trackable (trackable &&src) noexcept
| ~trackable ()
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src) noexcept
void | remove_destroy_notify_callback (void *data) const

## Additional Inherited Members

Public Types inherited from Glib::Object
typedef void(* | DestroyNotify) (gpointer data)
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
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
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)

## Detailed Description

Gtk::Object is the base class for all widgets, and for a few non-widget objects such as Gtk::Adjustment.

Gtk::Object predates Glib::Object; non-widgets that derive from Gtk::Object rather than Glib::Object do so for backward compatibility reasons.

The most interesting difference between Gtk::Object and Glib::Object is the ability to use Gtk::manage() to delegate memory management to the container widget. Gtk::Objects can also be explicitly deleted at any time, instead of using only reference-counting, and container widgets can respond when their child objects are being deleted (for instance by removing the widget).

## Constructor & Destructor Documentation

Gtk::Object::Object | ( | Object&& | src | ) |

noexcept

virtual Gtk::Object::~Object | ( |  | ) |

virtual noexcept

Reimplemented from Glib::Object.

## Member Function Documentation

GObject* Gtk::Object::gobj | ( |  | ) |

inline

Provides access to the underlying C GtkObject.

const GObject* Gtk::Object::gobj | ( |  | ) | const

inline

Provides access to the underlying C GtkObject.

Object& Gtk::Object::operator= | ( | Object&& | src | ) |

noexcept