chiark / gitweb /
Add a boundp-function slot, which is required by virtual slot getter.
[clg] / examples / testgtk.lisp
index 352d7238c3d6c28ca45f13d33e7f31f96986ca9e..514510d32a4c08f7e2e0a96cc950dfac9adfd6e1 100644 (file)
 ;; Parts of this file are direct translations of code from 'testgtk.c'
 ;; distributed with the Gtk+ library, and thus covered by the GNU
 ;; Lesser General Public License and copyright Peter Mattis, Spencer
-;; Kimball, Josh MacDonald and others.
+;; Kimball, Josh MacDonald and others. To be safe the entire file
+;; should probably be considered as being GPL'ed.
 
 
-;; $Id: testgtk.lisp,v 1.38 2007-01-11 10:05:59 espen Exp $
+;; $Id: testgtk.lisp,v 1.44 2008-12-09 19:37:19 espen Exp $
 
 #+sbcl(require :gtk)
 #+(or cmu clisp)(asdf:oos 'asdf:load-op :gtk)
@@ -537,14 +538,14 @@   (defun load-pixbufs ()
     (unless file-pixbuf
       (handler-case 
           (setf
-          file-pixbuf (gdk:pixbuf-load #p"/usr/share/icons/gnome/48x48/filesystems/gnome-fs-regular.png")
-          folder-pixbuf (gdk:pixbuf-load #p"/usr/share/icons/gnome/48x48/filesystems/gnome-fs-directory.png"))
+          file-pixbuf (gdk:pixbuf-load #p"clg:examples;gnome-fs-regular.png")
+          folder-pixbuf (gdk:pixbuf-load #p"clg:examples;gnome-fs-directory.png"))
        (glib:glib-error (condition)
          (make-instance 'message-dialog 
           :message-type :error :visible t
           :text "<b>Failed to load an image</b>" 
           :secondary-text (glib:gerror-message condition)
-          :signal (list :close #'widget-destroy :object t))
+          :signal (list :ok #'widget-destroy :object t))
          (return-from load-pixbufs nil))))
     t)
 
@@ -950,8 +951,8 @@ (defun create-notebook-page (notebook page-num book-closed)
        
 (define-simple-dialog create-notebook (dialog "Notebook")
   (let ((main (make-instance 'v-box :parent dialog)))
-    (let ((book-open (gdk:pixbuf-new-from-xpm-data book-open-xpm))
-         (book-closed (gdk:pixbuf-new-from-xpm-data book-closed-xpm))
+    (let ((book-open (make-instance 'gdk:pixbuf :source book-open-xpm))
+         (book-closed (make-instance 'gdk:pixbuf :source book-closed-xpm))
          (notebook (make-instance 'notebook 
                     :border-width 10 :tab-pos :top :parent main)))
 
@@ -1795,7 +1796,7 @@ (define-toplevel create-handle-box (window "Handle Box Test" :border-width 20)
    :child (create-label "Below")))
 
 
-;;; Tooltips test
+;;; Tooltips test. Note that GtkTooltips has been deprecated in GTK+ 2.12
 
 (define-simple-dialog create-tooltips (dialog "Tooltips" :default-width 200)
   (let ((tooltips (make-instance 'tooltips)))
@@ -1909,7 +1910,7 @@ (define-toplevel create-ui-manager (window "UI Manager")
 
 ;;; Main window
       
-(defun create-main-window ()
+(defun create-main-window (&optional display)
   (let* ((button-specs
          '(("button box" create-button-box)
            ("buttons" create-buttons)
@@ -1954,6 +1955,7 @@ (defun create-main-window ()
            ("UI manager" create-ui-manager)))
 
         (main-window (make-instance 'window
+                      :display display
                       :title "testgtk.lisp" :name "main_window"
                       :default-width 200 :default-height 400
                       :allow-grow t :allow-shrink nil))
@@ -1963,7 +1965,7 @@ (defun create-main-window ()
                           :border-width 10))
         (close-button (make-instance 'button 
                        :stock "gtk-close" :can-default t
-                       :signal (list 'clicked #'widget-destroy :object main-window)))) 
+                       :signal (list 'clicked #'widget-destroy :object main-window))))
 
     (let ((icon (gdk:pixbuf-load #p"clg:examples;gtk.png")))
       (setf 
@@ -2007,5 +2009,4 @@ (defun create-main-window ()
     main-window))
  
 (clg-init)
-(create-main-window)
-
+(within-main-loop (create-main-window))