X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fgobject.type-info.object.lisp;h=27b7db06ab79370b3ed05085733c768de0433f16;hb=eee03aae86b30336ec34b468624e07adf2592b5e;hp=1637b017ae41ae1eaa4e7420182d23c43018c034;hpb=afef4514bd3b67114bc3f62c3109b14a4334142b;p=cl-gtk2.git diff --git a/glib/gobject.type-info.object.lisp b/glib/gobject.type-info.object.lisp index 1637b01..27b7db0 100644 --- a/glib/gobject.type-info.object.lisp +++ b/glib/gobject.type-info.object.lisp @@ -1,4 +1,4 @@ -(in-package :gobject.type-info) +(in-package :gobject) (defstruct g-class-property-definition "Structure describing property of a GObject class. @@ -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}"