QList<QWidget*>
Mon Jun 1 00:39:13 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* QList<QWidget*>
diff -rN -u old-qt.core/src/list.lisp new-qt.core/src/list.lisp
--- old-qt.core/src/list.lisp 2014-10-30 06:59:00.000000000 +0100
+++ new-qt.core/src/list.lisp 2014-10-30 06:59:00.000000000 +0100
@@ -27,10 +27,13 @@
(define-parse-method ,list-type ()
(make-instance ',list-type))
(eval-when (:load-toplevel :execute)
- (smoke::add-type ,(format nil "const QList<~A>&" type-name)
- ',list-type)
- (smoke::add-type ,(format nil "QList<~A>" type-name) ',list-type))
- (defmethod translate-from-foreign (list (type ,list-type))
+ ,@(loop for type-name in (ensure-list type-name) collect
+ `(smoke::add-type ,(format nil "const QList<~A>&" type-name)
+ ',list-type))
+ ,@(loop for type-name in (ensure-list type-name) collect
+ `(smoke::add-type ,(format nil "QList<~A>" type-name) ',list-type)))
+ ,@(loop for type-name in (ensure-list type-name) collect
+ `(defmethod translate-from-foreign (list (type ,list-type))
(let ((vector (make-array (,(symbolicate 'qt-smoke-list-
type '-size)
list))))
@@ -42,7 +45,7 @@
(,(symbolicate 'qt-smoke-list-
type '-at)
list index)
- (smoke::make-smoke-type *qt-smoke* ,type-name))))))
+ (smoke::make-smoke-type *qt-smoke* ,type-name)))))))
(defmethod free-translated-object (pointer (type ,list-type) param)
(declare (ignore param))
(,(symbolicate 'qt-smoke-free-list- type)
@@ -55,11 +58,12 @@
(smoke::make-cleanup-pointer
qlist
(function ,(symbolicate 'qt-smoke-free-list- type)))))
- (define-from-lisp-translation (,(format nil "const QList<~A>&" type-name)
+ ,@(loop for type-name in (ensure-list type-name) collect
+ `(define-from-lisp-translation (,(format nil "const QList<~A>&" type-name)
,(format nil "QLIst<~A>" type-name))
list ;; FIXME allow seqence and define element type
- ,(symbolicate 'coerce- list-type)))))
+ ,(symbolicate 'coerce- list-type))))))
(define-qlist-wrapper "QVariant")
-(define-qlist-wrapper "QObject*" "void")
+(define-qlist-wrapper ("QObject*" "QWidget*") "void")
(define-qlist-wrapper "QByteArray")