The
page-setup-unix-dialog widget implements a page setup dialog
for platforms which do not provide a native page setup dialog, like Unix.
Figure: GtkPageSetupUnixDialog
It can be used very much like any other GTK dialog, at the cost of the
portability offered by the high-level printing API.
Examples
(defun create-page-setup-dialog (&optional parent)
(let* ((path (sys-path "resource/page-setup.ini"))
(pagesetup (gtk:page-setup-new))
(dialog (gtk:page-setup-unix-dialog-new "Page Setup Dialog" parent)))
;; Connect a handler to the "response" signal
(g:signal-connect dialog "response"
(lambda (widget response)
(when (= -5 response)
(setf pagesetup
(gtk:page-setup-unix-dialog-page-setup dialog))
(gtk:page-setup-to-file pagesetup path))
(gtk:window-destroy widget)))
;; Load and set Page setup from file
(if (gtk:page-setup-load-file pagesetup path)
(format t "PAGE SETUP successfully loaded~%")
(format t "PAGE SETUP cannot be loaded, use standard settings~%"))
(setf (gtk:page-setup-unix-dialog-page-setup dialog) pagesetup)
;; Present dialog
(gtk:window-present dialog)))