Next: Sample Applications, Previous: Argument Conversion, Up: Tutorial [Contents][Index]
GObject is GLib’s class system. It provides many of the facilities one would expect for object-oriented programming in the context of GUIs.
For each custom GObject type, Guile-GI creates a variable that holds
the GOOPS type. That variable has the form <TYPE>
,
where TYPE is the GObject type name. To check whether an object
has a given type, use the is-a?
procedure found in GOOPS, which
Guile-GI re-exports.
(use-modules (gi)) (use-typelibs ("GObject" "2.0") ("Gio" "2.0")) (is-a? (make <GApplication>) <GObject>) ;; => #t
Each GObject struct, union, or object has a place in the GObject
single-inheritance class structure. A RadioButton
is a type of
Button
is a type of Widget
, for example.
The native pointer is “hidden” inside a slot of the object. If you need to access it, see Compatibility.