From c56a43f28a86b1972dcde923318f856f75f65cd5 Mon Sep 17 00:00:00 2001 From: Dmitry Kalyanov Date: Sun, 12 Jul 2009 17:07:16 +0400 Subject: [PATCH] Fixed print-object for property-definition; add class-property-info function --- glib/gobject.type-info.object.lisp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/glib/gobject.type-info.object.lisp b/glib/gobject.type-info.object.lisp index 1637b01..0a3cfbc 100644 --- a/glib/gobject.type-info.object.lisp +++ b/glib/gobject.type-info.object.lisp @@ -27,7 +27,7 @@ See accessor functions: (call-next-method) (print-unreadable-object (instance stream) (format stream - "PROPERTY ~A ~A.~A (flags:~@[ readable~]~@[ writable~]~@[ constructor~]~@[ constructor-only~])" + "PROPERTY ~A ~A.~A (flags:~@[~* readable~]~@[~* writable~]~@[~* constructor~]~@[~* constructor-only~])" (g-class-property-definition-type instance) (g-class-property-definition-owner-type instance) (g-class-property-definition-name instance) @@ -92,6 +92,11 @@ See accessor functions: for param = (mem-aref params :pointer i) collect (parse-g-param-spec param)))))) +(defun class-property-info (g-type property-name) + (with-unwind (g-class (g-type-class-ref g-type) g-type-class-unref) + (let* ((param-spec (g-object-class-find-property g-class property-name))) + (when param-spec (parse-g-param-spec param-spec))))) + (defun interface-properties (g-type) "@return{list of properties of GObject interface @code{g-type}. Each property is described by an object of type @class{g-class-property-definition}.} @arg[g-type]{an integer or a string specifying the GType}" -- 1.7.10.4