GtkPageSetupUnixDialog and GtkPrintUnixDialog objects added with their properties.
[cl-gtk2.git] / doc / hello.lisp
1 (defpackage :gtk-hello
2   (:use :cl :gtk :gobject :glib)
3   (:export :run))
4
5 (in-package :gtk-hello)
6
7 (defun run ()
8   (let ((output *standard-output*))
9     (with-main-loop
10         (let ((window (make-instance 'gtk-window
11                                      :type :toplevel
12                                      :window-position :center
13                                      :title "Hello world!"
14                                      :default-width 300
15                                      :default-height 100))
16               (button (make-instance 'button :label "Hello, world!"))
17               (counter 0))
18           (g-signal-connect button "clicked"
19                             (lambda (b)
20                               (declare (ignore b))
21                               (format output "Hello, world!~%")
22                               (setf (button-label button)
23                                     (format nil
24                                             "Hello, world! (clicked ~D times)"
25                                             (incf counter)))))
26           (container-add window button)
27           (widget-show window :all t)))))