X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gtk%2Fgtk.child-properties.lisp;h=ea930b0ec4cd394fa4c200eaa095206c6031dcb9;hb=804b4c8f24b3725eb90f29d7e6910b2598b68771;hp=ae825102b02bcacb662a608f91223e98582e55b7;hpb=2b25e733e8df272e93d56ac026c94dea698121fe;p=cl-gtk2.git diff --git a/gtk/gtk.child-properties.lisp b/gtk/gtk.child-properties.lisp index ae82510..ea930b0 100644 --- a/gtk/gtk.child-properties.lisp +++ b/gtk/gtk.child-properties.lisp @@ -12,6 +12,19 @@ (property-name :string) (value (:pointer g-value))) +(defcfun gtk-container-class-find-child-property :pointer + (class :pointer) + (property-name :string)) + +(defun container-child-property-info (type property-name) + (let ((class (g-type-class-ref type))) + (unwind-protect + (let ((g-param-spec (gtk-container-class-find-child-property class property-name))) + (parse-g-param-spec g-param-spec)) + (g-type-class-unref class)))) + +(export 'container-child-property-info) + (defun container-call-get-property (container child property-name type) (with-foreign-object (gvalue 'g-value) (g-value-unset gvalue) @@ -27,6 +40,8 @@ (g-value-unset gvalue) (values))) +(export '(container-call-get-property container-call-set-property)) + (defmacro define-child-property (container-type property-name property-gname property-type readable writable export) (when (stringp container-type) (setf container-type (registered-object-type-by-name container-type))) `(progn