X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/4f076d2d5c6c592cd7304c7028a6bd257522f7ca..51238f5257f83e3e1b93a89d54f70bc3fda5853a:/gtk/gtkobject.lisp diff --git a/gtk/gtkobject.lisp b/gtk/gtkobject.lisp index 0b7623f..1c8421f 100644 --- a/gtk/gtkobject.lisp +++ b/gtk/gtkobject.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: gtkobject.lisp,v 1.40 2007/03/12 12:59:22 espen Exp $ +;; $Id: gtkobject.lisp,v 1.41 2007/05/10 20:13:42 espen Exp $ (in-package "GTK") @@ -238,4 +238,10 @@ (defclass ,child-class (,(default-container-child-name super)) (defun container-child-class (container-class) (gethash container-class *container-to-child-class-mappings*)) -(register-derivable-type 'container "GtkContainer" 'expand-container-type 'gobject-dependencies) +(defun container-dependencies (type options) + (delete-duplicates + (append + (gobject-dependencies type options) + (mapcar #'param-value-type (query-container-class-child-properties type))))) + +(register-derivable-type 'container "GtkContainer" 'expand-container-type 'container-dependencies)