Renamed ASDF systems {gtk,gdk,glib} to clgtk2-{gtk,gdk,glib}
[cl-gtk2.git] / gtk / gtk.demo.lisp
index 8c52342..32410e7 100644 (file)
@@ -1,5 +1,5 @@
 (defpackage :gtk-demo
-  (:use :cl :gtk :gdk :gobject :anaphora :iter)
+  (:use :cl :gtk :gdk :gobject :iter)
   (:export #:test
            #:test-entry
            #:table-packing
@@ -12,7 +12,6 @@
            #:demo-code-editor
            #:test-treeview-list
            #:test-combo-box
-           #:test-toolbar
            #:test-ui-manager
            #:test-color-button
            #:test-color-selection
@@ -27,7 +26,7 @@
 
 (in-package :gtk-demo)
 
-(defparameter *src-location* (asdf:component-pathname (asdf:find-system :gtk)))
+(defparameter *src-location* (asdf:component-pathname (asdf:find-system :clgtk2-gtk)))
 
 (defun test ()
   (within-main-loop
             (for action = (make-instance 'action :name name :stock-id stock-id))
             (g-signal-connect action "activate" fn)
             (action-group-add-action action-group action))
-      (awhen (ui-manager-widget ui-manager "/toolbar1")
-        (container-add window it))
+      (let ((widget (ui-manager-widget ui-manager "/toolbar1")))
+        (when widget
+          (container-add window widget)))
       (widget-show window))))
 
 (defun test-color-button ()
       (iter (for i from 0 to 5)
             (for page = (make-instance 'label :label (format nil "Label for page ~A" i)))
             (for tab-label = (make-instance 'label :label (format nil "Tab ~A" i)))
-            (for tab-button = (make-instance 'button :use-stock t :label "gtk-close" :relief :none))
+            (for tab-button = (make-instance 'button
+                                             :image (make-instance 'image :stock "gtk-close" :icon-size 1)
+                                             :relief :none))
+            (g-signal-connect tab-button "clicked"
+                              (let ((page page))
+                                (lambda (button)
+                                  (declare (ignore button))
+                                  (format t "Removing page ~A~%" page)
+                                  (notebook-remove-page notebook page))))
             (for tab-hbox = (make-instance 'h-box))
             (box-pack-start tab-hbox tab-label)
             (box-pack-start tab-hbox tab-button)
 
 (defun demo-text-editor ()
   (within-main-loop
-    (let* ((builder (aprog1 (make-instance 'builder)
-                      (builder-add-from-file it (namestring (merge-pathnames "demo/text-editor.ui" *src-location*)))))
+    (let* ((builder (let ((builder (make-instance 'builder)))
+                      (builder-add-from-file builder (namestring (merge-pathnames "demo/text-editor.ui" *src-location*)))
+                      builder))
            (window (builder-get-object builder "window1"))
            (text-view (builder-get-object builder "textview1"))
            (status-bar (builder-get-object builder "statusbar1"))