anchor.diff:  ;; 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: testgtk.lisp,v 1.19 2005-02-26 10:44:11 espen Exp $
  +;; $Id: testgtk.lisp,v 1.20 2005-02-27 12:44:07 espen Exp $
   
   
   ;(use-package "GTK")
  
positive.code: 
  ;;; Shapes
  
  ;; (defun shape-create-icon (xpm-file x y px py type root-window destroy)
  ;;   (let* ((window
  ;; 	  (make-instance 'window
  ;; 	   :type type :x x :y y
  ;; 	   :events '(:button-motion :pointer-motion-hint :button-press)))
  ;; 	 (fixed
  ;; 	  (make-instance 'fixed
  ;; 	   :parent window :width 100 :height 100)))
        
  ;;     (widget-realize window)
  ;;     (multiple-value-bind (source mask) nil ;(gdk:pixmap-create xpm-file)
  ;;       (let ((pixmap (pixmap-new source mask))
  ;; 	    (x-offset 0)
  ;; 	    (y-offset 0))
  ;; 	(declare (fixnum x-offset y-offset))
  ;; 	(fixed-put fixed pixmap px py)
  ;; 	(widget-shape-combine-mask window mask px py)
  	
  ;; 	(signal-connect window 'button-press-event
  ;; 	 #'(lambda (event)
  ;; 	     (when (typep event 'gdk:button-press-event)
  ;; 	       (setq x-offset (truncate (gdk:event-x event)))
  ;; 	       (setq y-offset (truncate (gdk:event-y event)))
  ;; 	       (grab-add window)
  ;; 	       (gdk:pointer-grab
  ;; 		(widget-window window) t
  ;; 		'(:button-release :button-motion :pointer-motion-hint)
  ;; 		nil nil 0))
  ;; 	     t))
  
  ;; 	(signal-connect window 'button-release-event
  ;; 	 #'(lambda (event)
  ;; 	     (declare (ignore event))
  ;; 	     (grab-remove window)
  ;; 	     (gdk:pointer-ungrab 0)
  ;; 	     t))
  	
  ;; 	(signal-connect window 'motion-notify-event
  ;; 	 #'(lambda (event)
  ;; 	     (declare (ignore event))
  ;; 	     (multiple-value-bind (win xp yp mask)
  ;; 		 (gdk:window-get-pointer root-window)
  ;; 	       (declare (ignore mask win) (fixnum xp yp))
  ;; 	       (widget-set-uposition
  ;; 		window :x (- xp x-offset) :y (- yp y-offset)))
  ;; 	     t))
  ;; 	(signal-connect window 'destroy destroy)))
      
  ;;     (widget-show-all window)
  ;;     window))
  
  
  ;; (let ((modeller nil)
  ;;       (sheets nil)
  ;;       (rings nil))
  ;;   (defun create-shapes ()
  ;;     (let ((root-window (gdk:get-root-window)))
  ;;       (if (not modeller)
  ;; 	  (setq
  ;; 	   modeller
  ;; 	   (shape-create-icon
  ;; 	    "clg:examples;Modeller.xpm" 440 140 0 0 :popup root-window
  ;; 	    #'(lambda () (widget-destroyed modeller))))
  ;; 	(widget-destroy modeller))
  
  ;;       (if (not sheets)
  ;; 	  (setq
  ;; 	   sheets
  ;; 	   (shape-create-icon
  ;; 	    "clg:examples;FilesQueue.xpm" 580 170 0 0 :popup root-window
  ;; 	    #'(lambda () (widget-destroyed sheets))))
  ;; 	(widget-destroy sheets))
  
  ;;       (if (not rings)
  ;; 	  (setq
  ;; 	   rings
  ;; 	   (shape-create-icon
  ;; 	    "clg:examples;3DRings.xpm" 460 270 25 25 :toplevel root-window
  ;; 	    #'(lambda () (widget-destroyed rings))))
  ;; 	(widget-destroy rings)))))
  
  
  
  
negative.code: ;; 	    ("saved position")
   	    ("scrolled windows" create-scrolled-windows)
  	    ("size group" create-size-group)
   	    ("shapes" create-shapes)
   	    ("spinbutton" create-spins)
   	    ("statusbar" create-statusbar)
   	    ("test idle" create-idle-test)
  