X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fgobject.package.lisp;h=b9be3e8d1e5b4b3cac1a55276e9b1015c633d023;hb=47427d9e824cf990bf88b4db8fdb205565062cd2;hp=02da4f61b6aa6db459655abb967b9da8fbe77809;hpb=d01e3ff246e5dc93fed685113803c4d92ffaa6ce;p=cl-gtk2.git diff --git a/glib/gobject.package.lisp b/glib/gobject.package.lisp index 02da4f6..b9be3e8 100644 --- a/glib/gobject.package.lisp +++ b/glib/gobject.package.lisp @@ -1,5 +1,5 @@ (defpackage :gobject - (:use :cl :glib :cffi :tg :bordeaux-threads :iter :closer-mop :gobject.ffi) + (:use :c2cl :glib :cffi :tg :bordeaux-threads :iter :closer-mop :gobject.ffi) (:export #:g-type #:g-type-string #:g-type-numeric @@ -78,7 +78,6 @@ #:g-initially-unowned #:define-g-enum #:*lisp-name-package* - #:define-g-boxed-class #:define-g-flags #:fixed-array #:g-boxed-inline @@ -87,7 +86,6 @@ #:release #:using #:using* - #:define-g-boxed-ref #:g-boxed-ref #:allocate-stable-pointer #:free-stable-pointer @@ -163,7 +161,6 @@ #:get-flags-items #:stable-pointer-value #:g-value-type - #:create-g-closure #:g-object-call-constructor #:g-object-call-get-property #:g-object-call-set-property @@ -177,7 +174,28 @@ #:get-g-class-definition #:*strip-prefix* #:*lisp-name-exceptions* - #:*additional-properties*) + #:*additional-properties* + #:g-type= + #:g-type/= + #:define-g-boxed-cstruct + #:define-g-boxed-opaque + #:g-boxed-opaque + #:g-boxed-opaque-pointer + #:define-g-boxed-variant-cstruct + #:g-boxed-foreign + #:boxed-related-symbols + #:define-boxed-opaque-accessor + #:glib-defcallback + #:create-signal-handler-closure + #:save-handler-to-object + #:retrieve-handler-from-object + #:delete-handler-from-object + #:disconnect-signal + #:define-cb-methods + #:create-fn-ref + #:copy-boxed-slots-to-foreign + #:with-foreign-boxed-array + #:get-g-type-definition) (:documentation "CL-GTK2-GOBJECT is a binding to GObject type system. For information on GObject, see its @a[http://library.gnome.org/devel/gobject/stable/]{documentation}. @@ -233,6 +251,15 @@ GObject uses GValues as a generic way to pass values. It is used when calling cl (defvar *gobject-debug* nil) -(defun debugf (&rest args) - (when *gobject-debug* - (apply 'format t args))) \ No newline at end of file +(defvar *debug-gc* nil) +(defvar *debug-subclass* nil) + +(defvar *debug-stream* t) + +(defmacro log-for (categories control-string &rest args) + (let ((vars (iter (for sym in (if (listp categories) categories (list categories))) + (collect (intern (format nil "*DEBUG-~A*" (symbol-name sym)) (find-package :gobject)))))) + `(progn + (when (or ,@vars) + (format *debug-stream* ,control-string ,@args)) + nil)))