chiark
/
gitweb
/
~mdw
/
clg
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added *REENTRANT-MAIN-ITERATION* to control if MAIN-ITERATE-ALL can be
[clg]
/
gtk
/
gtkcontainer.lisp
diff --git
a/gtk/gtkcontainer.lisp
b/gtk/gtkcontainer.lisp
index 9f810b5ed6c34d5705f9f9d615a7f99b6da4306e..8cb62b7d5cb4e6a5cde6f6fc82f1e5912befbc9c 100644
(file)
--- a/
gtk/gtkcontainer.lisp
+++ b/
gtk/gtkcontainer.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.
;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: gtkcontainer.lisp,v 1.2
3 2007/01/14 23:18:17
espen Exp $
+;; $Id: gtkcontainer.lisp,v 1.2
4 2007/07/04 14:24:54
espen Exp $
(in-package "GTK")
(in-package "GTK")
@@
-79,15
+79,19
@@
(defbinding %container-add () nil
(container container)
(widget widget))
(container container)
(widget widget))
-(defmethod container-add ((container container) (widget widget) &rest args)
- (%container-add container widget)
+(defun init-child-slots (container child args)
(when args
(setf
(when args
(setf
- (slot-value
widget
'child-properties)
+ (slot-value
child
'child-properties)
(apply
#'make-instance
(gethash (class-of container) *container-to-child-class-mappings*)
(apply
#'make-instance
(gethash (class-of container) *container-to-child-class-mappings*)
- :parent container :child widget args))))
+ :parent container :child child args))))
+
+(defmethod container-add ((container container) (widget widget) &rest args)
+ (%container-add container widget)
+ (init-child-slots container widget args)
+ widget)
(defmethod container-add ((container container) (widgets list) &rest args)
(dolist (widget widgets)
(defmethod container-add ((container container) (widgets list) &rest args)
(dolist (widget widgets)