From: espen Date: Tue, 20 Nov 2001 18:25:53 +0000 (+0000) Subject: Changes in widget initialization X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/commitdiff_plain/0f2634d21adfe672833024f98bdc4095b759113c?hp=d67f8348100c77f08d37961cf8e21c1df2a3745b Changes in widget initialization --- diff --git a/gtk/gtkcontainer.lisp b/gtk/gtkcontainer.lisp index 10ab538..073dd36 100644 --- a/gtk/gtkcontainer.lisp +++ b/gtk/gtkcontainer.lisp @@ -15,11 +15,11 @@ ;; License along with this library; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -;; $Id: gtkcontainer.lisp,v 1.5 2001-10-25 08:16:17 espen Exp $ +;; $Id: gtkcontainer.lisp,v 1.6 2001-11-20 18:25:53 espen Exp $ (in-package "GTK") - -(defmethod initialize-instance ((container container) &rest initargs) + +(defmethod shared-initialize ((container container) names &rest initargs) (call-next-method) (dolist (child (get-all initargs :child)) (apply #'container-add container (mklist child)))) diff --git a/gtk/gtkwidget.lisp b/gtk/gtkwidget.lisp index d9bdc1a..920fae1 100644 --- a/gtk/gtkwidget.lisp +++ b/gtk/gtkwidget.lisp @@ -15,22 +15,25 @@ ;; License along with this library; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -;; $Id: gtkwidget.lisp,v 1.5 2001-10-21 23:22:04 espen Exp $ +;; $Id: gtkwidget.lisp,v 1.6 2001-11-20 18:25:53 espen Exp $ (in-package "GTK") -(defmethod initialize-instance ((widget widget) &rest initargs &key parent) - (declare (ignore initargs)) +(defmethod shared-initialize ((widget widget) names &rest initargs &key parent) + (declare (ignore initargs names)) (call-next-method) (when parent - (let ((parent-widget (first (mklist parent))) + (let ((old-parent (widget-parent widget)) + (parent-widget (first (mklist parent))) (args (rest (mklist parent)))) + (when old-parent + (container-remove old-parent widget)) (apply #'container-add parent-widget widget args)))) -(defmethod initialize-instance :after ((widget widget) &rest initargs - &key show-all) - (declare (ignore initargs)) +(defmethod shared-initialize :after ((widget widget) names &rest initargs + &key show-all) + (declare (ignore initargs names)) (when show-all (widget-show-all widget)))