(define-g-object-class g-type-name name
(&key (superclass 'g-object) (export t) interfaces type-initializer)
(&rest property*))
property ::= (name accessor gname type readable writable)
property ::= (:cffi name acessor type reader writer)
Parameters of define-g-object-class
class_get_type.
Parameters of property:
gobject-class metaclass for information.
gobject-class metaclass for information.
Macro that expands to defclass for specified class. Additionally, if export is true, it exports accessor names and name of a class.
Example:
(define-g-object-class "GtkContainer" container
(:superclass widget :export t :interfaces
("AtkImplementorIface" "GtkBuildable")
:type-initializer "gtk_container_get_type")
((border-width container-border-width "border-width" "guint" t t)
(resize-mode container-resize-mode "resize-mode" "GtkResizeMode" t t)
(child container-child "child" "GtkWidget" nil t)
(:cffi focus-child container-focus-child g-object "gtk_container_get_focus_child" "gtk_container_set_focus_child")
(:cffi focus-vadjustment container-focus-vadjustment (g-object adjustment) "gtk_container_get_focus_vadjustment" "gtk_container_set_focus_vadjustment")
(:cffi focus-hadjustment container-focus-hadjustment (g-object adjustment) "gtk_container_get_focus_hadjustment" "gtk_container_set_focus_hadjustment")))