;; 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.10 2004-11-06 21:39:58 espen Exp $
+;; $Id: gtkwidget.lisp,v 1.12 2004-12-20 00:53:48 espen Exp $
(in-package "GTK")
(prog1
(apply #'call-next-method widget names initargs)
(when parent
- (let ((old-parent (widget-parent widget))
- (parent (first (mklist parent)))
+ (when (slot-boundp widget 'parent)
+ (container-remove (widget-parent widget) widget))
+ (let ((parent-widget (first (mklist parent)))
(args (rest (mklist parent))))
- (when old-parent
- (container-remove old-parent widget))
- (apply #'container-add parent widget args)))))
+ (apply #'container-add parent-widget widget args)))))
(defmethod shared-initialize :after ((widget widget) names &rest initargs
- &key show-all)
+ &key show-all all-visible)
(declare (ignore initargs names))
- (when show-all
+ (when (or all-visible show-all)
(widget-show-all widget)))
(defbinding %widget-intersect () boolean
(widget widget)
(area gdk:rectangle)
- (intersection pointer))
-
+ (intersection (or null gdk:rectangle)))
(defun widget-intersection (widget area)
(let ((intersection (make-instance 'gdk:rectangle)))
intersection)))
(defun widget-intersect-p (widget area)
- (%widget-intersect widget area (make-pointer 0)))
+ (%widget-intersect widget area nil))
-(defbinding (widget-is-focus-p "gtk_widget_is_focus") () boolean
- (widget widget))
+;; (defbinding (widget-is-focus-p "gtk_widget_is_focus") () boolean
+;; (widget widget))
(defbinding widget-grab-focus () nil
(widget widget))
;;; Additional bindings and functions
-(defbinding widget-mapped-p () boolean
+(defbinding (widget-mapped-p "gtk_widget_mapped_p") () boolean
(widget widget))
(defbinding widget-get-size-allocation () nil
(event gdk:event))
(defun (setf widget-cursor) (cursor-type widget)
- (let ((cursor (make-instance 'cursor :type cursor-type)))
+ (let ((cursor (make-instance 'gdk:cursor :type cursor-type)))
(gdk:window-set-cursor (widget-window widget) cursor)))