`GObject` is the fundamental type providing the common attributes and methods for all object types in GTK, Pango and other libraries based on
GObject. The `GObject` class provides methods for object construction and destruction, property access methods, and signal support. Signals are
described in detail here.
For a tutorial on implementing a new `GObject` class, see [How to define and implement a new GObject](
tutorial.html#how-to-define-and-implement-a-new-gobject). For a list of naming conventions for GObjects and their methods, see the [GType
conventions](concepts.html#conventions). For the high-level concepts behind GObject, read [Instantiatable classed types: Objects](
concepts.html#instantiatable-classed-types-objects).
Since GLib 2.72, all `GObject`s are guaranteed to be aligned to at least the alignment of the largest basic GLib type (typically this is
`guint64` or `gdouble`). If you need larger alignment for an element in a `GObject`, you should allocate it on the heap (aligned), or arrange
for your `GObject` to be appropriately padded. This guarantee applies to the `GObject` (or derived) struct, the `GObjectClass` (or derived)
struct, and any private data allocated by `G_ADD_PRIVATE()`.
Increases the reference count of the object by one and sets a callback to be
called when all other references to the object are dropped, or when this is already the last reference to the object and another reference
is established.
Adds a weak reference from weak_pointer to this
to indicate that the pointer located at weak_pointer_location is only valid during the lifetime of
this.
Creates a binding between source_property on
this and target_property on target, allowing you to set the transformation
functions to be used by the binding.
Like g_object_set_data except it adds notification for when the
association is destroyed, either by setting it to a different value or when the object is destroyed.
This function works like g_object_set_qdata, but in addition, a
void (*destroy) (gpointer) function may be specified which is called with data as argument when the
this is finalized, or the data is being overwritten by a call to g_object_set_qdata with the
same quark.
This function gets back user data pointers stored via
g_object_set_qdata and removes the data from object without invoking its destroy function (if any was set
).