X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fgobject.package.lisp;h=b02a772d9830bc588d8fb51e8fe63a64309b7b01;hb=af90ac5cff9dbb5f44677cc4726eee60ab88bc5d;hp=32274879df0695d699074242076e8f6231c3b546;hpb=cd440c2da2459c9458201828d3f2ccdbf114e4f8;p=cl-gtk2.git diff --git a/glib/gobject.package.lisp b/glib/gobject.package.lisp index 3227487..b02a772 100644 --- a/glib/gobject.package.lisp +++ b/glib/gobject.package.lisp @@ -1,10 +1,7 @@ (defpackage :gobject (:use :cl :glib :cffi :tg :bordeaux-threads :iter :closer-mop) (:export #:g-object - #:register-object-type - #:g-object-call-constructor - #:register-flags-type - #:register-enum-type + #:pointer #:g-type-from-object #:g-type-name #:g-type-from-name @@ -17,8 +14,7 @@ #:define-g-flags #:fixed-array #:g-boxed-inline - #:g-boxed-ptr - #:boxed-c-structure-name + #:g-boxed-ptr #:define-g-interface #:release #:using @@ -31,7 +27,6 @@ #:with-stable-pointer #:release* #:disown-boxed-ref - #:pointer #:g-type-interface #:g-value #:register-object-type-implementation @@ -43,7 +38,6 @@ #:emit-signal #:g-value-unset #:g-value-zero - #:g-value-take-boxed #:g-value-init #:g-class-property-definition #:g-class-property-definition-name @@ -62,7 +56,35 @@ #:g-type-class-unref #:registered-object-type-by-name #:g-type-children - #:g-signal-lookup)) + #:g-signal-lookup + #:g-type-parent + #:connect-signal + #:boxed-c-structure-name) + (:documentation +"This package contains bindings to GLib object system called GObject. + +It contains: +@begin{itemize} +@item{type system} +@item{object system} +@item{utilities for memory management} +@end{itemize} + +@begin[GObject type system querying]{section} +GObject type information can queried. Type is identified by GType — an integer. + +Function @fun{g-type-from-name} returns GType by its name, and function @fun{g-type-name} returns the name of a GType. Function @fun{ensure-g-type} is a convenience function that returns GType from either GType or its name. + +Functions @fun{g-type-parent} and @fun{g-type-children} inspect type hierarchy. +@end{section} + +@begin[GValue]{section} +GValue is a GObject's \"variant\"-like type. It can contain value of any type that GObject supports. The GValue is used for passing parameters to signal handlers, properties' getters and setters. Functions @fun{g-value-init}, @fun{g-value-unset}, @fun{g-value-zero}, @fun{parse-gvalue} and @fun{set-g-value} are used to init, reset, retrieve and assign GValue structures. +@end{section} + +@begin[Utilities]{section} +GObject contains implementation of stable pointers. Stable pointer is a reference that can be passed between FFI boundaries. Stable pointer is an integer that is allocated with @fun{allocate-stable-pointer}. This integer can be passed to other code and back. The value of this pointer (that is retrieved with @fun{get-stable-pointer-value}) is stable, staying the same until the pointer is freed with @fun{free-stable-pointer}. For convenience, @fun{with-stable-pointer} macro is provided. +@end{section}")) (in-package :gobject)